diff --git a/drivers/char/hpet.c b/drivers/char/hpet.c
index 091a11cd878c21731898313185e43058228d4dcd..20dc3be5ecfcf8fe987e41313902f41acdc4a2e0 100644
--- a/drivers/char/hpet.c
+++ b/drivers/char/hpet.c
@@ -21,6 +21,7 @@
 #include <linux/fcntl.h>
 #include <linux/init.h>
 #include <linux/poll.h>
+#include <linux/mm.h>
 #include <linux/proc_fs.h>
 #include <linux/spinlock.h>
 #include <linux/sysctl.h>
diff --git a/drivers/media/dvb/cinergyT2/cinergyT2.c b/drivers/media/dvb/cinergyT2/cinergyT2.c
index 55bc891768c29e0a8ba0a07d12b58ab91667f646..8a7dd507cf6e4a98274adb74c9b450f35a3ca422 100644
--- a/drivers/media/dvb/cinergyT2/cinergyT2.c
+++ b/drivers/media/dvb/cinergyT2/cinergyT2.c
@@ -30,6 +30,7 @@
 #include <linux/input.h>
 #include <linux/dvb/frontend.h>
 #include <linux/mutex.h>
+#include <linux/mm.h>
 
 #include "dmxdev.h"
 #include "dvb_demux.h"
diff --git a/include/linux/poll.h b/include/linux/poll.h
index 51e1b56741fb153013e50f6b1167b9a36345232f..27690798623fabc8b598509bb9b8ffdd2512bfb3 100644
--- a/include/linux/poll.h
+++ b/include/linux/poll.h
@@ -8,7 +8,8 @@
 #include <linux/compiler.h>
 #include <linux/wait.h>
 #include <linux/string.h>
-#include <linux/mm.h>
+#include <linux/fs.h>
+#include <linux/sched.h>
 #include <asm/uaccess.h>
 
 /* ~832 bytes of stack space used max in sys_select/sys_poll before allocating
diff --git a/include/sound/pcm.h b/include/sound/pcm.h
index afaf3e88e086c8712c7cdf8b4d743e1e3674bd97..2f645dfd7f70c59e64f64ab2ad8ff5a2e8588358 100644
--- a/include/sound/pcm.h
+++ b/include/sound/pcm.h
@@ -26,6 +26,7 @@
 #include <sound/asound.h>
 #include <sound/memalloc.h>
 #include <linux/poll.h>
+#include <linux/mm.h>
 #include <linux/bitops.h>
 
 #define snd_pcm_substream_chip(substream) ((substream)->private_data)
diff --git a/sound/oss/cs46xx.c b/sound/oss/cs46xx.c
index b1c5d8286e403c595f81b9f4b529797c4fd05da6..147c8a951137a4452fb059a66dab5cbfbc381c7d 100644
--- a/sound/oss/cs46xx.c
+++ b/sound/oss/cs46xx.c
@@ -91,6 +91,7 @@
 #include <linux/poll.h>
 #include <linux/ac97_codec.h>
 #include <linux/mutex.h>
+#include <linux/mm.h>
 
 #include <asm/io.h>
 #include <asm/dma.h>
diff --git a/sound/oss/dmabuf.c b/sound/oss/dmabuf.c
index b256c0401161a8ad97c1c5dd680291b907fe284f..eaf69971bf92d5d5b54306dd2109d37ee5bffd07 100644
--- a/sound/oss/dmabuf.c
+++ b/sound/oss/dmabuf.c
@@ -25,6 +25,7 @@
 #define BE_CONSERVATIVE
 #define SAMPLE_ROUNDUP 0
 
+#include <linux/mm.h>
 #include "sound_config.h"
 
 #define DMAP_FREE_ON_CLOSE      0
diff --git a/sound/oss/emu10k1/audio.c b/sound/oss/emu10k1/audio.c
index cde4d59d5430664e9d48a85ffa9961f744a9c6e8..86dd23974e055110817c5d6a3f8e03664d487f2a 100644
--- a/sound/oss/emu10k1/audio.c
+++ b/sound/oss/emu10k1/audio.c
@@ -36,6 +36,7 @@
 #include <linux/bitops.h>
 #include <asm/io.h>
 #include <linux/sched.h>
+#include <linux/mm.h>
 #include <linux/smp_lock.h>
 
 #include "hwaccess.h"
diff --git a/sound/oss/es1371.c b/sound/oss/es1371.c
index ddf6b0a0bca5a1c363bf9c58378e51aa5e73cf6c..cc282a0cd539847d8b10be91d3a7551e5194d06b 100644
--- a/sound/oss/es1371.c
+++ b/sound/oss/es1371.c
@@ -130,6 +130,7 @@
 #include <linux/wait.h>
 #include <linux/dma-mapping.h>
 #include <linux/mutex.h>
+#include <linux/mm.h>
 
 #include <asm/io.h>
 #include <asm/page.h>
diff --git a/sound/oss/i810_audio.c b/sound/oss/i810_audio.c
index 240cc7939b69e6137ca8adfd33f4d6c44b8d172f..c3c8a720d555a73749c1b9f62587f16097f7fae2 100644
--- a/sound/oss/i810_audio.c
+++ b/sound/oss/i810_audio.c
@@ -101,6 +101,7 @@
 #include <linux/ac97_codec.h>
 #include <linux/bitops.h>
 #include <linux/mutex.h>
+#include <linux/mm.h>
 
 #include <asm/uaccess.h>
 
diff --git a/sound/oss/soundcard.c b/sound/oss/soundcard.c
index 75c5e745705feab67239e94ef02e5afad25761a8..8fb8e7f995563993660243d2befd3502ca407b94 100644
--- a/sound/oss/soundcard.c
+++ b/sound/oss/soundcard.c
@@ -42,6 +42,7 @@
 #include <linux/proc_fs.h>
 #include <linux/smp_lock.h>
 #include <linux/module.h>
+#include <linux/mm.h>
 
 /*
  * This ought to be moved into include/asm/dma.h
diff --git a/sound/oss/sscape.c b/sound/oss/sscape.c
index 51f2fa615413af605e314edf071263f534585473..30c36d1f35d7a9641428ebb8b91bc5d02586cf28 100644
--- a/sound/oss/sscape.c
+++ b/sound/oss/sscape.c
@@ -39,6 +39,7 @@
 #include <linux/ioport.h>
 #include <linux/delay.h>
 #include <linux/proc_fs.h>
+#include <linux/mm.h>
 #include <linux/spinlock.h>
 
 #include "coproc.h"
diff --git a/sound/oss/trident.c b/sound/oss/trident.c
index 7a363a178afd4cb9400ada31d58034e233653331..6b1f8c9cdcf870419924dad10156dcf395df4e9f 100644
--- a/sound/oss/trident.c
+++ b/sound/oss/trident.c
@@ -216,6 +216,7 @@
 #include <linux/gameport.h>
 #include <linux/kernel.h>
 #include <linux/mutex.h>
+#include <linux/mm.h>
 
 #include <asm/uaccess.h>
 #include <asm/io.h>