[PATCH 1/3] mmc: sdhci-s3c: Add support for device tree based probe

Grant Likely grant.likely at secretlab.ca
Sat Jul 16 04:51:45 EST 2011


On Fri, Jul 15, 2011 at 05:12:06PM +0530, Thomas Abraham wrote:
> Add of_match_table to enable sdhci-s3c driver to be probed when a compatible
> sdhci device node is found in device tree.
> 
> CC: linux-mmc at vger.kernel.org
> Signed-off-by: Thomas Abraham <thomas.abraham at linaro.org>
> ---
>  .../devicetree/bindings/mmc/samsung-s3c-sdhci.txt  |   10 ++++++++++
>  drivers/mmc/host/sdhci-s3c.c                       |   11 +++++++++++
>  2 files changed, 21 insertions(+), 0 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/mmc/samsung-s3c-sdhci.txt
> 
> diff --git a/Documentation/devicetree/bindings/mmc/samsung-s3c-sdhci.txt b/Documentation/devicetree/bindings/mmc/samsung-s3c-sdhci.txt
> new file mode 100644
> index 0000000..c2298f8
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mmc/samsung-s3c-sdhci.txt
> @@ -0,0 +1,10 @@
> +* Samsung's SDHCI controller
> +
> +The Samsung's SDHCI controller is used for interfacing with SD/MMC cards.
> +
> +Required properties:
> +- compatible : should be "samsung,s3c-sdhci"
> +- reg : base physical address of the controller and length of memory mapped
> +	region.
> +- interrupts : interrupt number to the cpu.
> +
> diff --git a/drivers/mmc/host/sdhci-s3c.c b/drivers/mmc/host/sdhci-s3c.c
> index 69e3ee3..5ccbee0 100644
> --- a/drivers/mmc/host/sdhci-s3c.c
> +++ b/drivers/mmc/host/sdhci-s3c.c
> @@ -629,6 +629,16 @@ static int sdhci_s3c_resume(struct platform_device *dev)
>  #define sdhci_s3c_resume NULL
>  #endif
>  
> +#ifdef CONFIG_OF
> +static const struct of_device_id s3c_sdhci_match[] = {
> +	{ .compatible = "samsung,s3c-sdhci" },

Be specific.  samsung,exynos4210-sdhci.  Newer chips can claim
compatibility with the older one.

Otherwise,

Acked-by: Grant Likely <grant.likely at secretlab.ca>

> +	{},
> +};
> +MODULE_DEVICE_TABLE(of, s3c_sdhci_match);
> +#else
> +#define s3c_sdhci_match NULL
> +#endif
> +
>  static struct platform_driver sdhci_s3c_driver = {
>  	.probe		= sdhci_s3c_probe,
>  	.remove		= __devexit_p(sdhci_s3c_remove),
> @@ -637,6 +647,7 @@ static struct platform_driver sdhci_s3c_driver = {
>  	.driver		= {
>  		.owner	= THIS_MODULE,
>  		.name	= "s3c-sdhci",
> +		.of_match_table	= s3c_sdhci_match,
>  	},
>  };
>  
> -- 
> 1.7.1
> 


More information about the devicetree-discuss mailing list