All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mingkai Hu <Mingkai.hu-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
To: linuxppc-dev-mnsaURCQ41sdnm+yROfE0A@public.gmane.org,
	spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Cc: kumar.gala-KZfg59tc24xl57MIdRCFDg@public.gmane.org,
	tie-fei.zang-KZfg59tc24xl57MIdRCFDg@public.gmane.org,
	Mingkai Hu <Mingkai.hu-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
Subject: [PATCH v2 3/6] mtd: m25p80: add support to parse the SPI flash's partitions
Date: Mon, 2 Aug 2010 15:52:01 +0800	[thread overview]
Message-ID: <1280735524-17547-4-git-send-email-Mingkai.hu@freescale.com> (raw)
In-Reply-To: <1280735524-17547-3-git-send-email-Mingkai.hu-KZfg59tc24xl57MIdRCFDg@public.gmane.org>

Signed-off-by: Mingkai Hu <Mingkai.hu-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
---

v2:
 - Move the flash partition function from of_spi.c to MTD driver

 drivers/mtd/devices/m25p80.c |   29 +++++++++++++++++++++++++++++
 1 files changed, 29 insertions(+), 0 deletions(-)

diff --git a/drivers/mtd/devices/m25p80.c b/drivers/mtd/devices/m25p80.c
index 81e49a9..5f00075 100644
--- a/drivers/mtd/devices/m25p80.c
+++ b/drivers/mtd/devices/m25p80.c
@@ -752,6 +752,31 @@ static const struct spi_device_id *__devinit jedec_probe(struct spi_device *spi)
 	return NULL;
 }
 
+/*
+ * parse_flash_partition - Parse the flash partition on the SPI bus
+ * @spi: Pointer to spi_device device
+ */
+void parse_flash_partition(struct spi_device *spi)
+{
+	struct mtd_partition *parts;
+	struct flash_platform_data *pdata;
+	int nr_parts = 0;
+	struct device_node *np = spi->dev.of_node;
+
+	nr_parts = of_mtd_parse_partitions(&spi->dev, np, &parts);
+	if (!nr_parts)
+		return;
+
+	pdata = kzalloc(sizeof(*pdata), GFP_KERNEL);
+	if (!pdata)
+		return;
+
+	pdata->parts = parts;
+	pdata->nr_parts = nr_parts;
+	spi->dev.platform_data = pdata;
+
+	return;
+}
 
 /*
  * board specific setup should have ensured the SPI clock used here
@@ -771,6 +796,10 @@ static int __devinit m25p_probe(struct spi_device *spi)
 	 * a chip ID, try the JEDEC id commands; they'll work for most
 	 * newer chips, even if we don't recognize the particular chip.
 	 */
+
+	/* Parse the flash partition */
+	parse_flash_partition(spi);
+
 	data = spi->dev.platform_data;
 	if (data && data->type) {
 		const struct spi_device_id *plat_id;
-- 
1.6.4



------------------------------------------------------------------------------
The Palm PDK Hot Apps Program offers developers who use the
Plug-In Development Kit to bring their C/C++ apps to Palm for a share
of $1 Million in cash or HP Products. Visit us here for more details:
http://p.sf.net/sfu/dev2dev-palm

WARNING: multiple messages have this Message-ID (diff)
From: Mingkai Hu <Mingkai.hu@freescale.com>
To: linuxppc-dev@ozlabs.org, spi-devel-general@lists.sourceforge.net
Cc: kumar.gala@freescale.com, Mingkai Hu <Mingkai.hu@freescale.com>
Subject: [PATCH v2 3/6] mtd: m25p80: add support to parse the SPI flash's partitions
Date: Mon, 2 Aug 2010 15:52:01 +0800	[thread overview]
Message-ID: <1280735524-17547-4-git-send-email-Mingkai.hu@freescale.com> (raw)
In-Reply-To: <1280735524-17547-3-git-send-email-Mingkai.hu@freescale.com>

Signed-off-by: Mingkai Hu <Mingkai.hu@freescale.com>
---

v2:
 - Move the flash partition function from of_spi.c to MTD driver

 drivers/mtd/devices/m25p80.c |   29 +++++++++++++++++++++++++++++
 1 files changed, 29 insertions(+), 0 deletions(-)

diff --git a/drivers/mtd/devices/m25p80.c b/drivers/mtd/devices/m25p80.c
index 81e49a9..5f00075 100644
--- a/drivers/mtd/devices/m25p80.c
+++ b/drivers/mtd/devices/m25p80.c
@@ -752,6 +752,31 @@ static const struct spi_device_id *__devinit jedec_probe(struct spi_device *spi)
 	return NULL;
 }
 
+/*
+ * parse_flash_partition - Parse the flash partition on the SPI bus
+ * @spi: Pointer to spi_device device
+ */
+void parse_flash_partition(struct spi_device *spi)
+{
+	struct mtd_partition *parts;
+	struct flash_platform_data *pdata;
+	int nr_parts = 0;
+	struct device_node *np = spi->dev.of_node;
+
+	nr_parts = of_mtd_parse_partitions(&spi->dev, np, &parts);
+	if (!nr_parts)
+		return;
+
+	pdata = kzalloc(sizeof(*pdata), GFP_KERNEL);
+	if (!pdata)
+		return;
+
+	pdata->parts = parts;
+	pdata->nr_parts = nr_parts;
+	spi->dev.platform_data = pdata;
+
+	return;
+}
 
 /*
  * board specific setup should have ensured the SPI clock used here
@@ -771,6 +796,10 @@ static int __devinit m25p_probe(struct spi_device *spi)
 	 * a chip ID, try the JEDEC id commands; they'll work for most
 	 * newer chips, even if we don't recognize the particular chip.
 	 */
+
+	/* Parse the flash partition */
+	parse_flash_partition(spi);
+
 	data = spi->dev.platform_data;
 	if (data && data->type) {
 		const struct spi_device_id *plat_id;
-- 
1.6.4

  parent reply	other threads:[~2010-08-02  7:52 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-02  7:51 [PATCH v2 0/6] refactor spi_mpc8xxx.c and add eSPI controller support Mingkai Hu
2010-08-02  7:51 ` Mingkai Hu
     [not found] ` <1280735524-17547-1-git-send-email-Mingkai.hu-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2010-08-02  7:51   ` [PATCH v2 1/6] spi/mpc8xxx: refactor the common code for SPI/eSPI controller Mingkai Hu
2010-08-02  7:51     ` Mingkai Hu
     [not found]     ` <1280735524-17547-2-git-send-email-Mingkai.hu-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2010-08-02  7:52       ` [PATCH v2 2/6] eSPI: add eSPI controller support Mingkai Hu
2010-08-02  7:52         ` Mingkai Hu
     [not found]         ` <1280735524-17547-3-git-send-email-Mingkai.hu-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2010-08-02  7:52           ` Mingkai Hu [this message]
2010-08-02  7:52             ` [PATCH v2 3/6] mtd: m25p80: add support to parse the SPI flash's partitions Mingkai Hu
     [not found]             ` <1280735524-17547-4-git-send-email-Mingkai.hu-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2010-08-02  7:52               ` [PATCH v2 4/6] mtd: m25p80: add a read function to read page by page Mingkai Hu
2010-08-02  7:52                 ` Mingkai Hu
     [not found]                 ` <1280735524-17547-5-git-send-email-Mingkai.hu-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2010-08-02  7:52                   ` [PATCH v2 5/6] powerpc/of: add eSPI controller dts bindings Mingkai Hu
2010-08-02  7:52                     ` Mingkai Hu
     [not found]                     ` <1280735524-17547-6-git-send-email-Mingkai.hu-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2010-08-02  7:52                       ` [PATCH v2 6/6] DTS: add SPI flash(s25fl128p01) support on p4080ds and mpc8536ds board Mingkai Hu
2010-08-02  7:52                         ` Mingkai Hu
     [not found]                         ` <1280735524-17547-7-git-send-email-Mingkai.hu-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2010-08-10  7:10                           ` Grant Likely
2010-08-10  7:10                             ` Grant Likely
     [not found]                             ` <AANLkTinzea7-k3Wd6EsAy+ipThHMhkpMF3pCP7g_6O6J-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-09-02  8:30                               ` Hu Mingkai-B21284
2010-09-02  8:30                                 ` Hu Mingkai-B21284
2010-08-10  7:00                   ` [PATCH v2 4/6] mtd: m25p80: add a read function to read page by page Grant Likely
2010-08-10  7:00                     ` Grant Likely
2010-08-10 13:44                     ` [spi-devel-general] " David Brownell
2010-08-10 13:44                       ` David Brownell
2010-09-02  9:04                     ` Hu Mingkai-B21284
2010-09-02  9:04                       ` Hu Mingkai-B21284
2010-08-10  6:56               ` [PATCH v2 3/6] mtd: m25p80: add support to parse the SPI flash's partitions Grant Likely
2010-08-10  6:56                 ` Grant Likely
2010-08-10  7:14                 ` [spi-devel-general] " David Brownell
2010-08-10  7:14                   ` David Brownell
     [not found]                   ` <796604.30863.qm-g47maUHHHF9eqboJWQvT7/u2YVrzzGjVVpNB7YpNyf8@public.gmane.org>
2010-08-10  7:16                     ` Grant Likely
2010-08-10  7:16                       ` [spi-devel-general] " Grant Likely
     [not found]                       ` <AANLkTi=FGf9gbWDkO4qs01Z+qkip+Zm11=Jc4wHu3G8b-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-08-10  8:29                         ` Joakim Tjernlund
     [not found]                           ` <OF0D24DC16.E1FE65D2-ONC125777B.002E544A-C125777B.002EA7C2-SNLAxHN9vbcOP4wsBPIw7w@public.gmane.org>
2010-08-10 14:56                             ` Grant Likely
2010-08-10 14:56                               ` [spi-devel-general] " Grant Likely
     [not found]                               ` <AANLkTinYYTj+dR6ckPoShHKZTUmENEA1O-DYP9mjnWrs-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-08-10 16:01                                 ` Anton Vorontsov
2010-08-10 16:01                                   ` [spi-devel-general] " Anton Vorontsov
2010-09-02  8:57                                   ` Hu Mingkai-B21284
2010-09-02  8:57                                     ` Hu Mingkai-B21284
2010-08-10 17:23                                 ` Joakim Tjernlund
2010-08-10 17:23                                   ` [spi-devel-general] " Joakim Tjernlund
     [not found]                                   ` <OFF5EA512A.075E51C6-ONC125777B.005D9750-C125777B.005F8CAF-SNLAxHN9vbcOP4wsBPIw7w@public.gmane.org>
2010-08-10 18:27                                     ` Grant Likely
2010-08-10 18:27                                       ` [spi-devel-general] " Grant Likely
     [not found]                                       ` <AANLkTi=EpjPC8Hf6dM1att8Mjg5vmfQxs2=4aUTYTrUL-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-09-02  8:46                                         ` Hu Mingkai-B21284
2010-09-02  8:46                                           ` [spi-devel-general] " Hu Mingkai-B21284
2010-08-10  6:44           ` [PATCH v2 2/6] eSPI: add eSPI controller support Grant Likely
2010-08-10  6:44             ` Grant Likely
     [not found]             ` <AANLkTin3W4++cAFcksVBX3QxeV8QF3d5T2tGy_KbEkRs-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-09-02  8:28               ` Hu Mingkai-B21284
2010-09-02  8:28                 ` Hu Mingkai-B21284
2010-08-10  6:40       ` [PATCH v2 1/6] spi/mpc8xxx: refactor the common code for SPI/eSPI controller Grant Likely
2010-08-10  6:40         ` Grant Likely
2010-09-02  8:27         ` Hu Mingkai-B21284
2010-09-02  8:27           ` Hu Mingkai-B21284

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=1280735524-17547-4-git-send-email-Mingkai.hu@freescale.com \
    --to=mingkai.hu-kzfg59tc24xl57midrcfdg@public.gmane.org \
    --cc=kumar.gala-KZfg59tc24xl57MIdRCFDg@public.gmane.org \
    --cc=linuxppc-dev-mnsaURCQ41sdnm+yROfE0A@public.gmane.org \
    --cc=spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
    --cc=tie-fei.zang-KZfg59tc24xl57MIdRCFDg@public.gmane.org \
    /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.