Message ID | 1351522120-24697-1-git-send-email-daniel.lezcano@linaro.org |
---|---|
State | Accepted |
Commit | 8f3e9953e1e4ae5c11e2e880e7d85c03c0180613 |
Headers | show |
On Monday, October 29, 2012 03:48:40 PM Daniel Lezcano wrote: > The "struct device" is only used in sysfs.c. > > The other .c files including the private header "cpuidle.h" > do not need to pull the entire headers tree from there as they > don't manipulate the "struct device". > > This patch fix this by moving the header inclusion to sysfs.c > and adding a forward declaration for the struct device. > > The number of lines generated by the preprocesor: > Without this patch : 17269 loc > With this patch : 16446 loc > > Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Applied to the linux-next branch of linux-pm.git as v3.8 material. Thanks, Rafael > --- > drivers/cpuidle/cpuidle.h | 5 +++-- > drivers/cpuidle/sysfs.c | 1 + > 2 files changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/cpuidle/cpuidle.h b/drivers/cpuidle/cpuidle.h > index 2120d9e..f6b0923 100644 > --- a/drivers/cpuidle/cpuidle.h > +++ b/drivers/cpuidle/cpuidle.h > @@ -5,8 +5,6 @@ > #ifndef __DRIVER_CPUIDLE_H > #define __DRIVER_CPUIDLE_H > > -#include <linux/device.h> > - > /* For internal use only */ > extern struct cpuidle_governor *cpuidle_curr_governor; > extern struct list_head cpuidle_governors; > @@ -25,6 +23,9 @@ extern void cpuidle_uninstall_idle_handler(void); > extern int cpuidle_switch_governor(struct cpuidle_governor *gov); > > /* sysfs */ > + > +struct device; > + > extern int cpuidle_add_interface(struct device *dev); > extern void cpuidle_remove_interface(struct device *dev); > extern int cpuidle_add_state_sysfs(struct cpuidle_device *device); > diff --git a/drivers/cpuidle/sysfs.c b/drivers/cpuidle/sysfs.c > index ed87399..860a686 100644 > --- a/drivers/cpuidle/sysfs.c > +++ b/drivers/cpuidle/sysfs.c > @@ -12,6 +12,7 @@ > #include <linux/slab.h> > #include <linux/cpu.h> > #include <linux/capability.h> > +#include <linux/device.h> > > #include "cpuidle.h" > >
diff --git a/drivers/cpuidle/cpuidle.h b/drivers/cpuidle/cpuidle.h index 2120d9e..f6b0923 100644 --- a/drivers/cpuidle/cpuidle.h +++ b/drivers/cpuidle/cpuidle.h @@ -5,8 +5,6 @@ #ifndef __DRIVER_CPUIDLE_H #define __DRIVER_CPUIDLE_H -#include <linux/device.h> - /* For internal use only */ extern struct cpuidle_governor *cpuidle_curr_governor; extern struct list_head cpuidle_governors; @@ -25,6 +23,9 @@ extern void cpuidle_uninstall_idle_handler(void); extern int cpuidle_switch_governor(struct cpuidle_governor *gov); /* sysfs */ + +struct device; + extern int cpuidle_add_interface(struct device *dev); extern void cpuidle_remove_interface(struct device *dev); extern int cpuidle_add_state_sysfs(struct cpuidle_device *device); diff --git a/drivers/cpuidle/sysfs.c b/drivers/cpuidle/sysfs.c index ed87399..860a686 100644 --- a/drivers/cpuidle/sysfs.c +++ b/drivers/cpuidle/sysfs.c @@ -12,6 +12,7 @@ #include <linux/slab.h> #include <linux/cpu.h> #include <linux/capability.h> +#include <linux/device.h> #include "cpuidle.h"
The "struct device" is only used in sysfs.c. The other .c files including the private header "cpuidle.h" do not need to pull the entire headers tree from there as they don't manipulate the "struct device". This patch fix this by moving the header inclusion to sysfs.c and adding a forward declaration for the struct device. The number of lines generated by the preprocesor: Without this patch : 17269 loc With this patch : 16446 loc Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> --- drivers/cpuidle/cpuidle.h | 5 +++-- drivers/cpuidle/sysfs.c | 1 + 2 files changed, 4 insertions(+), 2 deletions(-)