From: "Martin J. Bligh" e1000_suspend is only used under #ifdef CONFIG_PM. Move the declaration of it to be the same way, just like e1000_resume, otherwise gcc whines on compile. I offer as evidence: static struct pci_driver e1000_driver = { .name = e1000_driver_name, .id_table = e1000_pci_tbl, .probe = e1000_probe, .remove = __devexit_p(e1000_remove), /* Power Managment Hooks */ #ifdef CONFIG_PM .suspend = e1000_suspend, .resume = e1000_resume #endif }; Cc: Jeff Garzik Signed-off-by: Andrew Morton --- drivers/net/e1000/e1000_main.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -puN drivers/net/e1000/e1000_main.c~remove-warning-about-e1000_suspend drivers/net/e1000/e1000_main.c --- devel/drivers/net/e1000/e1000_main.c~remove-warning-about-e1000_suspend 2005-08-08 21:52:47.000000000 -0700 +++ devel-akpm/drivers/net/e1000/e1000_main.c 2005-08-08 21:52:47.000000000 -0700 @@ -162,8 +162,8 @@ static void e1000_vlan_rx_add_vid(struct static void e1000_vlan_rx_kill_vid(struct net_device *netdev, uint16_t vid); static void e1000_restore_vlan(struct e1000_adapter *adapter); -static int e1000_suspend(struct pci_dev *pdev, uint32_t state); #ifdef CONFIG_PM +static int e1000_suspend(struct pci_dev *pdev, uint32_t state); static int e1000_resume(struct pci_dev *pdev); #endif @@ -3641,6 +3641,7 @@ e1000_set_spd_dplx(struct e1000_adapter return 0; } +#ifdef CONFIG_PM static int e1000_suspend(struct pci_dev *pdev, uint32_t state) { @@ -3733,7 +3734,6 @@ e1000_suspend(struct pci_dev *pdev, uint return 0; } -#ifdef CONFIG_PM static int e1000_resume(struct pci_dev *pdev) { _