[PATCH 3/8] mmc: omap: Fix I2C dependency and make driver usable with device tree

Mark Rutland mark.rutland at arm.com
Thu Nov 14 06:05:33 EST 2013


On Thu, Nov 14, 2013 at 02:35:32AM +0000, Tony Lindgren wrote:
> Some features can be configured by the companion I2C chips,
> which may not be available at the probe time. Fix the issue
> by returning -EPROBE_DEFER when the MMC controller slots
> are not configured.
> 
> While at it, let's also add minimal device tree support so
> omap24xx platforms can use this driver without legacy mode
> since we claim to support device tree for mach-omap2 based
> systems.
> 
> Although adding the minimal device tree support is not strictly
> a fix, it does remove one of the last blockers for dropping a
> bunch of legacy platform data for mach-omap2.
> 
> Cc: Chris Ball <cjb at laptop.org>
> Cc: linux-mmc at vger.kernel.org
> Signed-off-by: Tony Lindgren <tony at atomide.com>
> ---
> 
> If this looks OK, I'd like to merge this as a fix via arm-soc tree
> along with the other patches in this series as my later patches
> depend on patches in this series.
> 
> ---
>  drivers/mmc/host/omap.c | 10 +++++++++-
>  1 file changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/mmc/host/omap.c b/drivers/mmc/host/omap.c
> index ed56868..43c66ad 100644
> --- a/drivers/mmc/host/omap.c
> +++ b/drivers/mmc/host/omap.c
> @@ -22,6 +22,7 @@
>  #include <linux/delay.h>
>  #include <linux/spinlock.h>
>  #include <linux/timer.h>
> +#include <linux/of.h>
>  #include <linux/omap-dma.h>
>  #include <linux/mmc/host.h>
>  #include <linux/mmc/card.h>
> @@ -1330,7 +1331,7 @@ static int mmc_omap_probe(struct platform_device *pdev)
>  	}
>  	if (pdata->nr_slots == 0) {
>  		dev_err(&pdev->dev, "no slots\n");
> -		return -ENXIO;
> +		return -EPROBE_DEFER;
>  	}
>  
>  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> @@ -1553,6 +1554,12 @@ static int mmc_omap_resume(struct platform_device *pdev)
>  #define mmc_omap_resume		NULL
>  #endif
>  
> +#if IS_BUILTIN(CONFIG_OF)
> +static const struct of_device_id mmc_omap_match[] = {
> +	{ .compatible = "ti,omap2420-mmc", },

Missing binding document.

Thanks,
Mark.



More information about the linux-arm-kernel mailing list