diff mbox

mtd: spi-nor: Move n25q032 entry to Micron devices list

Message ID 1414576675-7792-1-git-send-email-Chunhe.Lan@freescale.com
State Accepted
Commit 4414d3efe57df6168d1ea564d56557d76b5ad8c7
Headers show

Commit Message

Chunhe Lan Oct. 29, 2014, 9:57 a.m. UTC
Signed-off-by: Chunhe Lan <Chunhe.Lan@freescale.com>
Cc: Brian Norris <computersforpeace@gmail.com>
Cc: Marek Vasut <marex@denx.de>
Cc: Huang Shijie <shijie8@gmail.com>
---
 drivers/mtd/spi-nor/spi-nor.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Comments

Marek Vasut Oct. 29, 2014, 2:05 p.m. UTC | #1
On Wednesday, October 29, 2014 at 10:57:55 AM, Chunhe Lan wrote:

[...]

There are problems with this patch. Firstly, it misses any description
explaining why the change took place at all. From an outside observer
point of view, this change seems random at best.

Secondly, the change in itself makes no sense -- it just reorders the
entries in an array. I can only speculate here, that your SPI NOR was
recognised as some other part, right ? That's why moving the n25q032
higher resolved the problem for you, right ?

The problem is with the fragility of this code which matches the JEDEC
ID and type of the SPI NOR. I recall Huang had some patches which tried
to resolve this, not sure what the status of those patches is though.

> Signed-off-by: Chunhe Lan <Chunhe.Lan@freescale.com>
> Cc: Brian Norris <computersforpeace@gmail.com>
> Cc: Marek Vasut <marex@denx.de>
> Cc: Huang Shijie <shijie8@gmail.com>
> ---
>  drivers/mtd/spi-nor/spi-nor.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
> index ae16aa2..1fa5e05 100644
> --- a/drivers/mtd/spi-nor/spi-nor.c
> +++ b/drivers/mtd/spi-nor/spi-nor.c
> @@ -530,6 +530,7 @@ const struct spi_device_id spi_nor_ids[] = {
>  	{ "mx66l1g55g",  INFO(0xc2261b, 0, 64 * 1024, 2048, SPI_NOR_QUAD_READ) 
},
> 
>  	/* Micron */
> +	{ "n25q032",	 INFO(0x20ba16, 0, 64 * 1024,   64, 0) },
>  	{ "n25q064",     INFO(0x20ba17, 0, 64 * 1024,  128, 0) },
>  	{ "n25q128a11",  INFO(0x20bb18, 0, 64 * 1024,  256, 0) },
>  	{ "n25q128a13",  INFO(0x20ba18, 0, 64 * 1024,  256, 0) },
> @@ -586,7 +587,6 @@ const struct spi_device_id spi_nor_ids[] = {
>  	{ "m25p32",  INFO(0x202016,  0,  64 * 1024,  64, 0) },
>  	{ "m25p64",  INFO(0x202017,  0,  64 * 1024, 128, 0) },
>  	{ "m25p128", INFO(0x202018,  0, 256 * 1024,  64, 0) },
> -	{ "n25q032", INFO(0x20ba16,  0,  64 * 1024,  64, 0) },
> 
>  	{ "m25p05-nonjedec",  INFO(0, 0,  32 * 1024,   2, 0) },
>  	{ "m25p10-nonjedec",  INFO(0, 0,  32 * 1024,   4, 0) },

Best regards,
Marek Vasut
Rafał Miłecki Oct. 29, 2014, 5:40 p.m. UTC | #2
On 29 October 2014 15:05, Marek Vasut <marex@denx.de> wrote:
> On Wednesday, October 29, 2014 at 10:57:55 AM, Chunhe Lan wrote:
>
> [...]
>
> There are problems with this patch. Firstly, it misses any description
> explaining why the change took place at all. From an outside observer
> point of view, this change seems random at best.

This looks like a normal cleaning for me.


> Secondly, the change in itself makes no sense -- it just reorders the
> entries in an array.

It moves Micron entry to the Micron pseudo-group, which makes sense to me.


> I can only speculate here, that your SPI NOR was
> recognised as some other part, right ? That's why moving the n25q032
> higher resolved the problem for you, right ?
>
> The problem is with the fragility of this code which matches the JEDEC
> ID and type of the SPI NOR. I recall Huang had some patches which tried
> to resolve this, not sure what the status of those patches is though.

Wait, what? OK, this makes things tricky. Does this patch really
change any behavior? How does it happen? I don't see any duplicated
entry with the same JEDEC ID (0x20ba16).

Could you give us some more details?
Marek Vasut Oct. 29, 2014, 7:19 p.m. UTC | #3
On Wednesday, October 29, 2014 at 06:40:46 PM, Rafał Miłecki wrote:
> On 29 October 2014 15:05, Marek Vasut <marex@denx.de> wrote:
> > On Wednesday, October 29, 2014 at 10:57:55 AM, Chunhe Lan wrote:
> > 
> > [...]
> > 
> > There are problems with this patch. Firstly, it misses any description
> > explaining why the change took place at all. From an outside observer
> > point of view, this change seems random at best.
> 
> This looks like a normal cleaning for me.

We can only guess, since the commit message is missing.

> > Secondly, the change in itself makes no sense -- it just reorders the
> > entries in an array.
> 
> It moves Micron entry to the Micron pseudo-group, which makes sense to me.

I hope it's just that.

> > I can only speculate here, that your SPI NOR was
> > recognised as some other part, right ? That's why moving the n25q032
> > higher resolved the problem for you, right ?
> > 
> > The problem is with the fragility of this code which matches the JEDEC
> > ID and type of the SPI NOR. I recall Huang had some patches which tried
> > to resolve this, not sure what the status of those patches is though.
> 
> Wait, what? OK, this makes things tricky. Does this patch really
> change any behavior? How does it happen? I don't see any duplicated
> entry with the same JEDEC ID (0x20ba16).
> 
> Could you give us some more details?

Please see this thread:
http://lists.infradead.org/pipermail/linux-mtd/2014-April/053308.html

This is where the discussion about ordering in the table took place
and where the patch for implementing the support for length of READID
return value was proposed.

Best regards,
Marek Vasut
Rafał Miłecki Oct. 29, 2014, 7:43 p.m. UTC | #4
On 29 October 2014 20:19, Marek Vasut <marex@denx.de> wrote:
> On Wednesday, October 29, 2014 at 06:40:46 PM, Rafał Miłecki wrote:
>> On 29 October 2014 15:05, Marek Vasut <marex@denx.de> wrote:
>> > On Wednesday, October 29, 2014 at 10:57:55 AM, Chunhe Lan wrote:
>> >
>> > [...]
>> >
>> > There are problems with this patch. Firstly, it misses any description
>> > explaining why the change took place at all. From an outside observer
>> > point of view, this change seems random at best.
>>
>> This looks like a normal cleaning for me.
>
> We can only guess, since the commit message is missing.

Maybe the topic says everything the patch does :)


>> > I can only speculate here, that your SPI NOR was
>> > recognised as some other part, right ? That's why moving the n25q032
>> > higher resolved the problem for you, right ?
>> >
>> > The problem is with the fragility of this code which matches the JEDEC
>> > ID and type of the SPI NOR. I recall Huang had some patches which tried
>> > to resolve this, not sure what the status of those patches is though.
>>
>> Wait, what? OK, this makes things tricky. Does this patch really
>> change any behavior? How does it happen? I don't see any duplicated
>> entry with the same JEDEC ID (0x20ba16).
>>
>> Could you give us some more details?
>
> Please see this thread:
> http://lists.infradead.org/pipermail/linux-mtd/2014-April/053308.html
>
> This is where the discussion about ordering in the table took place
> and where the patch for implementing the support for length of READID
> return value was proposed.

As I said, entry "n25q032" doesn't share JEDEC with anything else and
does not even have an ext_id. So I don't think it's related to the
s25fl128s vs. s25fl129p1 problem.
Marek Vasut Oct. 29, 2014, 7:54 p.m. UTC | #5
On Wednesday, October 29, 2014 at 08:43:32 PM, Rafał Miłecki wrote:
> On 29 October 2014 20:19, Marek Vasut <marex@denx.de> wrote:
> > On Wednesday, October 29, 2014 at 06:40:46 PM, Rafał Miłecki wrote:
> >> On 29 October 2014 15:05, Marek Vasut <marex@denx.de> wrote:
> >> > On Wednesday, October 29, 2014 at 10:57:55 AM, Chunhe Lan wrote:
> >> > 
> >> > [...]
> >> > 
> >> > There are problems with this patch. Firstly, it misses any description
> >> > explaining why the change took place at all. From an outside observer
> >> > point of view, this change seems random at best.
> >> 
> >> This looks like a normal cleaning for me.
> > 
> > We can only guess, since the commit message is missing.
> 
> Maybe the topic says everything the patch does :)

Maybe :)

> >> > I can only speculate here, that your SPI NOR was
> >> > recognised as some other part, right ? That's why moving the n25q032
> >> > higher resolved the problem for you, right ?
> >> > 
> >> > The problem is with the fragility of this code which matches the JEDEC
> >> > ID and type of the SPI NOR. I recall Huang had some patches which
> >> > tried to resolve this, not sure what the status of those patches is
> >> > though.
> >> 
> >> Wait, what? OK, this makes things tricky. Does this patch really
> >> change any behavior? How does it happen? I don't see any duplicated
> >> entry with the same JEDEC ID (0x20ba16).
> >> 
> >> Could you give us some more details?
> > 
> > Please see this thread:
> > http://lists.infradead.org/pipermail/linux-mtd/2014-April/053308.html
> > 
> > This is where the discussion about ordering in the table took place
> > and where the patch for implementing the support for length of READID
> > return value was proposed.
> 
> As I said, entry "n25q032" doesn't share JEDEC with anything else and
> does not even have an ext_id. So I don't think it's related to the
> s25fl128s vs. s25fl129p1 problem.

I hope that's the case. Clearly, proper commit message would help clarify
this case ;-)

Best regards,
Marek Vasut
diff mbox

Patch

diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
index ae16aa2..1fa5e05 100644
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
@@ -530,6 +530,7 @@  const struct spi_device_id spi_nor_ids[] = {
 	{ "mx66l1g55g",  INFO(0xc2261b, 0, 64 * 1024, 2048, SPI_NOR_QUAD_READ) },
 
 	/* Micron */
+	{ "n25q032",	 INFO(0x20ba16, 0, 64 * 1024,   64, 0) },
 	{ "n25q064",     INFO(0x20ba17, 0, 64 * 1024,  128, 0) },
 	{ "n25q128a11",  INFO(0x20bb18, 0, 64 * 1024,  256, 0) },
 	{ "n25q128a13",  INFO(0x20ba18, 0, 64 * 1024,  256, 0) },
@@ -586,7 +587,6 @@  const struct spi_device_id spi_nor_ids[] = {
 	{ "m25p32",  INFO(0x202016,  0,  64 * 1024,  64, 0) },
 	{ "m25p64",  INFO(0x202017,  0,  64 * 1024, 128, 0) },
 	{ "m25p128", INFO(0x202018,  0, 256 * 1024,  64, 0) },
-	{ "n25q032", INFO(0x20ba16,  0,  64 * 1024,  64, 0) },
 
 	{ "m25p05-nonjedec",  INFO(0, 0,  32 * 1024,   2, 0) },
 	{ "m25p10-nonjedec",  INFO(0, 0,  32 * 1024,   4, 0) },