On Mon, Jun 21, 2010 at 11:27:31AM +0800, Barry Song wrote:
[...]
> > How about we add a non_jedec flag in platform_data, if the flag is 1, we
> > let the detection pass even though the ID is 0? Otherwise, we need a
> > valid ID?
> Here i mean:

This will break at least OF-enabled platforms (e.g. PowerPC),
they assume that the driver will success for non-JEDEC flashes.
OF platforms don't pass platform data, and even if they did,
device tree doesn't specify if the flash is JEDEC or non-JEDEC.

Which is why I think that, by default, the driver should
successfully register the flash even if JEDEC probe fails. So,
instead of checking for "!non_jedec", I would recommend
"force_jedec" check.

> Index: drivers/mtd/devices/m25p80.c
> ===================================================================
> --- drivers/mtd/devices/m25p80.c      (revision 8927)
> +++ drivers/mtd/devices/m25p80.c      (revision 8929)
> @@ -795,8 +795,13 @@
> 
>               jid = jedec_probe(spi);
>               if (!jid) {
> -                     dev_info(&spi->dev, "non-JEDEC variant of %s\n",
> -                              id->name);
> +                     if (!data->non_jedec) {
> +                             dev_err(&spi->dev, "fail to detect%s\n",
> +                                             id->name);
> +                             return -ENODEV;
> +                     } else
> +                             dev_info(&spi->dev, "non-JEDEC variant of %s\n",
> +                                             id->name);
>               } else if (jid != id) {

-- 
Anton Vorontsov
email: cbouatmai...@gmail.com
irc://irc.freenode.net/bd2
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to