[PATCH v2 8/8] gpiolib: split linux/gpio/driver.h out of linux/gpio.h

Andy Shevchenko andriy.shevchenko at linux.intel.com
Tue Nov 9 02:34:29 PST 2021


On Tue, Nov 09, 2021 at 11:02:07AM +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd at arndb.de>
> 
> Almost all gpio drivers include linux/gpio/driver.h, and other
> files should not rely on includes from this header.
> 
> Remove the indirect include from here and include the correct
> headers directly from where they are used.

Reviewed-by: Andy Shevchenko <andriy.shevchenko at linux.intel.com>

for gpio.h changes with one comment below.

> Signed-off-by: Arnd Bergmann <arnd at arndb.de>
> ---
>  arch/arm/mach-omap1/irq.c                              | 1 +
>  arch/arm/mach-orion5x/board-rd88f5182.c                | 1 +
>  arch/arm/mach-pxa/lubbock.c                            | 2 +-
>  arch/arm/mach-s3c/mach-h1940.c                         | 1 +
>  arch/arm/mach-s3c/s3c64xx.c                            | 1 +
>  arch/arm/mach-sa1100/assabet.c                         | 1 +
>  arch/arm/plat-orion/gpio.c                             | 1 +
>  drivers/gpio/gpio-ucb1400.c                            | 1 +
>  drivers/mfd/dm355evm_msp.c                             | 1 +
>  drivers/mfd/htc-i2cpld.c                               | 1 +
>  drivers/mfd/ucb1400_core.c                             | 1 +
>  drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c | 1 +
>  include/linux/bcma/bcma_driver_chipcommon.h            | 2 +-
>  include/linux/gpio.h                                   | 3 ---
>  include/linux/mfd/ucb1x00.h                            | 1 +
>  include/linux/ucb1400.h                                | 1 +
>  16 files changed, 15 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/arm/mach-omap1/irq.c b/arch/arm/mach-omap1/irq.c
> index ee6a93083154..d8c38270867f 100644
> --- a/arch/arm/mach-omap1/irq.c
> +++ b/arch/arm/mach-omap1/irq.c
> @@ -41,6 +41,7 @@
>  #include <linux/sched.h>
>  #include <linux/interrupt.h>
>  #include <linux/io.h>
> +#include <linux/irqdomain.h>
>  
>  #include <asm/irq.h>
>  #include <asm/exception.h>
> diff --git a/arch/arm/mach-orion5x/board-rd88f5182.c b/arch/arm/mach-orion5x/board-rd88f5182.c
> index b7b0f52f4c0a..99abf6daca77 100644
> --- a/arch/arm/mach-orion5x/board-rd88f5182.c
> +++ b/arch/arm/mach-orion5x/board-rd88f5182.c
> @@ -12,6 +12,7 @@
>  #include <linux/gpio.h>
>  #include <linux/kernel.h>
>  #include <linux/init.h>
> +#include <linux/of.h>
>  #include <linux/platform_device.h>
>  #include <linux/pci.h>
>  #include <linux/irq.h>
> diff --git a/arch/arm/mach-pxa/lubbock.c b/arch/arm/mach-pxa/lubbock.c
> index 742d18a1f7dc..875b405d9fce 100644
> --- a/arch/arm/mach-pxa/lubbock.c
> +++ b/arch/arm/mach-pxa/lubbock.c
> @@ -9,7 +9,7 @@
>   *  Copyright:	MontaVista Software Inc.
>   */
>  #include <linux/clkdev.h>
> -#include <linux/gpio.h>
> +#include <linux/gpio/driver.h>
>  #include <linux/gpio/gpio-reg.h>
>  #include <linux/gpio/machine.h>
>  #include <linux/module.h>
> diff --git a/arch/arm/mach-s3c/mach-h1940.c b/arch/arm/mach-s3c/mach-h1940.c
> index 8a43ed1c4c4d..0cc9f9d08c38 100644
> --- a/arch/arm/mach-s3c/mach-h1940.c
> +++ b/arch/arm/mach-s3c/mach-h1940.c
> @@ -18,6 +18,7 @@
>  #include <linux/platform_device.h>
>  #include <linux/io.h>
>  #include <linux/gpio.h>
> +#include <linux/gpio/driver.h>
>  #include <linux/gpio/machine.h>
>  #include <linux/input.h>
>  #include <linux/gpio_keys.h>
> diff --git a/arch/arm/mach-s3c/s3c64xx.c b/arch/arm/mach-s3c/s3c64xx.c
> index 4dfb648142f2..d098e28bd5dd 100644
> --- a/arch/arm/mach-s3c/s3c64xx.c
> +++ b/arch/arm/mach-s3c/s3c64xx.c
> @@ -24,6 +24,7 @@
>  #include <linux/platform_device.h>
>  #include <linux/reboot.h>
>  #include <linux/io.h>
> +#include <linux/of.h>
>  #include <linux/clk/samsung.h>
>  #include <linux/dma-mapping.h>
>  #include <linux/irq.h>
> diff --git a/arch/arm/mach-sa1100/assabet.c b/arch/arm/mach-sa1100/assabet.c
> index 9919e0f32c4b..4ba2d28c1fd3 100644
> --- a/arch/arm/mach-sa1100/assabet.c
> +++ b/arch/arm/mach-sa1100/assabet.c
> @@ -12,6 +12,7 @@
>  #include <linux/errno.h>
>  #include <linux/gpio/gpio-reg.h>
>  #include <linux/gpio/machine.h>
> +#include <linux/gpio/driver.h>
>  #include <linux/gpio_keys.h>
>  #include <linux/ioport.h>
>  #include <linux/platform_data/sa11x0-serial.h>
> diff --git a/arch/arm/plat-orion/gpio.c b/arch/arm/plat-orion/gpio.c
> index 734f0be4f14a..e21d589ec78a 100644
> --- a/arch/arm/plat-orion/gpio.c
> +++ b/arch/arm/plat-orion/gpio.c
> @@ -19,6 +19,7 @@
>  #include <linux/bitops.h>
>  #include <linux/io.h>
>  #include <linux/gpio.h>
> +#include <linux/gpio/driver.h>
>  #include <linux/leds.h>
>  #include <linux/of.h>
>  #include <linux/of_irq.h>
> diff --git a/drivers/gpio/gpio-ucb1400.c b/drivers/gpio/gpio-ucb1400.c
> index d2a8644864c3..aceac8bb12ff 100644
> --- a/drivers/gpio/gpio-ucb1400.c
> +++ b/drivers/gpio/gpio-ucb1400.c
> @@ -6,6 +6,7 @@
>   */
>  
>  #include <linux/module.h>
> +#include <linux/gpio/driver.h>
>  #include <linux/ucb1400.h>
>  
>  static int ucb1400_gpio_dir_in(struct gpio_chip *gc, unsigned off)
> diff --git a/drivers/mfd/dm355evm_msp.c b/drivers/mfd/dm355evm_msp.c
> index 2388fb4d0121..2c82907600f0 100644
> --- a/drivers/mfd/dm355evm_msp.c
> +++ b/drivers/mfd/dm355evm_msp.c
> @@ -13,6 +13,7 @@
>  #include <linux/err.h>
>  #include <linux/gpio/consumer.h>
>  #include <linux/gpio.h>
> +#include <linux/gpio/driver.h>
>  #include <linux/gpio/machine.h>
>  #include <linux/leds.h>
>  #include <linux/i2c.h>
> diff --git a/drivers/mfd/htc-i2cpld.c b/drivers/mfd/htc-i2cpld.c
> index 417b0355d904..d7d0a2e50746 100644
> --- a/drivers/mfd/htc-i2cpld.c
> +++ b/drivers/mfd/htc-i2cpld.c
> @@ -20,6 +20,7 @@
>  #include <linux/irq.h>
>  #include <linux/spinlock.h>
>  #include <linux/htcpld.h>
> +#include <linux/gpio/driver.h>
>  #include <linux/gpio.h>
>  #include <linux/slab.h>
>  
> diff --git a/drivers/mfd/ucb1400_core.c b/drivers/mfd/ucb1400_core.c
> index 8c3832a58ef6..f71ef41ac9dc 100644
> --- a/drivers/mfd/ucb1400_core.c
> +++ b/drivers/mfd/ucb1400_core.c
> @@ -20,6 +20,7 @@
>  #include <linux/module.h>
>  #include <linux/sched.h>
>  #include <linux/slab.h>
> +#include <linux/gpio/driver.h>
>  #include <linux/ucb1400.h>
>  
>  unsigned int ucb1400_adc_read(struct snd_ac97 *ac97, u16 adc_channel,
> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c
> index c1b9ac692d26..2349fcce37dd 100644
> --- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c
> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c
> @@ -1,6 +1,7 @@
>  // SPDX-License-Identifier: GPL-2.0
>  #include <net/mac80211.h>
>  #include <linux/bcma/bcma_driver_chipcommon.h>
> +#include <linux/gpio.h>
>  #include <linux/gpio/driver.h>
>  #include <linux/gpio/machine.h>
>  #include <linux/gpio/consumer.h>
> diff --git a/include/linux/bcma/bcma_driver_chipcommon.h b/include/linux/bcma/bcma_driver_chipcommon.h
> index d35b9206096d..9ba1b6311681 100644
> --- a/include/linux/bcma/bcma_driver_chipcommon.h
> +++ b/include/linux/bcma/bcma_driver_chipcommon.h
> @@ -3,7 +3,7 @@
>  #define LINUX_BCMA_DRIVER_CC_H_
>  
>  #include <linux/platform_device.h>
> -#include <linux/gpio.h>
> +#include <linux/gpio/driver.h>
>  
>  /** ChipCommon core registers. **/
>  #define BCMA_CC_ID			0x0000
> diff --git a/include/linux/gpio.h b/include/linux/gpio.h
> index 61fb427b4e70..f25546e060e9 100644
> --- a/include/linux/gpio.h
> +++ b/include/linux/gpio.h
> @@ -54,9 +54,6 @@ struct gpio {
>  };
>  
>  #ifdef CONFIG_GPIOLIB
> -
> -#include <linux/compiler.h>
> -#include <linux/gpio/driver.h>

>  #include <linux/gpio/consumer.h>

Hmm... It's in some of the previous patches I suppose.
Do we really need this to be under ifdeffery?

>  
>  /* Platforms may implement their GPIO interface with library code,
> diff --git a/include/linux/mfd/ucb1x00.h b/include/linux/mfd/ucb1x00.h
> index 43bcf35afe27..7c0d40ddc674 100644
> --- a/include/linux/mfd/ucb1x00.h
> +++ b/include/linux/mfd/ucb1x00.h
> @@ -9,6 +9,7 @@
>  
>  #include <linux/device.h>
>  #include <linux/mfd/mcp.h>
> +#include <linux/gpio/driver.h>
>  #include <linux/gpio.h>
>  #include <linux/mutex.h>
>  
> diff --git a/include/linux/ucb1400.h b/include/linux/ucb1400.h
> index 0968ef458447..199b1280fa26 100644
> --- a/include/linux/ucb1400.h
> +++ b/include/linux/ucb1400.h
> @@ -23,6 +23,7 @@
>  #include <sound/ac97_codec.h>
>  #include <linux/mutex.h>
>  #include <linux/platform_device.h>
> +#include <linux/gpio/driver.h>
>  #include <linux/gpio.h>
>  
>  /*
> -- 
> 2.29.2
> 

-- 
With Best Regards,
Andy Shevchenko





More information about the linux-arm-kernel mailing list