RE: [PATCH v6] OMAP4 HSMMC: Adding Card detect support for MMC1 on OMAP4

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: kishore kadiyala [mailto:kishorek.kadiyala@xxxxxxxxx]
> Sent: Thursday, August 05, 2010 11:04 AM
> To: Madhusudhan
> Cc: Andrew Morton; linux-mmc@xxxxxxxxxxxxxxx; linux-omap@xxxxxxxxxxxxxxx;
> tony@xxxxxxxxxxx; adrian.hunter@xxxxxxxxx
> Subject: Re: [PATCH v6] OMAP4 HSMMC: Adding Card detect support for MMC1
> on OMAP4
> 
> Madhu,
> 
> On Thu, Aug 5, 2010 at 4:26 AM, Madhusudhan <madhu.cr@xxxxxx> wrote:
> > <snip>
> >
> >> >> >  arch/arm/mach-omap2/board-4430sdp.c |    7 +++-
> >> >> >  drivers/mfd/twl6030-irq.c           |   76
> >> >> +++++++++++++++++++++++++++++++++++
> >> >> >  drivers/mmc/host/omap_hsmmc.c       |    4 +-
> >> >> >  include/linux/i2c/twl.h             |   16 +++++++
> >> >> >  4 files changed, 100 insertions(+), 3 deletions(-)
> >> >> >
> >> >> > diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-
> >> >> omap2/board-4430sdp.c
> >> >> > index f287461..388b96d 100644
> >> >> > --- a/arch/arm/mach-omap2/board-4430sdp.c
> >> >> > +++ b/arch/arm/mach-omap2/board-4430sdp.c
> >> >> > @@ -227,9 +227,14 @@ static int
> omap4_twl6030_hsmmc_late_init(struct
> >> >> device *dev)
> >> >> >        struct omap_mmc_platform_data *pdata = dev->platform_data;
> >> >> >
> >> >> >        /* Setting MMC1 Card detect Irq */
> >> >> > -       if (pdev->id == 0)
> >> >> > +       if (pdev->id == 0) {
> >> >> > +               ret = twl6030_mmc_card_detect_config();
> >> >> > +               if (ret)
> >> >> > +                       pr_err("Failed configuring MMC1 card
> >> detect\n");
> >> >> >                pdata->slots[0].card_detect_irq = TWL6030_IRQ_BASE
> +
> >> >> >
>  MMCDETECT_INTR_OFFSET;
> >> >> > +               pdata->slots[0].card_detect =
> >> twl6030_mmc_card_detect;
> >
> > You are assigning an exported fn here.
> >
> > What if somebody disables CONFIG_TWL4030_CORE in the
> omap_4430sdp_defconfig
> > file? Does the driver behave nicely with only loosing the hotplug
> > capability?
> 
> On mainline 2.6.35 omap3_defconfig works for OMAP4 but without hotplug
> functionality
> Disabling CONFIG_TWL4030_CORE in defconfig  means disabling
> regulator's  and eventually
> on bootup mmc host drivers probe fails as omap_hsmmc_reg_get( )
> fails. Seems like
> MMC and TWL are tightly coupled because of LDO dependency.
> 
> With this V6 patch and omap3_defconfig , disabling CONFIG_TWL4030_CORE
> [also need to disable USB & comment board-devkit8000.c in
> mach-omap2/Makefile as they have dependency on
> twl_i2c_write_u8/twl_i2c_read_u8 defined in twl-core.c] doesn't
> compile due to undefined reference to those exported functions
> twl6030_mmc_card_detect_config & twl6030_mmc_card_detect .
>
> Having below one[in twl.h] in addition to V6 :
> 
>  /* Card detect Configuration for MMC1 Controller on OMAP4 */
> +#if defined(CONFIG_TWL4030_CORE)
>  int twl6030_mmc_card_detect_config(void);
> +#else
> +static inline int twl6030_mmc_card_detect_config(void)
> +{
> +	pr_err("twl6030_mmc_card_detect_config not supported\n");
> +	return 0;
> +}
> +#endif
> 
>  /* MMC1 Controller on OMAP4 uses Phoenix irq for Card detect */
> +#if defined(CONFIG_TWL4030_CORE)
>  int twl6030_mmc_card_detect(struct device *dev, int slot);
> -
> +#else
> +static inline int twl6030_mmc_card_detect(struct device *dev, int slot)
> +{
> +	pr_err("Call back twl6030_mmc_card_detect not supported\n");
> +	return -EIO;
> +}
> +#endif
> 
> With the above change compilation as well as booting goes well but mmc
> probe
> fails.
> 
> Shall I go with above changes and post V7 ?
> 

Yes. In my opinion this is better than V6.

Regards,
Madhu

> <snip>
> 
> Thanks ,
> Kishore

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux