diff --git a/drivers/base/power/clock_ops.c b/drivers/base/power/clock_ops.c index 428e55e012dcd06f91ade3154c941aab6f1d5bb5..869d7ff2227f8aa87ba5a390644558e7e0585099 100644 --- a/drivers/base/power/clock_ops.c +++ b/drivers/base/power/clock_ops.c @@ -8,6 +8,7 @@ #include <linux/init.h> #include <linux/kernel.h> +#include <linux/device.h> #include <linux/io.h> #include <linux/pm.h> #include <linux/pm_clock.h> diff --git a/drivers/base/power/common.c b/drivers/base/power/common.c index 4af7c1cbf909b61d576bc0900df85983d2eedf9d..a14085cc613fdfd2116afeb9da0f620b96c492f7 100644 --- a/drivers/base/power/common.c +++ b/drivers/base/power/common.c @@ -8,6 +8,7 @@ #include <linux/init.h> #include <linux/kernel.h> +#include <linux/device.h> #include <linux/export.h> #include <linux/slab.h> #include <linux/pm_clock.h> diff --git a/drivers/base/power/opp.c b/drivers/base/power/opp.c index 95706fa24c73559ecd04aacf8c0a6296616c452f..ac993eafec82ecd707cfc6e2654b5a8f30703fc6 100644 --- a/drivers/base/power/opp.c +++ b/drivers/base/power/opp.c @@ -17,6 +17,7 @@ #include <linux/init.h> #include <linux/slab.h> #include <linux/cpufreq.h> +#include <linux/device.h> #include <linux/list.h> #include <linux/rculist.h> #include <linux/rcupdate.h> diff --git a/drivers/base/regmap/regcache-lzo.c b/drivers/base/regmap/regcache-lzo.c index 77dc53272289ddadf058903288d7dd0bbd46900e..483b06d4a3808adb15fe3606691723735876101f 100644 --- a/drivers/base/regmap/regcache-lzo.c +++ b/drivers/base/regmap/regcache-lzo.c @@ -11,6 +11,7 @@ */ #include <linux/slab.h> +#include <linux/device.h> #include <linux/lzo.h> #include "internal.h" diff --git a/drivers/base/regmap/regcache-rbtree.c b/drivers/base/regmap/regcache-rbtree.c index 8d51916a283d41f82c8b9990a93fcca0fc3d3a88..5157fa04c2f0e04e6120878a97764d4375d52769 100644 --- a/drivers/base/regmap/regcache-rbtree.c +++ b/drivers/base/regmap/regcache-rbtree.c @@ -11,6 +11,7 @@ */ #include <linux/slab.h> +#include <linux/device.h> #include <linux/debugfs.h> #include <linux/rbtree.h> #include <linux/seq_file.h> diff --git a/drivers/base/regmap/regcache.c b/drivers/base/regmap/regcache.c index 938cb1d2ea2658426d6d9beec86372d7f017086c..87f54dbf601b90adf01e602ec200e5f967472d66 100644 --- a/drivers/base/regmap/regcache.c +++ b/drivers/base/regmap/regcache.c @@ -12,6 +12,7 @@ #include <linux/slab.h> #include <linux/export.h> +#include <linux/device.h> #include <trace/events/regmap.h> #include <linux/bsearch.h> #include <linux/sort.h> diff --git a/drivers/base/regmap/regmap-debugfs.c b/drivers/base/regmap/regmap-debugfs.c index 372f81a21201acc2f7540cb727809d01fe5c48b9..58517a5dac1360b96b0779c0724d12e926d11c77 100644 --- a/drivers/base/regmap/regmap-debugfs.c +++ b/drivers/base/regmap/regmap-debugfs.c @@ -14,6 +14,7 @@ #include <linux/mutex.h> #include <linux/debugfs.h> #include <linux/uaccess.h> +#include <linux/device.h> #include "internal.h" diff --git a/drivers/base/regmap/regmap-irq.c b/drivers/base/regmap/regmap-irq.c index 428836fc58356e8857ada8029e6d2df5cf1e63b9..1befaa7a31cbdeacb76a7a67f17540799f523d6b 100644 --- a/drivers/base/regmap/regmap-irq.c +++ b/drivers/base/regmap/regmap-irq.c @@ -11,6 +11,7 @@ */ #include <linux/export.h> +#include <linux/device.h> #include <linux/regmap.h> #include <linux/irq.h> #include <linux/interrupt.h> diff --git a/drivers/edac/edac_stub.c b/drivers/edac/edac_stub.c index 670c4481453bc2ba7dc690bb505097cfdfa1dca4..6c86f6e545587202d3a9f729457ef38314490f70 100644 --- a/drivers/edac/edac_stub.c +++ b/drivers/edac/edac_stub.c @@ -15,6 +15,7 @@ #include <linux/module.h> #include <linux/edac.h> #include <linux/atomic.h> +#include <linux/device.h> #include <asm/edac.h> int edac_op_state = EDAC_OPSTATE_INVAL; diff --git a/drivers/edac/mce_amd_inj.c b/drivers/edac/mce_amd_inj.c index 885e8ad8fdcf94679c3631db3c319d0fff7ac618..66b5151c10807083e1e724cb58cc384cdde2f11c 100644 --- a/drivers/edac/mce_amd_inj.c +++ b/drivers/edac/mce_amd_inj.c @@ -11,6 +11,7 @@ */ #include <linux/kobject.h> +#include <linux/device.h> #include <linux/edac.h> #include <linux/module.h> #include <asm/mce.h> diff --git a/drivers/mfd/wm8994-regmap.c b/drivers/mfd/wm8994-regmap.c index bc0c5096539a5bdbd874ef99babdd60dbf17a0c0..7605b60954539fa14b9203e5f6b3343475676390 100644 --- a/drivers/mfd/wm8994-regmap.c +++ b/drivers/mfd/wm8994-regmap.c @@ -15,6 +15,7 @@ #include <linux/mfd/wm8994/core.h> #include <linux/mfd/wm8994/registers.h> #include <linux/regmap.h> +#include <linux/device.h> #include "wm8994.h" diff --git a/drivers/power/apm_power.c b/drivers/power/apm_power.c index 8a612dec9139d27b4e0a814be38b6c71d6954fca..39763015b3601cdd0333f585cc482beacbe7ae49 100644 --- a/drivers/power/apm_power.c +++ b/drivers/power/apm_power.c @@ -10,6 +10,7 @@ */ #include <linux/module.h> +#include <linux/device.h> #include <linux/power_supply.h> #include <linux/apm-emulation.h> diff --git a/drivers/power/power_supply.h b/drivers/power/power_supply.h index 018de2b26998e9b326c0f0a434c4e2b39182422a..cc439fd89d8dda469c52795bcc59074245b1cec8 100644 --- a/drivers/power/power_supply.h +++ b/drivers/power/power_supply.h @@ -10,6 +10,10 @@ * You may use this code as per GPL version 2 */ +struct device; +struct device_type; +struct power_supply; + #ifdef CONFIG_SYSFS extern void power_supply_init_attrs(struct device_type *dev_type); diff --git a/drivers/power/power_supply_leds.c b/drivers/power/power_supply_leds.c index da25eb94e5c6487907fc4fecb175b73059a8677a..995f966ed5b7a8be444e99ed0dff6d1b22d5934c 100644 --- a/drivers/power/power_supply_leds.c +++ b/drivers/power/power_supply_leds.c @@ -11,6 +11,7 @@ */ #include <linux/kernel.h> +#include <linux/device.h> #include <linux/power_supply.h> #include <linux/slab.h> diff --git a/drivers/power/power_supply_sysfs.c b/drivers/power/power_supply_sysfs.c index b52b57ca3084737fcced57eca769783bc435a3fd..4368e7d61316bb37c9a3565ca1c0400964aa6781 100644 --- a/drivers/power/power_supply_sysfs.c +++ b/drivers/power/power_supply_sysfs.c @@ -12,6 +12,7 @@ */ #include <linux/ctype.h> +#include <linux/device.h> #include <linux/power_supply.h> #include <linux/slab.h> #include <linux/stat.h> diff --git a/include/linux/amba/pl022.h b/include/linux/amba/pl022.h index 3672f40f34554114050aad04a2e3a1f3f16b85e0..b8c51124ed19b9b8368ebeb631c543b51029d31a 100644 --- a/include/linux/amba/pl022.h +++ b/include/linux/amba/pl022.h @@ -25,8 +25,6 @@ #ifndef _SSP_PL022_H #define _SSP_PL022_H -#include <linux/device.h> - /** * whether SSP is in loopback mode or not */ diff --git a/include/linux/atmdev.h b/include/linux/atmdev.h index 42c471afc52af8be4b5af53e202eeca07274f186..06fd4bbc58f68c17c2e93b7b05385159e41dc6ea 100644 --- a/include/linux/atmdev.h +++ b/include/linux/atmdev.h @@ -213,7 +213,6 @@ struct atm_cirange { #ifdef __KERNEL__ -#include <linux/device.h> #include <linux/wait.h> /* wait_queue_head_t */ #include <linux/time.h> /* struct timeval */ #include <linux/net.h> @@ -250,6 +249,7 @@ struct k_atm_dev_stats { struct k_atm_aal_stats aal5; }; +struct device; enum { ATM_VF_ADDR, /* Address is in use. Set by anybody, cleared diff --git a/include/linux/attribute_container.h b/include/linux/attribute_container.h index c3ab81428c6624ffaf7e93612f42654e7c570176..896c6892f327848ed195f8f7cb7b7181ae353557 100644 --- a/include/linux/attribute_container.h +++ b/include/linux/attribute_container.h @@ -9,10 +9,11 @@ #ifndef _ATTRIBUTE_CONTAINER_H_ #define _ATTRIBUTE_CONTAINER_H_ -#include <linux/device.h> #include <linux/list.h> #include <linux/klist.h> +struct device; + struct attribute_container { struct list_head node; struct klist containers; diff --git a/include/linux/c2port.h b/include/linux/c2port.h index a2f7d7413f30534f039f902405faaf8be7e4a921..4efabcb5134712db3a2be5994d1fada80911eb11 100644 --- a/include/linux/c2port.h +++ b/include/linux/c2port.h @@ -9,11 +9,12 @@ * the Free Software Foundation */ -#include <linux/device.h> #include <linux/kmemcheck.h> #define C2PORT_NAME_LEN 32 +struct device; + /* * C2 port basic structs */ diff --git a/include/linux/cdrom.h b/include/linux/cdrom.h index 7c48029dffe6fa93b349e8a1aa8c5775694aa6fa..dfd7f187c351440d2ffa81050e46ed2602877f73 100644 --- a/include/linux/cdrom.h +++ b/include/linux/cdrom.h @@ -910,7 +910,6 @@ struct mode_page_header { #ifdef __KERNEL__ #include <linux/fs.h> /* not really needed, later.. */ -#include <linux/device.h> #include <linux/list.h> struct packet_command diff --git a/include/linux/cpu.h b/include/linux/cpu.h index 6e53b4823d7f10fc79809f83828d6a4759584b8a..ee28844ae68e0187b835ffae8add2b38b3450c56 100644 --- a/include/linux/cpu.h +++ b/include/linux/cpu.h @@ -14,11 +14,12 @@ #ifndef _LINUX_CPU_H_ #define _LINUX_CPU_H_ -#include <linux/device.h> #include <linux/node.h> #include <linux/compiler.h> #include <linux/cpumask.h> +struct device; + struct cpu { int node_id; /* The node which contains the CPU */ int hotpluggable; /* creates sysfs control file if hotpluggable */ diff --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h index 8ff442753c758cf6e0e82d2c86aa0941e2952813..b60f6ba01d0c787225b626c5f4b4eef2cdca1e37 100644 --- a/include/linux/cpufreq.h +++ b/include/linux/cpufreq.h @@ -14,7 +14,6 @@ #include <linux/mutex.h> #include <linux/notifier.h> #include <linux/threads.h> -#include <linux/device.h> #include <linux/kobject.h> #include <linux/sysfs.h> #include <linux/completion.h> diff --git a/include/linux/crash_dump.h b/include/linux/crash_dump.h index b936763f2236be16254d23380e49d99f08f82dc4..37e4f8da7cdf81deefacf7d7b19175e98d2063a6 100644 --- a/include/linux/crash_dump.h +++ b/include/linux/crash_dump.h @@ -3,7 +3,6 @@ #ifdef CONFIG_CRASH_DUMP #include <linux/kexec.h> -#include <linux/device.h> #include <linux/proc_fs.h> #include <linux/elf.h> diff --git a/include/linux/dma-buf.h b/include/linux/dma-buf.h index f8ac076afa52c211c50621e4d01101becce7bc4b..887dcd487062d5f892a968056a6c339e8d6d7623 100644 --- a/include/linux/dma-buf.h +++ b/include/linux/dma-buf.h @@ -26,11 +26,11 @@ #include <linux/file.h> #include <linux/err.h> -#include <linux/device.h> #include <linux/scatterlist.h> #include <linux/list.h> #include <linux/dma-mapping.h> +struct device; struct dma_buf; struct dma_buf_attachment; diff --git a/include/linux/edac.h b/include/linux/edac.h index 1cd3947987e571489b2e0a6a2b5df88480d72e50..ba317e2930a19c78741f93379d6d3d259821b99a 100644 --- a/include/linux/edac.h +++ b/include/linux/edac.h @@ -13,7 +13,11 @@ #define _LINUX_EDAC_H_ #include <linux/atomic.h> -#include <linux/device.h> +#include <linux/kobject.h> +#include <linux/completion.h> +#include <linux/workqueue.h> + +struct device; #define EDAC_OPSTATE_INVAL -1 #define EDAC_OPSTATE_POLL 0 diff --git a/include/linux/fb.h b/include/linux/fb.h index a395b8c769929d1d7a390ad598288f96163daaea..d31cb682e17371e0271947d59f2311818316152d 100644 --- a/include/linux/fb.h +++ b/include/linux/fb.h @@ -407,7 +407,6 @@ struct fb_cursor { #include <linux/fs.h> #include <linux/init.h> -#include <linux/device.h> #include <linux/workqueue.h> #include <linux/notifier.h> #include <linux/list.h> diff --git a/include/linux/firewire.h b/include/linux/firewire.h index cdc9b719e9c7e285e85878677a64ff4b3d7d3501..4db7b68f058240ed0611fb0616d5c5ea91e79279 100644 --- a/include/linux/firewire.h +++ b/include/linux/firewire.h @@ -2,7 +2,6 @@ #define _LINUX_FIREWIRE_H #include <linux/completion.h> -#include <linux/device.h> #include <linux/dma-mapping.h> #include <linux/kernel.h> #include <linux/kref.h> @@ -65,6 +64,8 @@ #define CSR_MODEL 0x17 #define CSR_DIRECTORY_ID 0x20 +struct device; + struct fw_csr_iterator { const u32 *p; const u32 *end; diff --git a/include/linux/hwmon-sysfs.h b/include/linux/hwmon-sysfs.h index a90c09d331c1c09fa94048e401b55cfa9970a928..1c7b89ae6bdcb3977899c21b152271189980118a 100644 --- a/include/linux/hwmon-sysfs.h +++ b/include/linux/hwmon-sysfs.h @@ -20,6 +20,8 @@ #ifndef _LINUX_HWMON_SYSFS_H #define _LINUX_HWMON_SYSFS_H +#include <linux/device.h> + struct sensor_device_attribute{ struct device_attribute dev_attr; int index; diff --git a/include/linux/hwmon.h b/include/linux/hwmon.h index 6b6ee702b007406d44352f1104a43f4fb4d91cd7..82b29ae6ebb0d38235a364f447263a4183c66534 100644 --- a/include/linux/hwmon.h +++ b/include/linux/hwmon.h @@ -14,7 +14,7 @@ #ifndef _HWMON_H_ #define _HWMON_H_ -#include <linux/device.h> +struct device; struct device *hwmon_device_register(struct device *dev); diff --git a/include/linux/hwspinlock.h b/include/linux/hwspinlock.h index aad6bd4b3efdf97046edabd3fe75fbb3ed052465..3343298e40e83453e84dad4d8704af95ef57b5f7 100644 --- a/include/linux/hwspinlock.h +++ b/include/linux/hwspinlock.h @@ -20,12 +20,12 @@ #include <linux/err.h> #include <linux/sched.h> -#include <linux/device.h> /* hwspinlock mode argument */ #define HWLOCK_IRQSTATE 0x01 /* Disable interrupts, save state */ #define HWLOCK_IRQ 0x02 /* Disable interrupts, don't save state */ +struct device; struct hwspinlock; struct hwspinlock_device; struct hwspinlock_ops; diff --git a/include/linux/ide.h b/include/linux/ide.h index 501370b61ee5017c43b1157a834dac19dddae098..7afe15f916da3cf5b0ca59e83eb8900447a60705 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h @@ -14,7 +14,6 @@ #include <linux/interrupt.h> #include <linux/bitops.h> #include <linux/bio.h> -#include <linux/device.h> #include <linux/pci.h> #include <linux/completion.h> #include <linux/pm.h> @@ -43,6 +42,8 @@ #define ERROR_RESET 3 /* Reset controller every 4th retry */ #define ERROR_RECAL 1 /* Recalibrate every 2nd retry */ +struct device; + /* Error codes returned in rq->errors to the higher part of the driver. */ enum { IDE_DRV_ERROR_GENERAL = 101, diff --git a/include/linux/ipmi.h b/include/linux/ipmi.h index bbd156bb953b8773b1f727898d9889612ac91bc1..48dcba9b2065d178d0dd0fa7d1d9d02f4bd191be 100644 --- a/include/linux/ipmi.h +++ b/include/linux/ipmi.h @@ -220,10 +220,10 @@ struct kernel_ipmi_msg { * The in-kernel interface. */ #include <linux/list.h> -#include <linux/device.h> #include <linux/proc_fs.h> struct module; +struct device; /* Opaque type for a IPMI message user. One of these is needed to send and receive messages. */ diff --git a/include/linux/ipmi_smi.h b/include/linux/ipmi_smi.h index 3ef0d8b6aa6faf19c8e8d24a3033f15fc728a39b..fcb5d44ea6358b8165a2a1b80ddca56fb3d80595 100644 --- a/include/linux/ipmi_smi.h +++ b/include/linux/ipmi_smi.h @@ -36,10 +36,11 @@ #include <linux/ipmi_msgdefs.h> #include <linux/proc_fs.h> -#include <linux/device.h> #include <linux/platform_device.h> #include <linux/ipmi.h> +struct device; + /* This files describes the interface for IPMI system management interface drivers to bind into the IPMI message handler. */ diff --git a/include/linux/jz4740-adc.h b/include/linux/jz4740-adc.h index 9053f95e968716f9e11625cd1ac28a96a060bbdd..8184578fbfa45621a83380c11066f009b4949a5b 100644 --- a/include/linux/jz4740-adc.h +++ b/include/linux/jz4740-adc.h @@ -2,7 +2,7 @@ #ifndef __LINUX_JZ4740_ADC #define __LINUX_JZ4740_ADC -#include <linux/device.h> +struct device; /* * jz4740_adc_set_config - Configure a JZ4740 adc device diff --git a/include/linux/maple.h b/include/linux/maple.h index d9a51b9b3300a784f12536ec1670338248cf9b8a..c37288b23e0cf4cb1bb37fa4a0516efcd0cd4d5f 100644 --- a/include/linux/maple.h +++ b/include/linux/maple.h @@ -1,9 +1,9 @@ #ifndef __LINUX_MAPLE_H #define __LINUX_MAPLE_H -#include <linux/device.h> #include <mach/maple.h> +struct device; extern struct bus_type maple_bus_type; /* Maple Bus command and response codes */ diff --git a/include/linux/mfd/abx500.h b/include/linux/mfd/abx500.h index 9970337ff0412ca255b89a72564f3ebb96da966e..e20dd6ead1d09f2dee7d35af32397f40ad92d8f4 100644 --- a/include/linux/mfd/abx500.h +++ b/include/linux/mfd/abx500.h @@ -14,9 +14,10 @@ * Author: Rickard Andersson <rickard.andersson@stericsson.com> */ -#include <linux/device.h> #include <linux/regulator/machine.h> +struct device; + #ifndef MFD_ABX500_H #define MFD_ABX500_H diff --git a/include/linux/mfd/abx500/ab5500.h b/include/linux/mfd/abx500/ab5500.h index a720051ae933e737e24c7f6549b75243e11ff130..54f820ed73bbf56efdf2b87855056a0c0f23b62a 100644 --- a/include/linux/mfd/abx500/ab5500.h +++ b/include/linux/mfd/abx500/ab5500.h @@ -6,7 +6,7 @@ #ifndef MFD_AB5500_H #define MFD_AB5500_H -#include <linux/device.h> +struct device; enum ab5500_devid { AB5500_DEVID_ADC, diff --git a/include/linux/mfd/abx500/ab8500.h b/include/linux/mfd/abx500/ab8500.h index 838c6b487cc533193f60b7372f85a5080c89c7a5..dca94396190d19a243dfc4d1ddc60b9f9b6fc896 100644 --- a/include/linux/mfd/abx500/ab8500.h +++ b/include/linux/mfd/abx500/ab8500.h @@ -7,7 +7,9 @@ #ifndef MFD_AB8500_H #define MFD_AB8500_H -#include <linux/device.h> +#include <linux/mutex.h> + +struct device; /* * AB8500 bank addresses diff --git a/include/linux/mfd/pm8xxx/pm8921.h b/include/linux/mfd/pm8xxx/pm8921.h index d5517fd32d1b0899fdc7b350c5229d9477bae352..00fa3de7659dd3e1ea09472cb396bcb3d1ae2c45 100644 --- a/include/linux/mfd/pm8xxx/pm8921.h +++ b/include/linux/mfd/pm8xxx/pm8921.h @@ -18,7 +18,6 @@ #ifndef __MFD_PM8921_H #define __MFD_PM8921_H -#include <linux/device.h> #include <linux/mfd/pm8xxx/irq.h> #define PM8921_NR_IRQS 256 diff --git a/include/linux/mfd/stmpe.h b/include/linux/mfd/stmpe.h index ca1d7a3476004d6936c104a8a435dfd4ac4e5f52..8c54de674b4b7577e2da771880054765703b2831 100644 --- a/include/linux/mfd/stmpe.h +++ b/include/linux/mfd/stmpe.h @@ -8,7 +8,9 @@ #ifndef __LINUX_MFD_STMPE_H #define __LINUX_MFD_STMPE_H -#include <linux/device.h> +#include <linux/mutex.h> + +struct device; enum stmpe_block { STMPE_BLOCK_GPIO = 1 << 0, diff --git a/include/linux/mfd/tc3589x.h b/include/linux/mfd/tc3589x.h index 16c76e124f9cc4b983d539b3fbf510f1378ccbff..3acb3a8e3af589cbf9b237290bb18d0216d57a8d 100644 --- a/include/linux/mfd/tc3589x.h +++ b/include/linux/mfd/tc3589x.h @@ -7,7 +7,7 @@ #ifndef __LINUX_MFD_TC3589x_H #define __LINUX_MFD_TC3589x_H -#include <linux/device.h> +struct device; enum tx3589x_block { TC3589x_BLOCK_GPIO = 1 << 0, diff --git a/include/linux/mlx4/driver.h b/include/linux/mlx4/driver.h index e1eebf78caba1232eabc2a515e33a17513cfd12d..5f1298b1b5efc66ffbe39aff52314d03f3aed24f 100644 --- a/include/linux/mlx4/driver.h +++ b/include/linux/mlx4/driver.h @@ -33,7 +33,6 @@ #ifndef MLX4_DRIVER_H #define MLX4_DRIVER_H -#include <linux/device.h> #include <linux/mlx4/device.h> struct mlx4_dev; diff --git a/include/linux/mmc/card.h b/include/linux/mmc/card.h index 19a41d1737afd25cb4462870ae75eea0802a4664..6faa145c81e3cd8c420deabca4a81b245a45e9ca 100644 --- a/include/linux/mmc/card.h +++ b/include/linux/mmc/card.h @@ -10,6 +10,7 @@ #ifndef LINUX_MMC_CARD_H #define LINUX_MMC_CARD_H +#include <linux/device.h> #include <linux/mmc/core.h> #include <linux/mod_devicetable.h> diff --git a/include/linux/mmc/core.h b/include/linux/mmc/core.h index 87a976cc5654d164361014849a8733c6733c18e9..2e6a681fceb26adeadcd6979bdeed6fabfd4d7af 100644 --- a/include/linux/mmc/core.h +++ b/include/linux/mmc/core.h @@ -9,7 +9,7 @@ #define LINUX_MMC_CORE_H #include <linux/interrupt.h> -#include <linux/device.h> +#include <linux/completion.h> struct request; struct mmc_data; diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h index ee2b0363c0406565d2d7c5d6996a500e72a921d5..91924e8c642b315423276bad5c547a3d75612f41 100644 --- a/include/linux/mmc/host.h +++ b/include/linux/mmc/host.h @@ -12,6 +12,7 @@ #include <linux/leds.h> #include <linux/sched.h> +#include <linux/device.h> #include <linux/fault-inject.h> #include <linux/mmc/core.h> diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 33b4f66374bd59cb5c024cd0889dc313fc926a54..1f77540bdc95495ab1bc13edf9f6ac0332a649ae 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -39,7 +39,6 @@ #include <asm/cache.h> #include <asm/byteorder.h> -#include <linux/device.h> #include <linux/percpu.h> #include <linux/rculist.h> #include <linux/dmaengine.h> @@ -57,6 +56,7 @@ #include <linux/netdev_features.h> struct netpoll_info; +struct device; struct phy_device; /* 802.11 specific */ struct wireless_dev; diff --git a/include/linux/of_device.h b/include/linux/of_device.h index cbc42143fa5bb6f3124704c1f59775f02f624856..901b7435e890333027362b1ea89ba58b79578768 100644 --- a/include/linux/of_device.h +++ b/include/linux/of_device.h @@ -5,10 +5,11 @@ #include <linux/of_platform.h> /* temporary until merge */ #ifdef CONFIG_OF_DEVICE -#include <linux/device.h> #include <linux/of.h> #include <linux/mod_devicetable.h> +struct device; + extern const struct of_device_id *of_match_device( const struct of_device_id *matches, const struct device *dev); extern void of_device_make_bus_id(struct device *dev); diff --git a/include/linux/opp.h b/include/linux/opp.h index ee94b33080c207332e43291caaf240a62541a919..2a4e5faee904fcfd85fd54eba39901978bdeecf1 100644 --- a/include/linux/opp.h +++ b/include/linux/opp.h @@ -19,6 +19,7 @@ #include <linux/notifier.h> struct opp; +struct device; enum opp_event { OPP_EVENT_ADD, OPP_EVENT_ENABLE, OPP_EVENT_DISABLE, diff --git a/include/linux/phy.h b/include/linux/phy.h index c599f7eca1e7a4bb2f66ab1e644225c40cab8293..6fe0a37d4abf3ca87b9e572bf21d21e21f07b34c 100644 --- a/include/linux/phy.h +++ b/include/linux/phy.h @@ -19,7 +19,6 @@ #define __PHY_H #include <linux/spinlock.h> -#include <linux/device.h> #include <linux/ethtool.h> #include <linux/mii.h> #include <linux/timer.h> @@ -88,6 +87,9 @@ typedef enum { IEEE 802.3ae clause 45 addressing mode used by 10GIGE phy chips. */ #define MII_ADDR_C45 (1<<30) +struct device; +struct sk_buff; + /* * The Bus class for PHYs. Devices which provide access to * PHYs should register using this structure @@ -241,7 +243,6 @@ enum phy_state { PHY_RESUMING }; -struct sk_buff; /* phy_device: An instance of a PHY * diff --git a/include/linux/pm_domain.h b/include/linux/pm_domain.h index 1236d262b3e868700e330af2fcb0783aa08702cd..91f8286106eaed1e9b8e9acdeab5a8efe9a6f452 100644 --- a/include/linux/pm_domain.h +++ b/include/linux/pm_domain.h @@ -10,6 +10,8 @@ #define _LINUX_PM_DOMAIN_H #include <linux/device.h> +#include <linux/mutex.h> +#include <linux/pm.h> #include <linux/err.h> #include <linux/of.h> diff --git a/include/linux/power_supply.h b/include/linux/power_supply.h index fa9b962aec124ad0e126d7400d8a92325525d9ff..c38c13db8832e7b3c15440807e7e7719a5603792 100644 --- a/include/linux/power_supply.h +++ b/include/linux/power_supply.h @@ -13,10 +13,11 @@ #ifndef __LINUX_POWER_SUPPLY_H__ #define __LINUX_POWER_SUPPLY_H__ -#include <linux/device.h> #include <linux/workqueue.h> #include <linux/leds.h> +struct device; + /* * All voltages, currents, charges, energies, time and temperatures in uV, * µA, µAh, µWh, seconds and tenths of degree Celsius unless otherwise diff --git a/include/linux/regmap.h b/include/linux/regmap.h index 5d7e6add0084257b219052ff2f8ab6c2ccc34d28..a90abb6bfa6400402b516865df47db182dd5e0a0 100644 --- a/include/linux/regmap.h +++ b/include/linux/regmap.h @@ -13,10 +13,10 @@ * published by the Free Software Foundation. */ -#include <linux/device.h> #include <linux/list.h> struct module; +struct device; struct i2c_client; struct spi_device; struct regmap; diff --git a/include/linux/regulator/consumer.h b/include/linux/regulator/consumer.h index b6c8d717c7ecc4592e2d9abd4cc8206998146f48..4ed1b30ac5fc9ff04cf2a50b1b4ba91e1718e2b7 100644 --- a/include/linux/regulator/consumer.h +++ b/include/linux/regulator/consumer.h @@ -35,7 +35,8 @@ #ifndef __LINUX_REGULATOR_CONSUMER_H_ #define __LINUX_REGULATOR_CONSUMER_H_ -#include <linux/device.h> +struct device; +struct notifier_block; /* * Regulator operating modes. diff --git a/include/linux/rfkill.h b/include/linux/rfkill.h index c6c608482cba493bbe8bf2c2dd5779420f4552db..6fdf02737e9decd563ac8616fb510d4951c11515 100644 --- a/include/linux/rfkill.h +++ b/include/linux/rfkill.h @@ -117,10 +117,10 @@ enum rfkill_user_states { #include <linux/kernel.h> #include <linux/list.h> #include <linux/mutex.h> -#include <linux/device.h> #include <linux/leds.h> #include <linux/err.h> +struct device; /* this is opaque */ struct rfkill; diff --git a/include/linux/rio_drv.h b/include/linux/rio_drv.h index 229b3ca23134634999a93d32bf6eb4a9c01d5448..7f07470e1ed9443e20cbc1cafe0d696e04bdb8c6 100644 --- a/include/linux/rio_drv.h +++ b/include/linux/rio_drv.h @@ -17,7 +17,6 @@ #include <linux/ioport.h> #include <linux/list.h> #include <linux/errno.h> -#include <linux/device.h> #include <linux/string.h> #include <linux/rio.h> diff --git a/include/linux/serial_pnx8xxx.h b/include/linux/serial_pnx8xxx.h index de6c19c7f340cce8e34d7ac6c6316cff63980d93..79ad87b0be3e979fb62e3222357fe3714f18eb72 100644 --- a/include/linux/serial_pnx8xxx.h +++ b/include/linux/serial_pnx8xxx.h @@ -20,7 +20,6 @@ #define _LINUX_SERIAL_PNX8XXX_H #include <linux/serial_core.h> -#include <linux/device.h> #define PNX8XXX_NR_PORTS 2 diff --git a/include/linux/spi/mmc_spi.h b/include/linux/spi/mmc_spi.h index 0f4eb165f2542fbafcfe6433c0fa0ef8f8396260..32be8dbdf1917b900b4a97ac19d02447915a098c 100644 --- a/include/linux/spi/mmc_spi.h +++ b/include/linux/spi/mmc_spi.h @@ -1,10 +1,10 @@ #ifndef __LINUX_SPI_MMC_SPI_H #define __LINUX_SPI_MMC_SPI_H -#include <linux/device.h> #include <linux/spi/spi.h> #include <linux/interrupt.h> +struct device; struct mmc_host; /* Put this in platform_data of a device being used to manage an MMC/SD diff --git a/include/linux/wimax/debug.h b/include/linux/wimax/debug.h index 57031b4d12f2a51f352524ba765f43d41f261415..aaf24ba12c4df38bc46f4c3ee56fa5a5767555a9 100644 --- a/include/linux/wimax/debug.h +++ b/include/linux/wimax/debug.h @@ -154,9 +154,9 @@ #define __debug__h__ #include <linux/types.h> -#include <linux/device.h> #include <linux/slab.h> +struct device; /* Backend stuff */ diff --git a/include/media/media-device.h b/include/media/media-device.h index 6a27d916c2504ac3705b865e897a1eee9276ca33..eaade9815bb63fa885ce25b55b5856ee017a1550 100644 --- a/include/media/media-device.h +++ b/include/media/media-device.h @@ -23,7 +23,6 @@ #ifndef _MEDIA_DEVICE_H #define _MEDIA_DEVICE_H -#include <linux/device.h> #include <linux/list.h> #include <linux/mutex.h> #include <linux/spinlock.h> @@ -31,6 +30,8 @@ #include <media/media-devnode.h> #include <media/media-entity.h> +struct device; + /** * struct media_device - Media device * @dev: Parent device diff --git a/include/media/v4l2-ctrls.h b/include/media/v4l2-ctrls.h index 3dbd066385062a218a9798e97a1f0e729038270a..11e67562b3acb39a574ae895ae5e667a7aa9c24a 100644 --- a/include/media/v4l2-ctrls.h +++ b/include/media/v4l2-ctrls.h @@ -22,7 +22,6 @@ #define _V4L2_CTRLS_H #include <linux/list.h> -#include <linux/device.h> #include <linux/videodev2.h> /* forward references */ diff --git a/include/media/v4l2-ioctl.h b/include/media/v4l2-ioctl.h index 4df031af994904cacf98e80dbad3127b25010bf5..3cb939cd03f9218843b278624b7c138bfccd2809 100644 --- a/include/media/v4l2-ioctl.h +++ b/include/media/v4l2-ioctl.h @@ -11,7 +11,6 @@ #include <linux/poll.h> #include <linux/fs.h> -#include <linux/device.h> #include <linux/mutex.h> #include <linux/compiler.h> /* need __user */ #include <linux/videodev2.h> diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 774cd3e0dcb685dd058f695a4bd93f5ba41dd1d8..87d203ff7a8ad4d43ae97bcd91116529934b4ef7 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h @@ -17,7 +17,6 @@ #include <linux/kernel.h> #include <linux/if_ether.h> #include <linux/skbuff.h> -#include <linux/device.h> #include <linux/ieee80211.h> #include <net/cfg80211.h> #include <asm/unaligned.h> @@ -88,6 +87,8 @@ * */ +struct device; + /** * enum ieee80211_max_queues - maximum number of queues * diff --git a/include/scsi/scsi_device.h b/include/scsi/scsi_device.h index b3a1c2daf6cca49e94503279e3fbbabbb5ff6302..6efb2e1416e073924a94442762459d89e118f520 100644 --- a/include/scsi/scsi_device.h +++ b/include/scsi/scsi_device.h @@ -1,7 +1,6 @@ #ifndef _SCSI_SCSI_DEVICE_H #define _SCSI_SCSI_DEVICE_H -#include <linux/device.h> #include <linux/list.h> #include <linux/spinlock.h> #include <linux/workqueue.h> @@ -9,6 +8,7 @@ #include <scsi/scsi.h> #include <linux/atomic.h> +struct device; struct request_queue; struct scsi_cmnd; struct scsi_lun; diff --git a/include/sound/core.h b/include/sound/core.h index cea1b5426dfa2f1c42c71f4450224722d1c2daf2..b6e0f57d451d28fe27edb602ae02cba552d5709e 100644 --- a/include/sound/core.h +++ b/include/sound/core.h @@ -26,7 +26,6 @@ #include <linux/mutex.h> /* struct mutex */ #include <linux/rwsem.h> /* struct rw_semaphore */ #include <linux/pm.h> /* pm_message_t */ -#include <linux/device.h> #include <linux/stringify.h> /* number of supported soundcards */ @@ -39,10 +38,10 @@ #define CONFIG_SND_MAJOR 116 /* standard configuration */ /* forward declarations */ -#ifdef CONFIG_PCI struct pci_dev; -#endif struct module; +struct device; +struct device_attribute; /* device allocation stuff */ diff --git a/include/sound/soc-dapm.h b/include/sound/soc-dapm.h index e46107fffeb48b8c5832eea797bb7ec2b69c92a0..8da3c2409060dc258cb5a87716fbb4fa7cdb527e 100644 --- a/include/sound/soc-dapm.h +++ b/include/sound/soc-dapm.h @@ -13,10 +13,11 @@ #ifndef __LINUX_SND_SOC_DAPM_H #define __LINUX_SND_SOC_DAPM_H -#include <linux/device.h> #include <linux/types.h> #include <sound/control.h> +struct device; + /* widget has no PM register bit */ #define SND_SOC_NOPM -1 diff --git a/include/trace/events/regmap.h b/include/trace/events/regmap.h index d69738280ffadffe91e0e58f5a829dab49931b82..41a7dbd570e2d066b9dbd8e2f604fbbe441bdd1b 100644 --- a/include/trace/events/regmap.h +++ b/include/trace/events/regmap.h @@ -4,10 +4,10 @@ #if !defined(_TRACE_REGMAP_H) || defined(TRACE_HEADER_MULTI_READ) #define _TRACE_REGMAP_H -#include <linux/device.h> #include <linux/ktime.h> #include <linux/tracepoint.h> +struct device; struct regmap; /* diff --git a/include/trace/events/rpm.h b/include/trace/events/rpm.h index d62c558bf64be73a957cfafa171cd53b9530b5a8..33f85b68c22c13b0a4492d2b81e180edd837886a 100644 --- a/include/trace/events/rpm.h +++ b/include/trace/events/rpm.h @@ -7,7 +7,8 @@ #include <linux/ktime.h> #include <linux/tracepoint.h> -#include <linux/device.h> + +struct device; /* * The rpm_internal events are used for tracing some important diff --git a/include/trace/events/writeback.h b/include/trace/events/writeback.h index 5973410e8f8cf34fd9fb1abaedb7325435716f9a..7b81887b023f9deb9f46994722c03542ad97a6db 100644 --- a/include/trace/events/writeback.h +++ b/include/trace/events/writeback.h @@ -5,7 +5,6 @@ #define _TRACE_WRITEBACK_H #include <linux/backing-dev.h> -#include <linux/device.h> #include <linux/writeback.h> #define show_inode_state(state) \ diff --git a/net/rfkill/core.c b/net/rfkill/core.c index 354760ebbbd254f1409a196e7c27140c0512e5e9..f974961754ca90df62dcc685db2d037b910091b8 100644 --- a/net/rfkill/core.c +++ b/net/rfkill/core.c @@ -29,6 +29,7 @@ #include <linux/rfkill.h> #include <linux/sched.h> #include <linux/spinlock.h> +#include <linux/device.h> #include <linux/miscdevice.h> #include <linux/wait.h> #include <linux/poll.h> diff --git a/sound/core/init.c b/sound/core/init.c index 068cf08d3ffb82360e3e6ee4c24b78be3abde545..d8ec849af128ed1d248effdd2f606baa52a5f06d 100644 --- a/sound/core/init.c +++ b/sound/core/init.c @@ -22,6 +22,7 @@ #include <linux/init.h> #include <linux/sched.h> #include <linux/module.h> +#include <linux/device.h> #include <linux/file.h> #include <linux/slab.h> #include <linux/time.h> diff --git a/sound/core/pcm.c b/sound/core/pcm.c index 6e4bfcc14254cda1c38eb294b9cfce564de76ada..1a3070b4e5b5fc043d04ed734df76a51503bb65f 100644 --- a/sound/core/pcm.c +++ b/sound/core/pcm.c @@ -24,6 +24,7 @@ #include <linux/module.h> #include <linux/time.h> #include <linux/mutex.h> +#include <linux/device.h> #include <sound/core.h> #include <sound/minors.h> #include <sound/pcm.h> diff --git a/sound/core/seq/seq.c b/sound/core/seq/seq.c index 9d8379aedf4054cd5a1acde9e6140d9e2a604e95..7121105610826eef0931426129788f6bb9696ffc 100644 --- a/sound/core/seq/seq.c +++ b/sound/core/seq/seq.c @@ -21,6 +21,7 @@ #include <linux/init.h> #include <linux/module.h> +#include <linux/device.h> #include <sound/core.h> #include <sound/initval.h> diff --git a/sound/core/timer.c b/sound/core/timer.c index 8e7561dfc5fc97f4d650a3b8d35bb52b2804f9d0..6ddcf06f52f9a0c710cfbd65157915e5d90b14a4 100644 --- a/sound/core/timer.c +++ b/sound/core/timer.c @@ -24,6 +24,7 @@ #include <linux/slab.h> #include <linux/time.h> #include <linux/mutex.h> +#include <linux/device.h> #include <linux/module.h> #include <linux/string.h> #include <sound/core.h>