Re: [PATCH v2 5/7] ARM: davinci: da8xx: gpio device creation

From: Sekhar Nori
Date: Thu Jun 20 2013 - 05:08:41 EST


On 6/20/2013 2:10 PM, Sekhar Nori wrote:
> On 6/14/2013 3:05 PM, Philip Avinash wrote:
>> Create davinci gpio device and remove references in davinci_soc_info
>> structure. Also rearrange header file inclusion in group basis.
>>
>> Signed-off-by: Philip Avinash <avinashphilip@xxxxxx>
>> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
>> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx>
>> ---
>> arch/arm/mach-davinci/board-da830-evm.c | 19 +++++++++++++++----
>> arch/arm/mach-davinci/board-da850-evm.c | 11 +++++++++++
>> arch/arm/mach-davinci/board-omapl138-hawk.c | 2 ++
>> arch/arm/mach-davinci/da830.c | 4 ----
>> arch/arm/mach-davinci/da850.c | 4 ----
>> 5 files changed, 28 insertions(+), 12 deletions(-)
>>
>> diff --git a/arch/arm/mach-davinci/board-da830-evm.c b/arch/arm/mach-davinci/board-da830-evm.c
>> index 1332de8..4e8bcc1 100644
>> --- a/arch/arm/mach-davinci/board-da830-evm.c
>> +++ b/arch/arm/mach-davinci/board-da830-evm.c
>> @@ -22,17 +22,19 @@
>> #include <linux/mtd/partitions.h>
>> #include <linux/spi/spi.h>
>> #include <linux/spi/flash.h>
>> +#include <linux/platform_data/mtd-davinci.h>
>> +#include <linux/platform_data/gpio-davinci.h>
>> +#include <linux/platform_data/usb-davinci.h>
>> +#include <linux/platform_data/mtd-davinci-aemif.h>
>> +#include <linux/platform_data/spi-davinci.h>
>
> While doing this, its better to keep the header files you are adding in
> sorted order.
>
>>
>> #include <asm/mach-types.h>
>> #include <asm/mach/arch.h>
>>
>> #include <mach/cp_intc.h>
>> #include <mach/mux.h>
>> -#include <linux/platform_data/mtd-davinci.h>
>> +#include <mach/common.h>
>
> You dont need to include this file here.
>
>> #include <mach/da8xx.h>
>> -#include <linux/platform_data/usb-davinci.h>
>> -#include <linux/platform_data/mtd-davinci-aemif.h>
>> -#include <linux/platform_data/spi-davinci.h>
>>
>> #define DA830_EVM_PHY_ID ""
>> /*
>> @@ -590,11 +592,20 @@ static struct spi_board_info da830evm_spi_info[] = {
>> },
>> };
>>
>> +static struct davinci_gpio_platform_data da830_gpio_platform_data = {
>> + .ngpio = 128,
>> + .intc_irq_num = DA830_N_CP_INTC_IRQ,
>> +};
>> +
>> static __init void da830_evm_init(void)
>> {
>> struct davinci_soc_info *soc_info = &davinci_soc_info;
>> int ret;
>>
>> + ret = da8xx_register_gpio(&da830_gpio_platform_data);
>> + if (ret)
>> + pr_warn("da830_evm_init: GPIO init failed: %d\n", ret);
>> +
>> ret = da830_register_edma(da830_edma_rsv);
>> if (ret)
>> pr_warning("da830_evm_init: edma registration failed: %d\n",
>> diff --git a/arch/arm/mach-davinci/board-da850-evm.c b/arch/arm/mach-davinci/board-da850-evm.c
>> index 8a24b6c..d5dd010 100644
>> --- a/arch/arm/mach-davinci/board-da850-evm.c
>> +++ b/arch/arm/mach-davinci/board-da850-evm.c
>> @@ -28,6 +28,7 @@
>> #include <linux/mtd/partitions.h>
>> #include <linux/mtd/physmap.h>
>> #include <linux/platform_device.h>
>> +#include <linux/platform_data/gpio-davinci.h>
>> #include <linux/platform_data/mtd-davinci.h>
>> #include <linux/platform_data/mtd-davinci-aemif.h>
>> #include <linux/platform_data/spi-davinci.h>
>> @@ -42,6 +43,7 @@
>> #include <mach/da8xx.h>
>> #include <mach/mux.h>
>> #include <mach/sram.h>
>> +#include <mach/common.h>
>
> No need of this file, as before.
>
>>
>> #include <asm/mach-types.h>
>> #include <asm/mach/arch.h>
>> @@ -1138,6 +1140,11 @@ static struct edma_rsv_info *da850_edma_rsv[2] = {
>> &da850_edma_cc1_rsv,
>> };
>>
>> +static struct davinci_gpio_platform_data da850_gpio_platform_data = {
>> + .ngpio = 144,
>> + .intc_irq_num = DA850_N_CP_INTC_IRQ,
>> +};

I did not notice this before, but this is a wrong place for this. This
should be in SoC file since it does not change with each board. And this
explains why you left hawk board broken - you would end up replicating
this there.

You need to fix patches 3-6 and repost again. I have some fixes what I
made while reviewing and committed to my v3.11/gpio branch. You can to
take that branch as starting point and complete the fixes.

Thanks,
Sekhar
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/