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 <avinashphi...@ti.com> > Acked-by: Linus Walleij <linus.wall...@linaro.org> > Signed-off-by: Sekhar Nori <nsek...@ti.com> > --- > 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, > +}; > + > #ifdef CONFIG_CPU_FREQ > static __init int da850_evm_init_cpufreq(void) > { > @@ -1444,6 +1451,10 @@ static __init void da850_evm_init(void) > { > int ret; > > + ret = da8xx_register_gpio(&da850_gpio_platform_data); > + if (ret) > + pr_warn("da850_evm_init: GPIO init failed: %d\n", ret); > + > ret = pmic_tps65070_init(); > if (ret) > pr_warn("%s: TPS65070 PMIC init failed: %d\n", __func__, ret); > diff --git a/arch/arm/mach-davinci/board-omapl138-hawk.c > b/arch/arm/mach-davinci/board-omapl138-hawk.c > index b8c20de..1f44a1b 100644 > --- a/arch/arm/mach-davinci/board-omapl138-hawk.c > +++ b/arch/arm/mach-davinci/board-omapl138-hawk.c > @@ -13,6 +13,7 @@ > #include <linux/init.h> > #include <linux/console.h> > #include <linux/gpio.h> > +#include <linux/platform_data/gpio-davinci.h> > > #include <asm/mach-types.h> > #include <asm/mach/arch.h> > @@ -20,6 +21,7 @@ > #include <mach/cp_intc.h> > #include <mach/da8xx.h> > #include <mach/mux.h> > +#include <mach/common.h> No need of this again. > > #define HAWKBOARD_PHY_ID "davinci_mdio-0:07" > #define DA850_HAWK_MMCSD_CD_PIN GPIO_TO_PIN(3, 12) You don't actually register GPIO for hawkboard? > diff --git a/arch/arm/mach-davinci/da830.c b/arch/arm/mach-davinci/da830.c > index abbaf02..e7b79ee 100644 > --- a/arch/arm/mach-davinci/da830.c > +++ b/arch/arm/mach-davinci/da830.c > @@ -1195,10 +1195,6 @@ static struct davinci_soc_info davinci_soc_info_da830 > = { > .intc_irq_prios = da830_default_priorities, > .intc_irq_num = DA830_N_CP_INTC_IRQ, > .timer_info = &da830_timer_info, > - .gpio_type = GPIO_TYPE_DAVINCI, > - .gpio_base = DA8XX_GPIO_BASE, > - .gpio_num = 128, > - .gpio_irq = IRQ_DA8XX_GPIO0, > .serial_dev = &da8xx_serial_device, > .emac_pdata = &da8xx_emac_pdata, > }; > diff --git a/arch/arm/mach-davinci/da850.c b/arch/arm/mach-davinci/da850.c > index 93bcf06..de8753d 100644 > --- a/arch/arm/mach-davinci/da850.c > +++ b/arch/arm/mach-davinci/da850.c > @@ -1298,10 +1298,6 @@ static struct davinci_soc_info davinci_soc_info_da850 > = { > .intc_irq_prios = da850_default_priorities, > .intc_irq_num = DA850_N_CP_INTC_IRQ, > .timer_info = &da850_timer_info, > - .gpio_type = GPIO_TYPE_DAVINCI, > - .gpio_base = DA8XX_GPIO_BASE, > - .gpio_num = 144, > - .gpio_irq = IRQ_DA8XX_GPIO0, > .serial_dev = &da8xx_serial_device, > .emac_pdata = &da8xx_emac_pdata, > .sram_dma = DA8XX_SHARED_RAM_BASE, This the SoC changes can be done in 3/7 itself. I have done that in my v3.11/gpio branch. Can you fix the issues I pointed out and reply to this mail with an updated 5/7? Thanks, Sekhar -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/