From patchwork Fri Oct 14 07:49:00 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: mtd: m25p80: don't probe device which has status of 'disabled' From: Shaohui Xie X-Patchwork-Id: 119735 Message-Id: <1318578540-12872-1-git-send-email-Shaohui.Xie@freescale.com> To: Cc: linux-mtd@lists.infradead.org, galak@kernel.crashing.org, Shaohui Xie Date: Fri, 14 Oct 2011 15:49:00 +0800 On some platforms such as P3060QDS, has multiple spi flashes, but they are not available at same time, so if their status is 'disabled', which is set by u-boot, will not be probed. Signed-off-by: Shaohui Xie --- Disabled nodes should automatically not be probed. But I found this is only true for spi node, for the flash nodes which embedded in spi node, still got probed even it has a status of 'disabled'. drivers/mtd/devices/m25p80.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/drivers/mtd/devices/m25p80.c b/drivers/mtd/devices/m25p80.c index 4e20c4d..30d61d5 100644 --- a/drivers/mtd/devices/m25p80.c +++ b/drivers/mtd/devices/m25p80.c @@ -30,6 +30,7 @@ #include #include #include +#include #include #include @@ -829,6 +830,11 @@ static int __devinit m25p_probe(struct spi_device *spi) struct mtd_partition *parts = NULL; int nr_parts = 0; +#ifdef CONFIG_MTD_OF_PARTS + if (!of_device_is_available(spi->dev.of_node)) + return -ENODEV; +#endif + /* Platform data helps sort out which chip type we have, as * well as how this board partitions it. If we don't have * a chip ID, try the JEDEC id commands; they'll work for most