[PATCH 0/3] ARM: fix three implicit module use cases fed via gpio

Robert Jarzmik robert.jarzmik at free.fr
Sat Jul 23 01:09:20 PDT 2016


Paul Gortmaker <paul.gortmaker at windriver.com> writes:

> While working on some for-4.9 cleanups of linux/gpio/driver.h it was
> found that changes there caused build failures when walking all the
> ARM defconfigs, in ARM specific mach-* files.
>
> The proposed GPIO header change is just this:
>
>  ---------------------------------------      
>      --- a/include/linux/gpio/driver.h
>      +++ b/include/linux/gpio/driver.h
>      @@ -3,7 +3,6 @@
>       
>       #include <linux/device.h>
>       #include <linux/types.h>
>      -#include <linux/module.h>
>       #include <linux/irq.h>
>       #include <linux/irqchip/chained_irq.h>
>       #include <linux/irqdomain.h>
>      @@ -16,6 +15,7 @@ struct of_phandle_args;
>       struct device_node;
>       struct seq_file;
>       struct gpio_device;
>      +struct module;
>       
>       #ifdef CONFIG_GPIOLIB
>  ---------------------------------------      
>
> ...which is what we've already got in ~50 other include/linux/* files to
> try and keep cross contamination entanglement at a minimum.
>
> So we uncovered three users in ARM specific files relying on the above
> presence in this header, vs. dealing with it within the driver itself.
>
> But with ARM and GPIO being different subsystems, we'll need to get
> this in ARM 1st, and then wait a release before changing the GPIO
> header, otherwise we'll risk triggering these three build failures.
>
> So, if folks consider these three trivial changes OK for late in the
> for-4.8 cycle, then great.  Otherwise I'll resubmit the ARM parts for
> for-4.9 and the GPIO bits for the one after that.
>
> [Yes, there were gpio implicit users too, but they are easily sync'd
> with the gpio header change being at the end of that series.]
>
> Paul.
> --
>
> Cc: Alexandre Courbot <gnurou at gmail.com>
> Cc: Daniel Mack <daniel at zonque.org>
> Cc: Haojian Zhuang <haojian.zhuang at gmail.com>
> Cc: Linus Walleij <linus.walleij at linaro.org>
> Cc: linux-arm-kernel at lists.infradead.org
> Cc: linux-gpio at vger.kernel.org
> Cc: linux-omap at vger.kernel.org
> Cc: Robert Jarzmik <robert.jarzmik at free.fr>
> Cc: Russell King <linux at armlinux.org.uk>
> Cc: Tony Lindgren <tony at atomide.com>
>
> Paul Gortmaker (3):
>   ARM: mach-omap2: remove bogus "or_module" from rx51-peripherals
>   ARM: pxa: add module.h for corgi symbol_get/symbol_put usage
>   ARM: pxa: add module.h for spitz symbol_get/symbol_put usage
>
>  arch/arm/mach-omap2/board-rx51-peripherals.c | 2 +-
>  arch/arm/mach-pxa/corgi.c                    | 1 +
>  arch/arm/mach-pxa/spitz.c                    | 1 +
>  3 files changed, 3 insertions(+), 1 deletion(-)

Hi Paul,

I'll take the mach-pxa changes to pxa/for-next tree with Linus's ack.
Tony, I think you will carry the remaining omap2 one, right ?

As for the cycle, I'd prefer have it for-4.9 as we're at rc7 and it's a bit late
for me. If you want your GPIO bits to get in 4.9 I think I can commit to request
pull very early (-rc1 time) or give my ack so that Linus can carry these changes
through the gpio tree with the other changes.

Cheers.

-- 
Robert



More information about the linux-arm-kernel mailing list