Message ID | 9361696.ohU1ACX8N1@wuerfel (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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)) > > > Arnd 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.
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 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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))