Paul Gortmaker [Thu, 26 May 2011 17:46:22 +0000 (13:46 -0400)]
include: replace linux/module.h with "struct module" wherever possible
The <linux/module.h> pretty much brings in the kitchen sink along
with it, so it should be avoided wherever reasonably possible in
terms of being included from other commonly used <linux/something.h>
files, as it results in a measureable increase on compile times.
The worst culprit was probably device.h since it is used everywhere.
This file also had an implicit dependency/usage of mutex.h which was
masked by module.h, and is also fixed here at the same time.
There are over a dozen other headers that simply declare the
struct instead of pulling in the whole file, so follow their lead
and simply make it a few more.
Most of the implicit dependencies on module.h being present by
these headers pulling it in have been now weeded out, so we can
finally make this change with hopefully minimal breakage.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Fri, 27 May 2011 13:02:11 +0000 (09:02 -0400)]
include: convert various register fcns to macros to avoid include chaining
The original implementations reference THIS_MODULE in an inline.
We could include <linux/export.h>, but it is better to avoid chaining.
Fortunately someone else already thought of this, and made a similar
inline into a #define in <linux/device.h> for device_schedule_callback(),
[see commit 523ded71de0] so follow that precedent here.
Also bubble up any __must_check that were used on the prev. wrapper inline
functions up one to the real __register functions, to preserve any prev.
sanity checks that were used in those instances.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Thu, 26 May 2011 17:38:59 +0000 (13:38 -0400)]
net: sch_generic remove redundant use of <linux/module.h>
This file has modular references, but they are limited to
those which are covered by the simple "struct module;"
declaration used in dozens of other places. In fact that
declaration is already there (just outside of the context
of this commit) so simply remove the include line.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 17 Jul 2011 21:05:31 +0000 (17:05 -0400)]
uwb.h: fix implicit use of asm/page.h for PAGE_SIZE
Once we clean up the implicit presence of module.h (and all its
sub-includes), we'll see an implicit dependency on page.h for
the PAGE_SIZE define. So fix it in advance.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Stephen Rothwell [Fri, 29 Jul 2011 06:55:11 +0000 (16:55 +1000)]
linux/dmaengine.h needs bitmap.h and asm/page.h
Presumably caused by some include file no longer being implicitly
included.
In file included from drivers/dma/iovlock.c:28:0:
include/linux/dmaengine.h: In function '__dma_cap_zero':
include/linux/dmaengine.h:736:2: error: implicit declaration of function 'bitmap_zero'
In file included from include/linux/nodemask.h:95:0,
from include/linux/mmzone.h:16,
from include/linux/gfp.h:4,
from include/linux/mm.h:8,
from include/linux/pagemap.h:7,
from drivers/dma/iovlock.c:29:
include/linux/bitmap.h: At top level:
include/linux/bitmap.h:159:20: warning: conflicting types for 'bitmap_zero'
include/linux/bitmap.h:159:20: error: static declaration of 'bitmap_zero' follows non-static declaration
include/linux/dmaengine.h:736:2: note: previous implicit declaration of 'bitmap_zero' was here
PG: In addition to Stephen's find above, I found this variant, needing page.h
include/linux/dmaengine.h:684: warning: 'struct page' declared inside parameter list
include/linux/dmaengine.h:684: warning: its scope is only this definition or declaration, which is probably not what you want
include/linux/dmaengine.h:687: warning: 'struct page' declared inside parameter list
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 17 Jul 2011 21:11:26 +0000 (17:11 -0400)]
linux/stop_machine.h: fix implicit use of smp.h for smp_processor_id
This will show up on MIPS when we fix all the implicit header presences
that are because of module.h being everywhere.
In file included from kernel/trace/ftrace.c:16:
include/linux/stop_machine.h: In function 'stop_one_cpu':
include/linux/stop_machine.h:50: error: implicit declaration of function 'smp_processor_id'
include/linux/stop_machine.h: In function 'stop_cpus':
include/linux/stop_machine.h:80: error: implicit declaration of function 'raw_smp_processor_id'
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
The <linux/crypto.h> (which is in turn in common headers
like tcp.h) wants to use module_name() in an inline fcn.
But having all of <linux/module.h> along for the ride is
overkill and slows down compiles by a measureable amount,
since it in turn includes lots of headers.
Since the inline is never used anywhere in the kernel[1],
we can just remove it, and then also remove the module.h
include as well.
In all the many crypto modules, there were some relying on
crypto.h including module.h -- for them we now explicitly
call out module.h for inclusion.
[1] git grep shows some staging drivers also define the same
static inline, but they also never ever use it.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Thu, 26 May 2011 17:36:45 +0000 (13:36 -0400)]
net: inet_timewait_sock doesnt need <linux/module.h>
There is nothing module specific in this header, and removing
it doesn't seem to uncover any implicit dependencies either.
Must be simply a vestige of an ancient legacy.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Thu, 26 May 2011 15:41:46 +0000 (11:41 -0400)]
sysdev.h: dont include <linux/module.h> for no reason
The <linux/module.h> pretty much brings in the kitchen sink along
with it, so it should be avoided wherever reasonably possible in
terms of being included from other commonly used <linux/something.h>
files, as it results in a measureable increase on compile times.
There doesn't appear to be any module specifics in this file.
The obvious people who were relying on the presence of
the vast amount of stuff module.h sucked in have been fixed.
If other files are implicitly relying on it, then lets see who
they are and fix them too.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 10 Jul 2011 16:20:27 +0000 (12:20 -0400)]
drm: Add export.h for EXPORT_SYMBOL to ttm/ttm_tt.c
This exports symbols, but wasn't calling out the module.h header
before. Add in export.h so that it still builds once we halt the
spread of module.h to every file.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 10 Jul 2011 17:18:02 +0000 (13:18 -0400)]
uwb: Add export.h for EXPORT_SYMBOL/THIS_MODULE as required
These macros are no longer in module.h and module.h is no longer
present everywhere. Call out export.h for the real users who
are making use of these macros, or else we'll get things like:
CC drivers/uwb/umc-drv.o
drivers/uwb/umc-dev.c:42: warning: data definition has no type or storage class
drivers/uwb/umc-dev.c:42: warning: type defaults to ‘int’ in declaration of ‘EXPORT_SYMBOL_GPL’
drivers/uwb/umc-dev.c:42: warning: parameter names (without types) in function declaration
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 17 Jul 2011 20:40:36 +0000 (16:40 -0400)]
uwb: Add module.h to the real uwb modular users.
Lots of files were getting an implicit include of module.h
for years now. But that will be fixed shortly. So get the
real users to call out the include explicitly.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 17 Jul 2011 20:50:39 +0000 (16:50 -0400)]
drivers/uwb: fix implicit use of stat.h
The module.h (via device.h) was pulling handfuls of implicitly present
header files -- including basic stuff like stat.h. Fix up these stat.h
users in advance so they don't break on the cleanup.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 17 Jul 2011 19:58:06 +0000 (15:58 -0400)]
drivers/of: Add module.h to of_spi.c
This file really needs the full module.h header file present, but
was just getting it implicitly before. Fix it up in advance so we
avoid build failures once the cleanup commit is present.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 17 Jul 2011 20:24:35 +0000 (16:24 -0400)]
regulator: Fix implicit use of notifier.h by driver.h
This was implicitly appearing by way of module.h -- but when
we fix that, we'll get this:
In file included from drivers/regulator/dummy.c:21:
include/linux/regulator/driver.h:197: error: field 'notifier' has incomplete type
make[3]: *** [drivers/regulator/dummy.o] Error 1
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 17 Jul 2011 20:28:23 +0000 (16:28 -0400)]
regulator: Add module.h to drivers/regulator users as required
Another group of drivers that are taking advantage of the implicit
presence of module.h -- and will break when we pull the carpet out
from under them during a cleanup. Fix 'em now.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Fri, 27 May 2011 13:20:21 +0000 (09:20 -0400)]
pci: pci-sysfs.c needs export.h for THIS_MODULE
Otherwise, once you break the chain of implicit includes from
device.h --> module.h then you will get this:
pci-sysfs.c: In function ‘remove_store’:
pci-sysfs.c:350: error: ‘THIS_MODULE’ undeclared (first use in this function)
pci-sysfs.c:350: error: (Each undeclared identifier is reported only once
pci-sysfs.c:350: error: for each function it appears in.)
make[3]: *** [drivers/pci/pci-sysfs.o] Error 1
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 3 Jul 2011 19:27:05 +0000 (15:27 -0400)]
pci: Add module.h to hotplug/pciehp_acpi.c
This file really needs the full module.h header file present, but
was just getting it implicitly before. Fix it up in advance so we
avoid build failures once the cleanup commit is present.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 3 Jul 2011 20:20:30 +0000 (16:20 -0400)]
virtio: Add module.h to drivers/virtio users.
Up to now, the module.h header was as hard to keep out as
sunlight. But we are cleaning that up. Fix the virtio users
who simply expect module.h to be there in every C file.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Thu, 21 Jul 2011 17:03:20 +0000 (13:03 -0400)]
lguest: add export.h to lguest_device.c for THIS_MODULE
We need this in advance of the module.h cleanup, or we'll get:
CC drivers/lguest/lguest_device.o
drivers/lguest/lguest_device.c: In function ‘lguest_devices_init’:
drivers/lguest/lguest_device.c:490: error: ‘THIS_MODULE’ undeclared (first use in this function)
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Thu, 28 Jul 2011 01:17:59 +0000 (21:17 -0400)]
kvm: fix implicit use of stat.h header file
This was coming in via an implicit module.h (and its sub-includes)
before, but we'll be cleaning that up shortly. Call out the stat.h
include requirement in advance.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Thu, 28 Jul 2011 14:08:24 +0000 (10:08 -0400)]
xen: fix implicit stat.h/module.h include usage in xen-selfballoon.c
The module.h cleanup has revealed that this file had the following
implicit dependencies as follows:
CC drivers/xen/xen-selfballoon.o
drivers/xen/xen-selfballoon.c:272: error: ‘S_IRUGO’ undeclared here (not in a function)
drivers/xen/xen-selfballoon.c:272: error: ‘S_IWUSR’ undeclared here (not in a function)
drivers/xen/xen-selfballoon.c:485: warning: type defaults to ‘int’ in declaration of ‘MODULE_LICENSE’
drivers/xen/xen-selfballoon.c:485: warning: function declaration isn’t a prototype
make[3]: *** [drivers/xen/xen-selfballoon.o] Error 1
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 10 Jul 2011 17:22:07 +0000 (13:22 -0400)]
xen: Add export.h for THIS_MODULE/EXPORT_SYMBOL to various xen users.
Things like THIS_MODULE and EXPORT_SYMBOL were simply everywhere
because module.h was also everywhere. But we are fixing the latter.
So we need to call out the real users in advance.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 10 Jul 2011 16:55:15 +0000 (12:55 -0400)]
scsi: Add export.h for EXPORT_SYMBOL/THIS_MODULE as required
For the basic SCSI infrastructure files that are exporting symbols
but not modules themselves, add in the basic export.h header file
to allow the exports.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 17 Jul 2011 19:23:40 +0000 (15:23 -0400)]
scsi: Add module.h to drivers/scsi users who really need it.
The module.h was really just about everywhere. But no more.
With a cleanup, you'll really need to grab it if you want it.
Fix up the users who really need it in SCSI.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 10 Jul 2011 17:09:12 +0000 (13:09 -0400)]
staging: Add export.h for THIS_MODULE/EXPORT_SYMBOL to drivers/staging users.
Lots of drivers have in the past expected the presence of basic things
like THIS_MODULE and EXPORT_SYMBOL. With the header cleanup, they wont
have these. Call out the include explicitly.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 10 Jul 2011 16:42:00 +0000 (12:42 -0400)]
mmc: Add export.h for EXPORT_SYMBOL/THIS_MODULE as required
These two basic defines were everywhere, simply because module.h
was also everywhere. But we are cleaning up the latter. So make
the exporters actually call out their need for the include.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 3 Jul 2011 19:15:51 +0000 (15:15 -0400)]
mmc: Add module.h to drivers/mmc users assuming implicit presence.
We are cleaning up the implicit presence of module.h; these guys are
some of the people who just assume it will be there. Call it out
explitly for those that really need it.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Thu, 28 Jul 2011 01:21:04 +0000 (21:21 -0400)]
bcma: fix implicit use of export.h contents
Fix in advance, or we will get this:
drivers/bcma/core.c:20: warning: data definition has no type or storage class
drivers/bcma/core.c:20: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL_GPL'
drivers/bcma/core.c:20: warning: parameter names (without types) in function declaration
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Thu, 28 Jul 2011 02:07:02 +0000 (22:07 -0400)]
ssb: Add export.h to files using EXPORT_SYMBOL/THIS_MODULE
Or we will get things like this when we remove the implicit path:
drivers/ssb/embedded.c:32: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL'
drivers/ssb/driver_chipcommon.c:432: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL'
drivers/ssb/driver_chipcommon_pmu.c:607: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL'
drivers/ssb/pcihost_wrapper.c:120: error: ‘THIS_MODULE’ undeclared (first use in this function)
drivers/ssb/driver_pcicore.c:721: warning: type defaults to ‘int’ in declaration of ‘EXPORT_SYMBOL’
drivers/ssb/driver_gige.c:249: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL'
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Randy Dunlap [Sat, 30 Jul 2011 01:09:12 +0000 (18:09 -0700)]
drivers/sfi: sfi_acpi.c needs sysfs.h
sfi_acpi.c needs to include linux/sysfs.h for data types.
drivers/sfi/sfi_core.h:66: error: field 'attr' has incomplete type
drivers/sfi/sfi_acpi.c:179: warning: 'struct kobject' declared inside parameter list
drivers/sfi/sfi_acpi.c:179: warning: its scope is only this definition or declaration, which is probably not what you want
drivers/sfi/sfi_acpi.c:182: warning: type defaults to 'int' in declaration of '__mptr'
drivers/sfi/sfi_acpi.c:182: warning: initialization from incompatible pointer type
Signed-off-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Fri, 15 Jul 2011 20:48:24 +0000 (16:48 -0400)]
drivers/rapidio: Fix up it implicitly relying on getting stat.h
Upon the trial removal of the implicit presence of module.h,
lots of files showed up that were getting the sub-includes
by default without calling them out. Here is one of them.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Stephen Rothwell [Fri, 29 Jul 2011 06:05:38 +0000 (16:05 +1000)]
drivers/of: include export.h for EXPORT_SYMBOL_GPL in of_pci_irq.c
This is an interaction with commit 98d9f30c820d ("pci/of: Match PCI
devices to OF nodes dynamically") which split off part of
drivers/of/of_pci.c, causing:
drivers/of/of_pci_irq.c:92:1: warning: data definition has no type or storage class
drivers/of/of_pci_irq.c:92:1: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL_GPL'
drivers/of/of_pci_irq.c:92:1: warning: parameter names (without types) in function declaration
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 3 Jul 2011 19:14:56 +0000 (15:14 -0400)]
drivers/misc: Add module.h to files who are really modular.
These files really need the full module.h header file present, but
were just getting it implicitly before. Fix it up in advance so we
avoid build failures once the cleanup commit is present.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 3 Jul 2011 19:13:20 +0000 (15:13 -0400)]
drivers/message: Add module.h to i2o/pci.c
This file really needs the full module.h header file present, but
was just getting it implicitly before. Fix it up in advance so we
avoid build failures once the cleanup commit is present.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 3 Jul 2011 19:12:37 +0000 (15:12 -0400)]
drivers/memstick: Add module.h to the prev. implicit modular users
This is another group of drivers that simply assumed that module.h was
everywhere. But it won't be once we clean up its presence from device.h
Call out the real users of it in advance.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 3 Jul 2011 18:03:12 +0000 (14:03 -0400)]
drivers/media: Add module.h to all files using it implicitly
A pending cleanup will mean that module.h won't be implicitly
everywhere anymore. Make sure the modular drivers in clocksource
are actually calling out for <module.h> explicitly in advance.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Mon, 1 Aug 2011 19:26:38 +0000 (15:26 -0400)]
drivers/media: Add export.h for EXPORT_SYMBOL/THIS_MODULE as required
These two macros were in module.h but now module.h is no longer
sprayed across every source file imaginable, so the users need
to expicitly call out their use of them.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 3 Jul 2011 17:56:03 +0000 (13:56 -0400)]
drivers/leds: Add module.h to files using it implicitly
A pending cleanup will mean that module.h won't be implicitly
everywhere anymore. Make sure the modular drivers in the leds
dir are actually calling out for <module.h> explicitly in advance.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 3 Jul 2011 17:38:09 +0000 (13:38 -0400)]
drivers/gpio: Fix drivers who are implicit users of module.h
A pending cleanup will mean that module.h won't be implicitly
everywhere anymore. Make sure the modular drivers in gpio
are actually calling out for <module.h> explicitly in advance.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 3 Jul 2011 17:38:03 +0000 (13:38 -0400)]
drivers/firmware: Add module.h to google/gsmi.c
This file really needs the full module.h header file present, but
was just getting it implicitly before. Fix it up in advance so we
avoid build failures once the cleanup commit is present.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 3 Jul 2011 17:37:56 +0000 (13:37 -0400)]
drivers/edac: Add module.h to mce_amd_inj.c
This file really needs the full module.h header file present, but
was just getting it implicitly before. Fix it up in advance so we
avoid build failures once the cleanup commit is present.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 3 Jul 2011 17:37:11 +0000 (13:37 -0400)]
drivers/dca: Add module.h to dca-core.c
This file really needs the full module.h header file present, but
was just getting it implicitly before. Call it out in advance so
that we don't get future build failures on this.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 3 Jul 2011 17:36:22 +0000 (13:36 -0400)]
drivers/clocksource: Add module.h to those who were using it implicitly
A pending cleanup will mean that module.h won't be implicitly
everywhere anymore. Make sure the modular drivers in clocksource
are actually calling out for <module.h> explicitly in advance.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Thu, 28 Jul 2011 01:31:17 +0000 (21:31 -0400)]
drivers/char: Fix implicit use of err.h in ramoops.c
drivers/char/ramoops.c: In function 'ramoops_init':
drivers/char/ramoops.c:221: error: implicit declaration of function 'IS_ERR'
drivers/char/ramoops.c:222: error: implicit declaration of function 'PTR_ERR'
make[3]: *** [drivers/char/ramoops.o] Error 1
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 3 Jul 2011 17:35:48 +0000 (13:35 -0400)]
drivers/char: Add module.h to those who were using it implicitly
A pending cleanup will mean that module.h won't be implicitly
everywhere anymore. Make sure the modular drivers in char are
actually calling out for <module.h> explicitly in advance.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Thu, 26 May 2011 22:08:35 +0000 (18:08 -0400)]
drivers/base: base.h implicitly depends on <linux/notifier.h>
This file is currently relying on <linux/module.h> sneaking it in
through the implicit include paths from device.h. Once that
is cleaned up, this will happen:
In file included from drivers/base/init.c:12:
drivers/base/base.h:34: error: field ‘bus_notifier’ has incomplete type
make[3]: *** [drivers/base/init.o] Error 1
Fix it up in advance, so the cleanup can continue.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Fri, 27 May 2011 11:12:15 +0000 (07:12 -0400)]
drivers/base: Fix various files needing export.h for EXPORT_SYMBOL
Most of these files were implicitly getting EXPORT_SYMBOL via
device.h which was including module.h, but that path will be broken
soon. Similar for wakeup.c; it needs EXPORT_SYMBOL and THIS_MODULE.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 3 Jul 2011 17:41:29 +0000 (13:41 -0400)]
ide/ata: Add module.h to the implicit modular users
A pending cleanup will mean that module.h won't be implicitly
everywhere anymore. Make sure the modular drivers in the ide dir
are actually calling out for <module.h> explicitly in advance.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 17 Jul 2011 19:33:58 +0000 (15:33 -0400)]
ide/ata: Add export.h for EXPORT_SYMBOL/THIS_MODULE where needed
They were getting this implicitly by an include of module.h
from device.h -- but we are going to clean that up and break
that include chain, so include export.h explicitly now.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Fri, 27 May 2011 17:27:45 +0000 (13:27 -0400)]
infiniband: Fix up users implicitly relying on getting stat.h
They get it via module.h (via device.h) but we want to clean that up.
When we do, we'll get things like:
CC [M] drivers/infiniband/core/sysfs.o
sysfs.c:361: error: 'S_IRUGO' undeclared here (not in a function)
sysfs.c:654: error: 'S_IWUSR' undeclared here (not in a function)
so add in the stat header it is using explicitly in advance.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 3 Jul 2011 20:17:28 +0000 (16:17 -0400)]
video: Add module.h to drivers/video files who really use it.
They were getting this implicitly by an include of module.h
from device.h -- but we are going to clean that up and break
that include chain, so include module.h explicitly now.
[ with contributions from Axel Lin <axel.lin@gmail.com> ]
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 10 Jul 2011 17:20:26 +0000 (13:20 -0400)]
video: Add export.h for THIS_MODULE/EXPORT_SYMBOL to drivers/video
With module.h being implicitly everywhere via device.h, the absence
of explicitly including something for EXPORT_SYMBOL went unnoticed.
Since we are heading to fix things up and clean module.h from the
device.h file, we need to explicitly include these files now.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Fri, 27 May 2011 00:52:10 +0000 (20:52 -0400)]
selinux: netlink.c uses THIS_MODULE; give it assoc. header
The pervasive, but implicit presence of <linux/module.h> meant
that things like this file would happily compile as-is. But
with the desire to phase out the module.h being included everywhere,
point this file at export.h which will give it THIS_MODULE.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sat, 30 Jul 2011 04:14:30 +0000 (21:14 -0700)]
i2c: Add module.h to modular files prev. implicitly getting it
These files use interfaces from linux/module.h, so they must
include that file to avoid build errors when the implicit
presence of module.h is removed.
[with i2c-pxa-pci.c fix from Randy Dunlap <rdunlap@xenotime.net>]
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Fri, 27 May 2011 14:46:24 +0000 (10:46 -0400)]
i2c: add export.h to i2c-boardinfo.c for EXPORT_SYMBOL
With module.h being implicitly everywhere via device.h, the absence
of explicitly including something for EXPORT_SYMBOL went unnoticed.
Since we are heading to fix things up and clean module.h from the
device.h file, we need to explicitly include these files now.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Fri, 27 May 2011 14:46:24 +0000 (10:46 -0400)]
tty: Add export.h for EXPORT_SYMBOL/THIS_MODULE to exporters
With module.h being implicitly everywhere via device.h, the absence
of explicitly including something for EXPORT_SYMBOL went unnoticed.
Since we are heading to fix things up and clean module.h from the
device.h file, we need to explicitly include these files now.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Fri, 27 May 2011 20:14:23 +0000 (16:14 -0400)]
tty: Add module.h to drivers/tty users who just expect it there.
We are cleaning up the issue that means module.h is omnipresent.
These tty users are the people who implictly are relying on that.
Fix up the real users to call out the include that they really need.
In the case of jsm_driver.c file, it had moduleparam.h but that
isn't enough and it needs the full module.h
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Mon, 18 Jul 2011 18:42:00 +0000 (14:42 -0400)]
usb: fix implicit usage of gfp.h in host/xhci-hub.c
To fix this build error on ARM:
drivers/usb/host/xhci-hub.c: In function 'xhci_stop_device':
drivers/usb/host/xhci-hub.c:261: error: 'GFP_NOIO' undeclared (first use in this function)
make[4]: *** [drivers/usb/host/xhci-hub.o] Error 1
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Fri, 27 May 2011 13:56:31 +0000 (09:56 -0400)]
usb: Add export.h for EXPORT_SYMBOL/THIS_MODULE where needed
With module.h being implicitly everywhere via device.h, the absence
of explicitly including something for EXPORT_SYMBOL went unnoticed.
Since we are heading to fix things up and clean module.h from the
device.h file, we need to explicitly include these files now.
Use the lightweight version of the header that has just THIS_MODULE
and EXPORT_SYMBOL variants.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Sun, 3 Jul 2011 20:09:31 +0000 (16:09 -0400)]
usb: Add module.h to drivers/usb consumers who really use it.
The situation up to this point meant that module.h was pretty
much everywhere, regardless of whether you asked for it or not.
We are fixing that, so give the USB folks who want it an actual
include of it.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker [Fri, 27 May 2011 13:47:43 +0000 (09:47 -0400)]
scsi: Fix up files implicitly depending on module.h inclusion
The module.h header was implicitly present everywhere, so files
with no explicit include of the module infrastructure would build
anyway. We are now fixing the include bird's nest, and so we need
to call out the module.h file that we need explicitly.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>