gpio: don't include module.h in shared driver header
authorPaul Gortmaker <paul.gortmaker@windriver.com>
Mon, 12 Sep 2016 22:16:31 +0000 (18:16 -0400)
committerLinus Walleij <linus.walleij@linaro.org>
Thu, 15 Sep 2016 12:04:42 +0000 (14:04 +0200)
commitd47529b2e9fe0ec2eb1f072afad8849f52e385c4
treee3a175e093454ff2aea2ded26977ff40bf8d6ddd
parent39d80072222428aaf73276c6fd66185e6f622bd9
gpio: don't include module.h in shared driver header

Most shared headers in include/linux don't need to know what the
internals of a struct module are; all they care about is that it
is a struct and hence they may require a pointer to one.

The advantage in this is that module.h is including a lot of stuff
itself, and an otherwise empty C file that just contains module.h
will result in ~750kB from CPP (compared to say 12kB from init.h)

So we have approximately 50 instances of "struct module;" in the
various include/linux headers already that help us keep module.h
out of other headers; here we do the same for gpio.

Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Alexandre Courbot <gnurou@gmail.com>
Cc: linux-gpio@vger.kernel.org
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
include/linux/gpio/driver.h