Message ID | 1318578540-12872-1-git-send-email-Shaohui.Xie@freescale.com |
---|---|
State | New, archived |
Headers | show |
On Fri, 2011-10-14 at 15:49 +0800, Shaohui Xie wrote: > 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 <Shaohui.Xie@freescale.com> Pushed to l2-mtd-2.6.git, thanks!
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 <linux/mtd/cfi.h> #include <linux/mtd/mtd.h> #include <linux/mtd/partitions.h> +#include <linux/of_platform.h> #include <linux/spi/spi.h> #include <linux/spi/flash.h> @@ -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
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 <Shaohui.Xie@freescale.com> --- 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(-)