Re: [PATCH 1/2] mmc: omap_hsmmc: Add support for slot-name property in DT

Arnd Bergmann
2016-01-02T23:17:51Z

On Sunday 03 January 2016 00:03:54 Pali Rohár wrote:
> On Saturday 02 January 2016 23:57:47 Arnd Bergmann wrote:
> > On Saturday 02 January 2016 16:22:03 Pali Rohár wrote:
> > > On Monday 28 December 2015 15:55:28 Arnd Bergmann wrote:
> > > > On Monday 28 December 2015 15:54:35 Pali Rohár wrote:
> > > > > > I mean you can add the platform data to the
> > > > > > omap_auxdata_lookup[] table for this board.
> > > > >
> > > > > But can I mix data from omap3-n900.dts and
> > > > > omap_auxdata_lookup[]?
> > >
> > > Hm... looks like it is not possible. omap_hsmmc driver ignores any
> > > supplied platform data if there are device tree data. So array
> > > omap_auxdata_lookup[] does not help.
> >
> > Obviously you need to the driver to work with that setting. Maybe
> > something as simple as
> >
> > diff --git a/drivers/mmc/host/omap_hsmmc.c
> > b/drivers/mmc/host/omap_hsmmc.c index e06b1881b6a1..4fa35fc84b8b
> > 100644
> > --- a/drivers/mmc/host/omap_hsmmc.c
> > +++ b/drivers/mmc/host/omap_hsmmc.c
> > @@ -2006,7 +2006,7 @@ static int omap_hsmmc_probe(struct
> > platform_device *pdev) void __iomem *base;
> >
> > match = of_match_device(of_match_ptr(omap_mmc_of_match),
> > &pdev->dev); - if (match) {
> > + if (!pdata && match) {
> > pdata = of_get_hsmmc_pdata(&pdev->dev);
> >
> > if (IS_ERR(pdata))
> >
>
> But in this case I must copy mmc definition from omap3-n900.dts file
> back to board code to omap_auxdata_lookup[]. And mmc definitions in
> omap3-n900.dts will be ignored. This is step back.
>
> Mixing mmc definitions from DTS file together with omap_auxdata_lookup[]
> just will not work.

As I said earlier, if you prefer to avoid the auxdata hack, you are
also welcome to work on support for named slots in the MMC core code,
it will just be more work and will take time to get consensus on.

Arnd