From: Sekhar Nori <nsekhar@ti.com>
To: "Manjunathappa, Prakash" <prakash.pm@ti.com>
Cc: linux-mmc@vger.kernel.org, grant.likely@secretlab.ca,
rob.herring@calxeda.com, rob@landley.net, linux@arm.linux.org.uk,
hs@denx.de, devicetree-discuss@lists.ozlabs.org,
linux-doc@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
cjb@laptop.org, davinci-linux-open-source@linux.davincidsp.com,
mporter@ti.com
Subject: Re: [PATCH v4 3/5] mmc: davinci_mmc: add DT support
Date: Wed, 27 Feb 2013 17:13:43 +0530 [thread overview]
Message-ID: <512DF16F.50702@ti.com> (raw)
In-Reply-To: <1360909322-1858-4-git-send-email-prakash.pm@ti.com>
On 2/15/2013 11:52 AM, Manjunathappa, Prakash wrote:
> Adds device tree support for davinci_mmc. Also add binding documentation.
> As of now in non-dma PIO mode and without GPIO card_detect/write_protect
> option because of dependencies on EDMA and GPIO module DT support.
>
> Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com>
> Reviewed-by: Mark Rutland <mark.rutland@arm.com>
> Cc: linux-mmc@vger.kernel.org
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: davinci-linux-open-source@linux.davincidsp.com
> Cc: devicetree-discuss@lists.ozlabs.org
> Cc: cjb@laptop.org
> Cc: Sekhar Nori <nsekhar@ti.com>
> Cc: mporter@ti.com
> diff --git a/drivers/mmc/host/davinci_mmc.c b/drivers/mmc/host/davinci_mmc.c
> index 874dc60..6b08b9a 100644
> --- a/drivers/mmc/host/davinci_mmc.c
> +++ b/drivers/mmc/host/davinci_mmc.c
> @@ -34,6 +34,8 @@
> #include <linux/dma-mapping.h>
> #include <linux/edma.h>
> #include <linux/mmc/mmc.h>
> +#include <linux/of.h>
> +#include <linux/of_device.h>
>
> #include <linux/platform_data/mmc-davinci.h>
>
> @@ -1156,6 +1158,7 @@ static void __init init_mmcsd_host(struct mmc_davinci_host *host)
>
> mmc_davinci_reset_ctrl(host, 0);
> }
> +
Stray line addition.
> static struct platform_device_id davinci_mmc_devtype[] = {
> {
> .name = "davinci-mmc-dm355",
> @@ -1168,9 +1171,63 @@ static struct platform_device_id davinci_mmc_devtype[] = {
> };
> MODULE_DEVICE_TABLE(platform, davinci_mmc_devtype);
>
> -static int __init davinci_mmcsd_probe(struct platform_device *pdev)
> +static const struct of_device_id davinci_mmc_dt_ids[] = {
> + {
> + .compatible = "ti,davinci-mmc-dm355",
> + .data = &davinci_mmc_devtype[MMC_CTLR_VERSION_1],
> + },
> + {
> + .compatible = "ti,davinci-mmc-da830",
> + .data = &davinci_mmc_devtype[MMC_CTLR_VERSION_2],
> + },
> + {},
> +};
> +MODULE_DEVICE_TABLE(of, davinci_mmc_dt_ids);
> +
> +static struct davinci_mmc_config
> + *mmc_parse_pdata(struct platform_device *pdev)
> {
> + struct device_node *np;
> struct davinci_mmc_config *pdata = pdev->dev.platform_data;
> + const struct of_device_id *match =
> + of_match_device(of_match_ptr(davinci_mmc_dt_ids), &pdev->dev);
> + u32 data;
> +
> + np = pdev->dev.of_node;
> + if (!np)
> + return pdata;
> +
> + pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL);
> + if (!pdata) {
> + dev_err(&pdev->dev, "Failed to allocate memory for struct davinci_mmc_config\n");
> + goto nodata;
devm_kzalloc() returns NULL on error so you will end up returning
success in this case.
> + }
> +
> + if (match)
> + pdev->id_entry = match->data;
> +
> + of_property_read_u32(np, "max-frequency", &pdata->max_freq);
> + if (!pdata->max_freq)
> + dev_info(&pdev->dev, "'max-frequency' property not specified, defaulting to 25MHz\n");
of_property_read_u32() returns error on failure. pdata->max_freq is not
guaranteed to be zero in case of error. See comments atop
of_property_read_u32_array().
> +
> + of_property_read_u32(np, "bus-width", &data);
> + switch (data) {
> + case 1:
> + case 4:
> + case 8:
> + pdata->wires = data;
> + break;
> + default:
> + pdata->wires = 1;
> + dev_info(&pdev->dev, "Unsupported buswidth, defaulting to 1 bit\n");
> + }
> +nodata:
> + return pdata;
> +}
> +
Thanks,
Sekhar
WARNING: multiple messages have this Message-ID (diff)
From: nsekhar@ti.com (Sekhar Nori)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 3/5] mmc: davinci_mmc: add DT support
Date: Wed, 27 Feb 2013 17:13:43 +0530 [thread overview]
Message-ID: <512DF16F.50702@ti.com> (raw)
In-Reply-To: <1360909322-1858-4-git-send-email-prakash.pm@ti.com>
On 2/15/2013 11:52 AM, Manjunathappa, Prakash wrote:
> Adds device tree support for davinci_mmc. Also add binding documentation.
> As of now in non-dma PIO mode and without GPIO card_detect/write_protect
> option because of dependencies on EDMA and GPIO module DT support.
>
> Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com>
> Reviewed-by: Mark Rutland <mark.rutland@arm.com>
> Cc: linux-mmc at vger.kernel.org
> Cc: linux-arm-kernel at lists.infradead.org
> Cc: davinci-linux-open-source at linux.davincidsp.com
> Cc: devicetree-discuss at lists.ozlabs.org
> Cc: cjb at laptop.org
> Cc: Sekhar Nori <nsekhar@ti.com>
> Cc: mporter at ti.com
> diff --git a/drivers/mmc/host/davinci_mmc.c b/drivers/mmc/host/davinci_mmc.c
> index 874dc60..6b08b9a 100644
> --- a/drivers/mmc/host/davinci_mmc.c
> +++ b/drivers/mmc/host/davinci_mmc.c
> @@ -34,6 +34,8 @@
> #include <linux/dma-mapping.h>
> #include <linux/edma.h>
> #include <linux/mmc/mmc.h>
> +#include <linux/of.h>
> +#include <linux/of_device.h>
>
> #include <linux/platform_data/mmc-davinci.h>
>
> @@ -1156,6 +1158,7 @@ static void __init init_mmcsd_host(struct mmc_davinci_host *host)
>
> mmc_davinci_reset_ctrl(host, 0);
> }
> +
Stray line addition.
> static struct platform_device_id davinci_mmc_devtype[] = {
> {
> .name = "davinci-mmc-dm355",
> @@ -1168,9 +1171,63 @@ static struct platform_device_id davinci_mmc_devtype[] = {
> };
> MODULE_DEVICE_TABLE(platform, davinci_mmc_devtype);
>
> -static int __init davinci_mmcsd_probe(struct platform_device *pdev)
> +static const struct of_device_id davinci_mmc_dt_ids[] = {
> + {
> + .compatible = "ti,davinci-mmc-dm355",
> + .data = &davinci_mmc_devtype[MMC_CTLR_VERSION_1],
> + },
> + {
> + .compatible = "ti,davinci-mmc-da830",
> + .data = &davinci_mmc_devtype[MMC_CTLR_VERSION_2],
> + },
> + {},
> +};
> +MODULE_DEVICE_TABLE(of, davinci_mmc_dt_ids);
> +
> +static struct davinci_mmc_config
> + *mmc_parse_pdata(struct platform_device *pdev)
> {
> + struct device_node *np;
> struct davinci_mmc_config *pdata = pdev->dev.platform_data;
> + const struct of_device_id *match =
> + of_match_device(of_match_ptr(davinci_mmc_dt_ids), &pdev->dev);
> + u32 data;
> +
> + np = pdev->dev.of_node;
> + if (!np)
> + return pdata;
> +
> + pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL);
> + if (!pdata) {
> + dev_err(&pdev->dev, "Failed to allocate memory for struct davinci_mmc_config\n");
> + goto nodata;
devm_kzalloc() returns NULL on error so you will end up returning
success in this case.
> + }
> +
> + if (match)
> + pdev->id_entry = match->data;
> +
> + of_property_read_u32(np, "max-frequency", &pdata->max_freq);
> + if (!pdata->max_freq)
> + dev_info(&pdev->dev, "'max-frequency' property not specified, defaulting to 25MHz\n");
of_property_read_u32() returns error on failure. pdata->max_freq is not
guaranteed to be zero in case of error. See comments atop
of_property_read_u32_array().
> +
> + of_property_read_u32(np, "bus-width", &data);
> + switch (data) {
> + case 1:
> + case 4:
> + case 8:
> + pdata->wires = data;
> + break;
> + default:
> + pdata->wires = 1;
> + dev_info(&pdev->dev, "Unsupported buswidth, defaulting to 1 bit\n");
> + }
> +nodata:
> + return pdata;
> +}
> +
Thanks,
Sekhar
next prev parent reply other threads:[~2013-02-27 11:43 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-15 6:21 [PATCH v4 0/5] Add DT support for davinci_mmc driver Manjunathappa, Prakash
2013-02-15 6:21 ` Manjunathappa, Prakash
2013-02-15 6:21 ` [PATCH v4 1/5] ARM: davinci: mmc: derive version information from device name Manjunathappa, Prakash
2013-02-15 6:21 ` Manjunathappa, Prakash
2013-02-27 11:45 ` Sekhar Nori
2013-02-27 11:45 ` Sekhar Nori
2013-03-05 11:24 ` Manjunathappa, Prakash
2013-03-05 11:24 ` Manjunathappa, Prakash
2013-02-15 6:21 ` [PATCH v4 2/5] mmc: davinci_mmc: derive controller IP version from platform_device_id Manjunathappa, Prakash
2013-02-15 6:21 ` Manjunathappa, Prakash
2013-02-15 6:22 ` [PATCH v4 3/5] mmc: davinci_mmc: add DT support Manjunathappa, Prakash
2013-02-15 6:22 ` Manjunathappa, Prakash
2013-02-27 11:43 ` Sekhar Nori [this message]
2013-02-27 11:43 ` Sekhar Nori
2013-03-05 11:24 ` Manjunathappa, Prakash
2013-03-05 11:24 ` Manjunathappa, Prakash
2013-03-05 11:46 ` Sekhar Nori
2013-03-05 11:46 ` Sekhar Nori
2013-02-15 6:22 ` [PATCH v4 4/5] ARM: davinci: da850: add mmc DT entries Manjunathappa, Prakash
2013-02-15 6:22 ` Manjunathappa, Prakash
2013-02-15 6:22 ` Manjunathappa, Prakash
[not found] ` <1360909322-1858-1-git-send-email-prakash.pm-l0cyMroinI0@public.gmane.org>
2013-02-15 6:22 ` [PATCH v4 5/5] ARM: davinci: da850: override mmc DT node device name Manjunathappa, Prakash
2013-02-15 6:22 ` Manjunathappa, Prakash
2013-02-15 6:22 ` Manjunathappa, Prakash
2013-02-27 14:04 ` Rob Herring
2013-02-27 14:04 ` Rob Herring
2013-02-28 10:51 ` Sekhar Nori
2013-02-28 10:51 ` Sekhar Nori
2013-02-28 10:51 ` Sekhar Nori
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=512DF16F.50702@ti.com \
--to=nsekhar@ti.com \
--cc=cjb@laptop.org \
--cc=davinci-linux-open-source@linux.davincidsp.com \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=grant.likely@secretlab.ca \
--cc=hs@denx.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=mporter@ti.com \
--cc=prakash.pm@ti.com \
--cc=rob.herring@calxeda.com \
--cc=rob@landley.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.