[PATCH v2 05/10] gpio: pxa: define nr gpios in platform data
Igor Grinberg
grinberg at compulab.co.il
Sun Feb 3 08:18:18 EST 2013
Hi Haojian,
On 02/03/13 12:15, Haojian Zhuang wrote:
> Avoid to define gpio numbers in gpio driver. Define it in platform data
> instead.
>
> Signed-off-by: Haojian Zhuang <haojian.zhuang at linaro.org>
Same comments as for previous version...
> ---
> arch/arm/mach-mmp/aspenite.c | 1 +
> arch/arm/mach-mmp/avengers_lite.c | 1 +
> arch/arm/mach-mmp/brownstone.c | 1 +
> arch/arm/mach-mmp/flint.c | 1 +
> arch/arm/mach-mmp/gplugd.c | 1 +
> arch/arm/mach-mmp/tavorevb.c | 1 +
> arch/arm/mach-mmp/teton_bga.c | 1 +
> arch/arm/mach-mmp/ttc_dkb.c | 1 +
> arch/arm/mach-pxa/pxa25x.c | 3 +++
> arch/arm/mach-pxa/pxa27x.c | 1 +
> arch/arm/mach-pxa/pxa3xx.c | 15 +++++++++++-
> drivers/gpio/gpio-pxa.c | 48 +++++++------------------------------
> include/linux/gpio-pxa.h | 1 +
> 13 files changed, 35 insertions(+), 41 deletions(-)
[...]
> diff --git a/arch/arm/mach-pxa/pxa3xx.c b/arch/arm/mach-pxa/pxa3xx.c
> index 656a1bb..a0cc797 100644
> --- a/arch/arm/mach-pxa/pxa3xx.c
> +++ b/arch/arm/mach-pxa/pxa3xx.c
> @@ -435,6 +435,10 @@ void __init pxa3xx_set_i2c_power_info(struct i2c_pxa_platform_data *info)
> pxa_register_device(&pxa3xx_device_i2c_power, info);
> }
>
> +static struct pxa_gpio_platform_data pxa3xx_gpio_info __initdata = {
> + .nr_gpios = 128,
> +};
> +
missing
#include <linux/gpio-pxa.h>
> static struct platform_device *devices[] __initdata = {
> &pxa_device_gpio,
> &pxa27x_device_udc,
> @@ -482,8 +486,17 @@ static int __init pxa3xx_init(void)
> register_syscore_ops(&pxa3xx_mfp_syscore_ops);
> register_syscore_ops(&pxa3xx_clock_syscore_ops);
>
> - if (!of_have_populated_dt())
> + if (!of_have_populated_dt()) {
> + if (cpu_is_pxa93x())
> + pxa3xx_gpio_info.nr_gpios = 192;
> + ret = platform_device_add_data(&pxa_device_gpio,
> + &pxa3xx_gpio_info,
> + sizeof(struct pxa_gpio_platform_data);
Closing parenthesis is missing...
> + if (ret < 0)
> + break;
> +
> ret = platform_add_devices(devices, ARRAY_SIZE(devices));
> + }
> }
>
> return ret;
[...]
--
Regards,
Igor.
More information about the linux-arm-kernel
mailing list