Re: [Uclinux-dist-devel] [PATCH 1/2] mtd: m25p80:Reworkprobing/JEDEC code

From: Anton Vorontsov
Date: Mon Jun 21 2010 - 03:39:24 EST


On Mon, Jun 21, 2010 at 03:22:48PM +0800, Barry Song wrote:
> On Mon, Jun 21, 2010 at 3:15 PM, Anton Vorontsov <cbouatmailru@xxxxxxxxx> wrote:
> > 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.
>
> Mike Frysinger suggested to use non_jedec since most devices are
> standard jedec devices.

Well, on OF platforms most devices that I'm aware of are non-JEDEC.

> Only if non_jedec=1, we let the detection pass
> if ID is 0.

Then please #ifdef it with CONFIG_OF.

Thanks,

> >> 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: cbouatmailru@xxxxxxxxx
> > irc://irc.freenode.net/bd2
> >

--
Anton Vorontsov
email: cbouatmailru@xxxxxxxxx
irc://irc.freenode.net/bd2
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/