include: replace linux/module.h with "struct module" wherever possible
authorPaul Gortmaker <paul.gortmaker@windriver.com>
Thu, 26 May 2011 17:46:22 +0000 (13:46 -0400)
committerPaul Gortmaker <paul.gortmaker@windriver.com>
Mon, 31 Oct 2011 23:32:32 +0000 (19:32 -0400)
commitde47725421ad5627a5c905f4e40bb844ebc06d29
treebc23b0405d4a79dcc866a8b2877f128ee0ea9ffc
parenteb5589a8f0dab7e29021344228856339e6a1249c
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>
22 files changed:
include/drm/drmP.h
include/linux/blkdev.h
include/linux/cpuidle.h
include/linux/device.h
include/linux/firmware.h
include/linux/ftrace.h
include/linux/i2c.h
include/linux/ipmi.h
include/linux/ipmi_smi.h
include/linux/mdio-bitbang.h
include/linux/mtd/mtd.h
include/linux/regmap.h
include/linux/sunrpc/svc_xprt.h
include/linux/textsearch.h
include/linux/uio_driver.h
include/linux/vlynq.h
include/media/saa7146.h
include/media/v4l2-int-device.h
include/net/lib80211.h
include/net/sock.h
include/sound/core.h
include/trace/events/module.h