From: Andrew Morton ia64 allmodconfig: drivers/net/e1000new/82540.c: In function `e1000_reset_hw_82540': drivers/net/e1000new/82540.c:281: error: implicit declaration of function `msleep' And no, I refuse to partake in that include-the-whole-world-in-our-header-file crap. afacit this driver gets _all_ its linux includes via a single inclusion of linux/pci.h, and sheer luck. Cc: Auke Kok Cc: Jeff Garzik Signed-off-by: Andrew Morton --- drivers/net/e1000new/80003es2lan.c | 1 + drivers/net/e1000new/82540.c | 1 + drivers/net/e1000new/82541.c | 1 + drivers/net/e1000new/ethtool.c | 1 + drivers/net/e1000new/ich8lan.c | 1 + drivers/net/e1000new/mac.c | 1 + drivers/net/e1000new/main.c | 1 + drivers/net/e1000new/manage.c | 1 + drivers/net/e1000new/phy.c | 1 + 9 files changed, 9 insertions(+) diff -puN drivers/net/e1000new/80003es2lan.c~e1000new-build-fix drivers/net/e1000new/80003es2lan.c --- a/drivers/net/e1000new/80003es2lan.c~e1000new-build-fix +++ a/drivers/net/e1000new/80003es2lan.c @@ -32,6 +32,7 @@ */ #include "80003es2lan.h" +#include void e1000_init_function_pointers_80003es2lan(struct e1000_hw *hw); diff -puN drivers/net/e1000new/82540.c~e1000new-build-fix drivers/net/e1000new/82540.c --- a/drivers/net/e1000new/82540.c~e1000new-build-fix +++ a/drivers/net/e1000new/82540.c @@ -41,6 +41,7 @@ */ #include "api.h" +#include void e1000_init_function_pointers_82540(struct e1000_hw *hw); diff -puN drivers/net/e1000new/82541.c~e1000new-build-fix drivers/net/e1000new/82541.c --- a/drivers/net/e1000new/82541.c~e1000new-build-fix +++ a/drivers/net/e1000new/82541.c @@ -36,6 +36,7 @@ */ #include "82541.h" +#include void e1000_init_function_pointers_82541(struct e1000_hw *hw); diff -puN drivers/net/e1000new/ethtool.c~e1000new-build-fix drivers/net/e1000new/ethtool.c --- a/drivers/net/e1000new/ethtool.c~e1000new-build-fix +++ a/drivers/net/e1000new/ethtool.c @@ -31,6 +31,7 @@ #include #include +#include #include "e1000.h" #include "82541.h" diff -puN drivers/net/e1000new/ich8lan.c~e1000new-build-fix drivers/net/e1000new/ich8lan.c --- a/drivers/net/e1000new/ich8lan.c~e1000new-build-fix +++ a/drivers/net/e1000new/ich8lan.c @@ -41,6 +41,7 @@ */ #include "ich8lan.h" +#include void e1000_init_function_pointers_ich8lan(struct e1000_hw *hw); diff -puN drivers/net/e1000new/mac.c~e1000new-build-fix drivers/net/e1000new/mac.c --- a/drivers/net/e1000new/mac.c~e1000new-build-fix +++ a/drivers/net/e1000new/mac.c @@ -28,6 +28,7 @@ #include #include +#include #include "e1000.h" #include "mac.h" diff -puN drivers/net/e1000new/main.c~e1000new-build-fix drivers/net/e1000new/main.c --- a/drivers/net/e1000new/main.c~e1000new-build-fix +++ a/drivers/net/e1000new/main.c @@ -41,6 +41,7 @@ #include #include #include +#include #include "e1000.h" diff -puN drivers/net/e1000new/manage.c~e1000new-build-fix drivers/net/e1000new/manage.c --- a/drivers/net/e1000new/manage.c~e1000new-build-fix +++ a/drivers/net/e1000new/manage.c @@ -27,6 +27,7 @@ *******************************************************************************/ #include "manage.h" +#include /** * e1000_calculate_checksum - Calculate checksum for buffer diff -puN drivers/net/e1000new/phy.c~e1000new-build-fix drivers/net/e1000new/phy.c --- a/drivers/net/e1000new/phy.c~e1000new-build-fix +++ a/drivers/net/e1000new/phy.c @@ -27,6 +27,7 @@ *******************************************************************************/ #include "phy.h" +#include static s32 e1000_get_phy_cfg_done(struct e1000_hw *hw); static void e1000_release_phy(struct e1000_hw *hw); _