[PATCH] ARM: mmp: allow platform devices with modular USB

Haojian Zhuang haojian.zhuang at gmail.com
Tue Mar 18 05:01:05 EDT 2014


On Wed, Mar 12, 2014 at 11:55 PM, Arnd Bergmann <arnd at arndb.de> wrote:
> The USB host drivers need platform data to be defined on
> pxa168 and pxa910, but the conditionals used in the devices.c
> file only work if the drivers are built-in. This patch
> fixes the definition by changing the #ifdef to #if IS_ENABLED(),
> which works both for built-in and modular Kconfig symbols.
>
> I found one specific problem using 'randconfig' builds, but
> for consistency, this patch uses IS_ENABLED() for all Kconfig
> symbols in these three files.
>
> Signed-off-by: Arnd Bergmann <arnd at arndb.de>
>
> diff --git a/arch/arm/mach-mmp/aspenite.c b/arch/arm/mach-mmp/aspenite.c
> index 0c00209..7e02485 100644
> --- a/arch/arm/mach-mmp/aspenite.c
> +++ b/arch/arm/mach-mmp/aspenite.c
> @@ -231,7 +231,7 @@ static struct pxa27x_keypad_platform_data aspenite_keypad_info __initdata = {
>         .debounce_interval      = 30,
>  };
>
> -#if defined(CONFIG_USB_EHCI_MV)
> +#if IS_ENABLED(CONFIG_USB_EHCI_MV)
>  static struct mv_usb_platform_data pxa168_sph_pdata = {
>         .mode           = MV_USB_MODE_HOST,
>         .phy_init       = pxa_usb_phy_init,
> @@ -258,7 +258,7 @@ static void __init common_init(void)
>         /* off-chip devices */
>         platform_device_register(&smc91x_device);
>
> -#if defined(CONFIG_USB_EHCI_MV)
> +#if IS_ENABLED(CONFIG_USB_EHCI_MV)
>         pxa168_add_usb_host(&pxa168_sph_pdata);
>  #endif
>  }
> diff --git a/arch/arm/mach-mmp/devices.c b/arch/arm/mach-mmp/devices.c
> index dd2d8b1..2bcb766 100644
> --- a/arch/arm/mach-mmp/devices.c
> +++ b/arch/arm/mach-mmp/devices.c
> @@ -72,7 +72,7 @@ int __init pxa_register_device(struct pxa_device_desc *desc,
>         return platform_device_add(pdev);
>  }
>
> -#if defined(CONFIG_USB) || defined(CONFIG_USB_GADGET)
> +#if IS_ENABLED(CONFIG_USB) || IS_ENABLED(CONFIG_USB_GADGET)
>
>  /*****************************************************************************
>   * The registers read/write routines
> @@ -112,9 +112,9 @@ static void u2o_write(void __iomem *base, unsigned int offset,
>         readl_relaxed(base + offset);
>  }
>
> -#if defined(CONFIG_USB_MV_UDC) || defined(CONFIG_USB_EHCI_MV)
> +#if IS_ENABLED(CONFIG_USB_MV_UDC) || IS_ENABLED(CONFIG_USB_EHCI_MV)
>
> -#if defined(CONFIG_CPU_PXA910) || defined(CONFIG_CPU_PXA168)
> +#if IS_ENABLED(CONFIG_CPU_PXA910) || IS_ENABLED(CONFIG_CPU_PXA168)
>
>  static DEFINE_MUTEX(phy_lock);
>  static int phy_init_cnt;
> @@ -238,10 +238,10 @@ void pxa_usb_phy_deinit(void __iomem *phy_reg)
>  #endif
>  #endif
>
> -#ifdef CONFIG_USB_SUPPORT
> +#if IS_ENABLED(CONFIG_USB_SUPPORT)
>  static u64 usb_dma_mask = ~(u32)0;
>
> -#ifdef CONFIG_USB_MV_UDC
> +#if IS_ENABLED(CONFIG_USB_MV_UDC)
>  struct resource pxa168_u2o_resources[] = {
>         /* regbase */
>         [0] = {
> @@ -276,7 +276,7 @@ struct platform_device pxa168_device_u2o = {
>  };
>  #endif /* CONFIG_USB_MV_UDC */
>
> -#ifdef CONFIG_USB_EHCI_MV_U2O
> +#if IS_ENABLED(CONFIG_USB_EHCI_MV_U2O)
>  struct resource pxa168_u2oehci_resources[] = {
>         /* regbase */
>         [0] = {
> @@ -312,7 +312,7 @@ struct platform_device pxa168_device_u2oehci = {
>  };
>  #endif
>
> -#if defined(CONFIG_USB_MV_OTG)
> +#if IS_ENABLED(CONFIG_USB_MV_OTG)
>  struct resource pxa168_u2ootg_resources[] = {
>         /* regbase */
>         [0] = {
> diff --git a/arch/arm/mach-mmp/ttc_dkb.c b/arch/arm/mach-mmp/ttc_dkb.c
> index cfadd97..ac4af81 100644
> --- a/arch/arm/mach-mmp/ttc_dkb.c
> +++ b/arch/arm/mach-mmp/ttc_dkb.c
> @@ -164,8 +164,8 @@ static struct i2c_board_info ttc_dkb_i2c_info[] = {
>         },
>  };
>
> -#ifdef CONFIG_USB_SUPPORT
> -#if defined(CONFIG_USB_MV_UDC) || defined(CONFIG_USB_EHCI_MV_U2O)
> +#if IS_ENABLED(CONFIG_USB_SUPPORT)
> +#if IS_ENABLED(CONFIG_USB_MV_UDC) || IS_ENABLED(CONFIG_USB_EHCI_MV_U2O)
>
>  static struct mv_usb_platform_data ttc_usb_pdata = {
>         .vbus           = NULL,
> @@ -178,14 +178,14 @@ static struct mv_usb_platform_data ttc_usb_pdata = {
>  #endif
>  #endif
>
> -#ifdef CONFIG_MTD_NAND_PXA3xx
> +#if IS_ENABLED(CONFIG_MTD_NAND_PXA3xx)
>  static struct pxa3xx_nand_platform_data dkb_nand_info = {
>         .enable_arbiter = 1,
>         .num_cs = 1,
>  };
>  #endif
>
> -#ifdef CONFIG_MMP_DISP
> +#if IS_ENABLED(CONFIG_MMP_DISP)
>  /* path config */
>  #define CFG_IOPADMODE(iopad)   (iopad)  /* 0x0 ~ 0xd */
>  #define SCLK_SOURCE_SELECT(x)  (x << 30) /* 0x0 ~ 0x3 */
> @@ -275,7 +275,7 @@ static void __init ttc_dkb_init(void)
>
>         /* on-chip devices */
>         pxa910_add_uart(1);
> -#ifdef CONFIG_MTD_NAND_PXA3xx
> +#if IS_ENABLED(CONFIG_MTD_NAND_PXA3xx)
>         pxa910_add_nand(&dkb_nand_info);
>  #endif
>
> @@ -285,22 +285,22 @@ static void __init ttc_dkb_init(void)
>                                  sizeof(struct pxa_gpio_platform_data));
>         platform_add_devices(ARRAY_AND_SIZE(ttc_dkb_devices));
>
> -#ifdef CONFIG_USB_MV_UDC
> +#if IS_ENABLED(CONFIG_USB_MV_UDC)
>         pxa168_device_u2o.dev.platform_data = &ttc_usb_pdata;
>         platform_device_register(&pxa168_device_u2o);
>  #endif
>
> -#ifdef CONFIG_USB_EHCI_MV_U2O
> +#if IS_ENABLED(CONFIG_USB_EHCI_MV_U2O)
>         pxa168_device_u2oehci.dev.platform_data = &ttc_usb_pdata;
>         platform_device_register(&pxa168_device_u2oehci);
>  #endif
>
> -#ifdef CONFIG_USB_MV_OTG
> +#if IS_ENABLED(CONFIG_USB_MV_OTG)
>         pxa168_device_u2ootg.dev.platform_data = &ttc_usb_pdata;
>         platform_device_register(&pxa168_device_u2ootg);
>  #endif
>
> -#ifdef CONFIG_MMP_DISP
> +#if IS_ENABLED(CONFIG_MMP_DISP)
>         add_disp();
>  #endif
>  }
>

Acked-by: Haojian Zhuang <haojian.zhuang at gmail.com>



More information about the linux-arm-kernel mailing list