Skip to contentSkip to conversation

mtd: nand: let the raw NAND devices be compiled upon selection

PATCH New Miquel Raynal 3 participants 8 messages Oct 11, 2018 – Apr 8, 2019

Subsystems (2)
lore
Share & tools
lore

Miquel Raynal

author maintainer
#0 lore raw

PATCH 1/1 mtd: nand: let the raw NAND devices be compiled upon selection

Today way is to rely on CMD_NAND to be selected and from the root Makefile compile what is in drivers/mtd/nand/raw.

While this will work most of the time with decent configurations, it is better to also compile this subsystem upon simple request in the configuration. Otherwise, a user not selecting CMD_NAND but selecting NAND and any of the controller drivers will not see their build. Fix this weird situation by adding a single line in the nand/ directory Kconfig file.

---
 drivers/mtd/nand/Makefile | 1 +
 1 file changed, 1 insertion(+)
drivers/mtd/nand/Makefile +1 -0
index a358bc680e..2c33447995 100644
@@ -2,4 +2,5 @@
 
 nandcore-objs := core.o bbt.o
 obj-$(CONFIG_MTD_NAND_CORE) += nandcore.o
+obj-$(CONFIG_NAND) += raw/
 obj-$(CONFIG_MTD_SPI_NAND) += spi/
Signature · 1 line
2.17.1
#1 lore raw

PATCH 1/1 mtd: nand: let the raw NAND devices be compiled upon selection

Quoted 21 lines · Miquel Raynal

Today way is to rely on CMD_NAND to be selected and from the root Makefile compile what is in drivers/mtd/nand/raw.

While this will work most of the time with decent configurations, it is better to also compile this subsystem upon simple request in the configuration. Otherwise, a user not selecting CMD_NAND but selecting NAND and any of the controller drivers will not see their build. Fix this weird situation by adding a single line in the nand/ directory Kconfig file.

---
 drivers/mtd/nand/Makefile | 1 +
 1 file changed, 1 insertion(+)
drivers/mtd/nand/Makefile +0 -0
index a358bc680e..2c33447995 100644

drivers/mtd/nand/Makefile line 5

Quoted 4 lines
drivers/mtd/nand/Makefile +1 -0
@@ -2,4 +2,5 @@
 
 nandcore-objs := core.o bbt.o
 obj-$(CONFIG_MTD_NAND_CORE) += nandcore.o
+obj-$(CONFIG_NAND) += raw/

But we even source raw Kconfig path, isn't it? and also how about remove this from root Makefile?

author maintainer
#2 lore raw

PATCH 1/1 mtd: nand: let the raw NAND devices be compiled upon selection

Hi Jagan,

Jagan Teki <[email protected]> wrote on Tue, 23 Oct 2018 16:40:05 +0530:

Quoted 23 lines · Miquel Raynal
Quoted 22 lines

Today way is to rely on CMD_NAND to be selected and from the root Makefile compile what is in drivers/mtd/nand/raw.

While this will work most of the time with decent configurations, it is better to also compile this subsystem upon simple request in the configuration. Otherwise, a user not selecting CMD_NAND but selecting NAND and any of the controller drivers will not see their build. Fix this weird situation by adding a single line in the nand/ directory Kconfig file.

---
 drivers/mtd/nand/Makefile | 1 +
 1 file changed, 1 insertion(+)
drivers/mtd/nand/Makefile +0 -0
index a358bc680e..2c33447995 100644
@@ -2,4 +2,5 @@
 
Quoted 6 lines

drivers/mtd/nand/Makefile line 5

Quoted 3 lines
drivers/mtd/nand/Makefile +1 -0
 nandcore-objs := core.o bbt.o
 obj-$(CONFIG_MTD_NAND_CORE) += nandcore.o
+obj-$(CONFIG_NAND) += raw/  

But we even source raw Kconfig path, isn't it? and also how about remove this from root Makefile?

What do you mean by "we even source raw Kconfig path"? It was not sourced before this modification unless CMD_NAND was selected.

I agree we should also remove this link between a path being compiled and a CMD_* symbol in the root Makefile. It will probably produce a lot of errors though. I'll try when I'll have some time.

Thanks,
Miquèl

#3 lore raw

PATCH 1/1 mtd: nand: let the raw NAND devices be compiled upon selection

Quoted 36 lines · Miquel Raynal

Hi Jagan,

Jagan Teki <[email protected]> wrote on Tue, 23 Oct 2018 16:40:05 +0530:

Quoted 23 lines · Miquel Raynal
Quoted 22 lines

Today way is to rely on CMD_NAND to be selected and from the root Makefile compile what is in drivers/mtd/nand/raw.

While this will work most of the time with decent configurations, it is better to also compile this subsystem upon simple request in the configuration. Otherwise, a user not selecting CMD_NAND but selecting NAND and any of the controller drivers will not see their build. Fix this weird situation by adding a single line in the nand/ directory Kconfig file.

---
 drivers/mtd/nand/Makefile | 1 +
 1 file changed, 1 insertion(+)
drivers/mtd/nand/Makefile +0 -0
index a358bc680e..2c33447995 100644
@@ -2,4 +2,5 @@
 
Quoted 6 lines

drivers/mtd/nand/Makefile line 5

Quoted 3 lines
drivers/mtd/nand/Makefile +1 -0
 nandcore-objs := core.o bbt.o
 obj-$(CONFIG_MTD_NAND_CORE) += nandcore.o
+obj-$(CONFIG_NAND) += raw/

But we even source raw Kconfig path, isn't it? and also how about remove this from root Makefile?

Quoted 6 lines

What do you mean by "we even source raw Kconfig path"? It was not sourced before this modification unless CMD_NAND was selected.

I agree we should also remove this link between a path being compiled and a CMD_* symbol in the root Makefile. It will probably produce a lot of errors though. I'll try when I'll have some time.

OK, but If it can't fire any issue as of now, may be we do full cleanup later.

author maintainer
#4 lore raw

PATCH 1/1 mtd: nand: let the raw NAND devices be compiled upon selection

In reply to Miquel Raynal

Hi Jagan,

Miquel Raynal <[email protected]> wrote on Mon, 29 Oct 2018 10:07:28 +0100:

Quoted 35 lines

Hi Jagan,

Jagan Teki <[email protected]> wrote on Tue, 23 Oct 2018 16:40:05 +0530:

Quoted 23 lines · Miquel Raynal
Quoted 22 lines

Today way is to rely on CMD_NAND to be selected and from the root Makefile compile what is in drivers/mtd/nand/raw.

While this will work most of the time with decent configurations, it is better to also compile this subsystem upon simple request in the configuration. Otherwise, a user not selecting CMD_NAND but selecting NAND and any of the controller drivers will not see their build. Fix this weird situation by adding a single line in the nand/ directory Kconfig file.

---
 drivers/mtd/nand/Makefile | 1 +
 1 file changed, 1 insertion(+)
drivers/mtd/nand/Makefile +0 -0
index a358bc680e..2c33447995 100644
@@ -2,4 +2,5 @@
 
Quoted 6 lines

drivers/mtd/nand/Makefile line 5

Quoted 3 lines
drivers/mtd/nand/Makefile +1 -0
 nandcore-objs := core.o bbt.o
 obj-$(CONFIG_MTD_NAND_CORE) += nandcore.o
+obj-$(CONFIG_NAND) += raw/    

But we even source raw Kconfig path, isn't it? and also how about remove this from root Makefile?

Quoted 6 lines

What do you mean by "we even source raw Kconfig path"? It was not sourced before this modification unless CMD_NAND was selected.

I agree we should also remove this link between a path being compiled and a CMD_* symbol in the root Makefile. It will probably produce a lot of errors though. I'll try when I'll have some time.

Yet another patch you ignored. All these are real fixes, not just some kind of sandbox leisure, please consider this change.

Thanks,
Miquèl

#5 lore raw

PATCH 1/1 mtd: nand: let the raw NAND devices be compiled upon selection

Quoted 43 lines · Miquel Raynal

Hi Jagan,

Miquel Raynal <[email protected]> wrote on Mon, 29 Oct 2018 10:07:28 +0100:

Quoted 38 lines

Hi Jagan,

Jagan Teki <[email protected]> wrote on Tue, 23 Oct 2018 16:40:05 +0530:

Quoted 23 lines · Miquel Raynal
Quoted 22 lines

Today way is to rely on CMD_NAND to be selected and from the root Makefile compile what is in drivers/mtd/nand/raw.

While this will work most of the time with decent configurations, it is better to also compile this subsystem upon simple request in the configuration. Otherwise, a user not selecting CMD_NAND but selecting NAND and any of the controller drivers will not see their build. Fix this weird situation by adding a single line in the nand/ directory Kconfig file.

---
 drivers/mtd/nand/Makefile | 1 +
 1 file changed, 1 insertion(+)
drivers/mtd/nand/Makefile +0 -0
index a358bc680e..2c33447995 100644
@@ -2,4 +2,5 @@
 
Quoted 6 lines

drivers/mtd/nand/Makefile line 5

Quoted 3 lines
drivers/mtd/nand/Makefile +1 -0
 nandcore-objs := core.o bbt.o
 obj-$(CONFIG_MTD_NAND_CORE) += nandcore.o
+obj-$(CONFIG_NAND) += raw/    

But we even source raw Kconfig path, isn't it? and also how about remove this from root Makefile?

What do you mean by "we even source raw Kconfig path"? It was not sourced before this modification unless CMD_NAND was selected.

Quoted 6 lines
Quoted 3 lines

I agree we should also remove this link between a path being compiled and a CMD_* symbol in the root Makefile. It will probably produce a lot of errors though. I'll try when I'll have some time.

Yet another patch you ignored. All these are real fixes, not just some kind of sandbox leisure, please consider this change.

Yes, what's going on here? Thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190408/87dc41d7/attachment.sig>
#6 lore raw

PATCH 1/1 mtd: nand: let the raw NAND devices be compiled upon selection

In reply to Miquel Raynal

Hi Miquel,

Quoted 44 lines · Miquel Raynal

Hi Jagan,

Miquel Raynal <[email protected]> wrote on Mon, 29 Oct 2018 10:07:28 +0100:

Quoted 38 lines

Hi Jagan,

Jagan Teki <[email protected]> wrote on Tue, 23 Oct 2018 16:40:05 +0530:

Quoted 23 lines · Miquel Raynal
Quoted 22 lines

Today way is to rely on CMD_NAND to be selected and from the root Makefile compile what is in drivers/mtd/nand/raw.

While this will work most of the time with decent configurations, it is better to also compile this subsystem upon simple request in the configuration. Otherwise, a user not selecting CMD_NAND but selecting NAND and any of the controller drivers will not see their build. Fix this weird situation by adding a single line in the nand/ directory Kconfig file.

---
 drivers/mtd/nand/Makefile | 1 +
 1 file changed, 1 insertion(+)
drivers/mtd/nand/Makefile +0 -0
index a358bc680e..2c33447995 100644
@@ -2,4 +2,5 @@
 
Quoted 6 lines

drivers/mtd/nand/Makefile line 5

Quoted 3 lines
drivers/mtd/nand/Makefile +1 -0
 nandcore-objs := core.o bbt.o
 obj-$(CONFIG_MTD_NAND_CORE) += nandcore.o
+obj-$(CONFIG_NAND) += raw/

But we even source raw Kconfig path, isn't it? and also how about remove this from root Makefile?

What do you mean by "we even source raw Kconfig path"? It was not sourced before this modification unless CMD_NAND was selected.

Quoted 6 lines
Quoted 3 lines

I agree we should also remove this link between a path being compiled and a CMD_* symbol in the root Makefile. It will probably produce a lot of errors though. I'll try when I'll have some time.

Yet another patch you ignored. All these are real fixes, not just some kind of sandbox leisure, please consider this change.

1) Did I ignore any patches from you?

2) This change I just commented before and I think the same is handling on your cleanup series, If I'm not wrong?

Jagan.

author maintainer
#7 lore raw

PATCH 1/1 mtd: nand: let the raw NAND devices be compiled upon selection

Jagan,

Jagan Teki <[email protected]> wrote on Mon, 8 Apr 2019 17:28:18 +0530:

Quoted 47 lines

Hi Miquel,

Quoted 44 lines · Miquel Raynal

Hi Jagan,

Miquel Raynal <[email protected]> wrote on Mon, 29 Oct 2018 10:07:28 +0100:

Quoted 38 lines

Hi Jagan,

Jagan Teki <[email protected]> wrote on Tue, 23 Oct 2018 16:40:05 +0530:

Quoted 23 lines · Miquel Raynal
Quoted 22 lines

Today way is to rely on CMD_NAND to be selected and from the root Makefile compile what is in drivers/mtd/nand/raw.

While this will work most of the time with decent configurations, it is better to also compile this subsystem upon simple request in the configuration. Otherwise, a user not selecting CMD_NAND but selecting NAND and any of the controller drivers will not see their build. Fix this weird situation by adding a single line in the nand/ directory Kconfig file.

---
 drivers/mtd/nand/Makefile | 1 +
 1 file changed, 1 insertion(+)
drivers/mtd/nand/Makefile +0 -0
index a358bc680e..2c33447995 100644
@@ -2,4 +2,5 @@
 
Quoted 6 lines

drivers/mtd/nand/Makefile line 5

Quoted 3 lines
drivers/mtd/nand/Makefile +1 -0
 nandcore-objs := core.o bbt.o
 obj-$(CONFIG_MTD_NAND_CORE) += nandcore.o
+obj-$(CONFIG_NAND) += raw/  

But we even source raw Kconfig path, isn't it? and also how about remove this from root Makefile?

What do you mean by "we even source raw Kconfig path"? It was not sourced before this modification unless CMD_NAND was selected.

Quoted 8 lines
Quoted 6 lines
Quoted 3 lines

I agree we should also remove this link between a path being compiled and a CMD_* symbol in the root Makefile. It will probably produce a lot of errors though. I'll try when I'll have some time.

Yet another patch you ignored. All these are real fixes, not just some kind of sandbox leisure, please consider this change.

1) Did I ignore any patches from you?

* [PATCH] mtd: nand: let the raw NAND devices be compiled upon selection -> 11/10/2018: Sent on the ML
-> 23/10/2018-05/11/2018: you want something cleaner, I tell you I
will do it soon but for now the issue should be fixed.
-> 08/04/2019: Ping from me because the other series is still not
applied, the quick fix neither, the bug is still there.

* [PATCH v4 00/25] MTD defconfigs/Kconfigs/Makefiles heavy cleanup -> 09/12/2018: v4 sent on the ML with all comments addressed -> 20/02/2019: Ping from Vignesh
-> 20/02/2019: Ping from me
-> 06/03/2019: Ping from me
-> 17/03/2019: Ping from me
-> 17/03/2019: Ping from Tom
-> 19/03/2019: You answer: "Yes, it's late from my end, will have a look at and comment asap."
-> 08/04/2019: Ping from me

* [PATCH 1/2] mtd: fix mtd_oobavail() incoherent returned value
* [PATCH 2/2] mtd: fix Coverity integer handling issue -> 16/10/2018: Coverity issues reported by Tom privately -> 18/11/2018: Fixes sent on the ML (both for Linux and U-Boot). For your defense, you were not in Cc of the patches but they are marked 'New' in Patchwork and assigned to you.
-> 03/12/2018: Fixes applied in Linux
-> 08/04/2018: Ping from me

Quoted 2 lines

2) This change I just commented before and I think the same is handling on your cleanup series, If I'm not wrong?

When there is a bug, the usual handling procedure is:
1/ fix the bug so that users are not bothered,
2/ if the fix is not elegant enough then a rework of the faulty
section is engaged.

History:

We discovered after applying my "SPI-NAND support (third batch)" 13th version from the 01/10/2018 that under certain circumstances the raw NAND core could be missing because of the game of the select/depends on properties. It was a compile-time issue only.

Because I want the selection to be easier for the user, I fixed it with the current patch. This is the quick fix sent the 11/10/2018 addressing situation 1/.

We agreed that it could be useful to rework the entire Makefile/Kconfig soup in the MTD layer. So this is why I wrote on my spare time and send the full cleanup series. This is the deepest rework sent the 29/10/2018 (v2), the 05/12/2018 (v3) and the 09/12/2018 (v4) addressing situation 2/.

Regards,
Miquèl