[PATCH 2/3] ARM: OMAP2+: Split omap2_hsmmc_init() to properly support I2C GPIO pins
Tony Lindgren
tony at atomide.com
Fri Feb 17 13:10:01 EST 2012
* Tony Lindgren <tony at atomide.com> [120216 08:35]:
> * Rajendra Nayak <rnayak at ti.com> [120216 08:19]:
> > On Thursday 16 February 2012 10:05 PM, Tony Lindgren wrote:
> > >>On Thursday 16 February 2012 03:33 PM, Rajendra Nayak wrote:
> > >>>> >better still, I think we should just populate them statically in
> > >>>> >omap2_hsmmc_info struct above, so omap_hsmmc_init() takes care
> > >>>> >of it already.
> > >>>
> > >>> I just tried this and it seems to work...
> > >>>
> > >>> ---
> > >>> arch/arm/mach-omap2/board-omap3beagle.c | 1 +
> > >>> 1 file changed, 1 insertion(+)
> > >>>
> > >>> Index: linux-2.6/arch/arm/mach-omap2/board-omap3beagle.c
> > >>> ===================================================================
> > >>> --- linux-2.6.orig/arch/arm/mach-omap2/board-omap3beagle.c
> > >>> 2012-02-16 15:38:47.046933403 +0530
> > >>> +++ linux-2.6/arch/arm/mach-omap2/board-omap3beagle.c 2012-02-16
> > >>> 15:40:17.355349064 +0530
> > >>> @@ -253,6 +253,7 @@
> > >>> .mmc = 1,
> > >>> .caps = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA,
> > >>> .gpio_wp = -EINVAL,
> > >>> + .gpio_cd = OMAP_MAX_GPIO_LINES + 0,
> > >>> .deferred = true,
> > >>> },
> > >>> {} /* Terminator */
> > >Would be nice to avoid the hard coded gpio numbering for the
> > >external chips though..
> >
> > But if you look closely, thats exactly how its handled today.
> > All board files hardcode gpio_base to OMAP_MAX_GPIO_LINES in
> > twl4030_gpio_platform_data. And thats what gets passed back
> > when the driver calls pdata->setup() from within probe.
>
> Hmm that's not necessarily safe to do as you might have multiple
> external GPIO connected, such as a PMIC and FPGA..
>
> Anyways, it seems OK to me for now, as the DT solves that issue
> properly and I don't think we currently have any boards with
> multiple external GPIO chips.
Found the reason for this, omap_hsmmc_late_init needs to copy
gpio_cd and gpio_wp into the pdata. Or platform_device_add_data
needs to be called a bit later. Will update my patch for that.
Tony
More information about the linux-arm-kernel
mailing list