From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wy0-f177.google.com ([74.125.82.177]) by bombadil.infradead.org with esmtp (Exim 4.72 #1 (Red Hat Linux)) id 1OQbb9-0007YA-0q for linux-mtd@lists.infradead.org; Mon, 21 Jun 2010 07:39:15 +0000 Received: by wyg36 with SMTP id 36so2315032wyg.36 for ; Mon, 21 Jun 2010 00:39:13 -0700 (PDT) Date: Mon, 21 Jun 2010 11:39:09 +0400 From: Anton Vorontsov To: Barry Song <21cnbao@gmail.com> Subject: Re: [Uclinux-dist-devel] [PATCH 1/2] mtd: m25p80: Reworkprobing/JEDEC code Message-ID: <20100621073909.GA20674@oksana.dev.rtsoft.ru> References: <20090818214449.GA12848@oksana.dev.rtsoft.ru> <20090818214622.GA22651@oksana.dev.rtsoft.ru> <20100618133212.GA5276@oksana.dev.rtsoft.ru> <0F1B54C89D5F954D8535DB252AF412FA065551D8@chinexm1.ad.analog.com> <20100621071551.GA16109@oksana.dev.rtsoft.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Cc: David Brownell , Artem Bityutskiy , linux-kernel@vger.kernel.org, "Song, Barry" , linuxppc-dev@ozlabs.org, linux-mtd@lists.infradead.org, uclinux-dist-devel@blackfin.uclinux.org, Andrew Morton List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Mon, Jun 21, 2010 at 03:22:48PM +0800, Barry Song wrote: > On Mon, Jun 21, 2010 at 3:15 PM, Anton Vorontsov 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@gmail.com > > irc://irc.freenode.net/bd2 > > -- Anton Vorontsov email: cbouatmailru@gmail.com irc://irc.freenode.net/bd2