Skip to content

Commit

Permalink
device.h: audit and cleanup users in main include dir
Browse files Browse the repository at this point in the history
The <linux/device.h> header includes a lot of stuff, and
it in turn gets a lot of use just for the basic "struct device"
which appears so often.

Clean up the users as follows:

1) For those headers only needing "struct device" as a pointer
in fcn args, replace the include with exactly that.

2) For headers not really using anything from device.h, simply
delete the include altogether.

3) For headers relying on getting device.h implicitly before
being included themselves, now explicitly include device.h

4) For files in which doing #1 or #2 uncovers an implicit
dependency on some other header, fix by explicitly adding
the required header(s).

Any C files that were implicitly relying on device.h to be
present have already been dealt with in advance.

Total removals from #1 and #2: 51.  Total additions coming
from #3: 9.  Total other implicit dependencies from #4: 7.

As of 3.3-rc1, there were 110, so a net removal of 42 gives
about a 38% reduction in device.h presence in include/*

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
  • Loading branch information
Paul Gortmaker committed Mar 16, 2012
1 parent 51990e8 commit 313162d
Show file tree
Hide file tree
Showing 53 changed files with 68 additions and 52 deletions.
2 changes: 0 additions & 2 deletions include/linux/amba/pl022.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@
#ifndef _SSP_PL022_H
#define _SSP_PL022_H

#include <linux/device.h>

/**
* whether SSP is in loopback mode or not
*/
Expand Down
2 changes: 1 addition & 1 deletion include/linux/atmdev.h
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down Expand Up @@ -249,6 +248,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
Expand Down
3 changes: 2 additions & 1 deletion include/linux/attribute_container.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
3 changes: 2 additions & 1 deletion include/linux/c2port.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
*/
Expand Down
1 change: 0 additions & 1 deletion include/linux/cdrom.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 2 additions & 1 deletion include/linux/cpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
Expand Down
1 change: 0 additions & 1 deletion include/linux/cpufreq.h
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down
1 change: 0 additions & 1 deletion include/linux/crash_dump.h
Original file line number Diff line number Diff line change
Expand Up @@ -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>

Expand Down
2 changes: 1 addition & 1 deletion include/linux/dma-buf.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down
6 changes: 5 additions & 1 deletion include/linux/edac.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 0 additions & 1 deletion include/linux/fb.h
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down
3 changes: 2 additions & 1 deletion include/linux/firewire.h
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down Expand Up @@ -68,6 +67,8 @@
#define CSR_MODEL 0x17
#define CSR_DIRECTORY_ID 0x20

struct device;

struct fw_csr_iterator {
const u32 *p;
const u32 *end;
Expand Down
2 changes: 2 additions & 0 deletions include/linux/hwmon-sysfs.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion include/linux/hwmon.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#ifndef _HWMON_H_
#define _HWMON_H_

#include <linux/device.h>
struct device;

struct device *hwmon_device_register(struct device *dev);

Expand Down
2 changes: 1 addition & 1 deletion include/linux/hwspinlock.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
3 changes: 2 additions & 1 deletion include/linux/ide.h
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down Expand Up @@ -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,
Expand Down
2 changes: 1 addition & 1 deletion include/linux/ipmi.h
Original file line number Diff line number Diff line change
Expand Up @@ -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. */
Expand Down
3 changes: 2 additions & 1 deletion include/linux/ipmi_smi.h
Original file line number Diff line number Diff line change
Expand Up @@ -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. */

Expand Down
2 changes: 1 addition & 1 deletion include/linux/jz4740-adc.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion include/linux/maple.h
Original file line number Diff line number Diff line change
@@ -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 */
Expand Down
3 changes: 2 additions & 1 deletion include/linux/mfd/abx500.h
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
2 changes: 1 addition & 1 deletion include/linux/mfd/abx500/ab5500.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
#ifndef MFD_AB5500_H
#define MFD_AB5500_H

#include <linux/device.h>
struct device;

enum ab5500_devid {
AB5500_DEVID_ADC,
Expand Down
4 changes: 3 additions & 1 deletion include/linux/mfd/abx500/ab8500.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 0 additions & 1 deletion include/linux/mfd/pm8xxx/pm8921.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 3 additions & 1 deletion include/linux/mfd/stmpe.h
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
2 changes: 1 addition & 1 deletion include/linux/mfd/tc3589x.h
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
1 change: 0 additions & 1 deletion include/linux/mlx4/driver.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@
#ifndef MLX4_DRIVER_H
#define MLX4_DRIVER_H

#include <linux/device.h>
#include <linux/mlx4/device.h>

struct mlx4_dev;
Expand Down
1 change: 1 addition & 0 deletions include/linux/mmc/card.h
Original file line number Diff line number Diff line change
Expand Up @@ -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>

Expand Down
2 changes: 1 addition & 1 deletion include/linux/mmc/core.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
1 change: 1 addition & 0 deletions include/linux/mmc/host.h
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down
2 changes: 1 addition & 1 deletion include/linux/netdevice.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,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>
Expand All @@ -56,6 +55,7 @@
#include <linux/netdev_features.h>

struct netpoll_info;
struct device;
struct phy_device;
/* 802.11 specific */
struct wireless_dev;
Expand Down
3 changes: 2 additions & 1 deletion include/linux/of_device.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
1 change: 1 addition & 0 deletions include/linux/opp.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
#include <linux/notifier.h>

struct opp;
struct device;

enum opp_event {
OPP_EVENT_ADD, OPP_EVENT_ENABLE, OPP_EVENT_DISABLE,
Expand Down
5 changes: 3 additions & 2 deletions include/linux/phy.h
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -241,7 +243,6 @@ enum phy_state {
PHY_RESUMING
};

struct sk_buff;

/* phy_device: An instance of a PHY
*
Expand Down
2 changes: 2 additions & 0 deletions include/linux/pm_domain.h
Original file line number Diff line number Diff line change
Expand Up @@ -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>

enum gpd_status {
Expand Down
Loading

0 comments on commit 313162d

Please sign in to comment.