On Thu, Oct 3, 2019 at 11:20 PM Miquel Raynal <[email protected]> wrote: > > Hello, > > A year ago, while working on SPI-NAND support in U-Boot, I discovered > when modifying Makefiles a confusing organization where: > * Sub-directories/files are compiled from the root Makefile > * Commands are at the root of everything > > First I sent a series to move Makefile entries in their respective > directories. Then, I decided to continue working on the clarification > of the Makefile hierarchy in MTD and I sent four iterations of this > series which did not got merge at that time. Anyway, I revived this > series by rebasing all my work and updating everything that needed an > update. > > Here are the main points of the re-organization: > * Rename CONFIG_MTD into CONFIG_DM_MTD to reserve CONFIG_MTD to what > is called today CONFIG_MTD_DEVICE. > * Fix build dependencies in defconfigs, like: "UBI and NAND depend on MTD". > * Fix the Kconfig files to reflect these dependencies (as defconfigs > have been updated, nothing should break). > * Simplify the Makefiles: compiling the drivers/mtd/nand/raw/ > sub-directory should just depend on MTD being compiled and the NAND > core as well, there is absolutely no logic to make it depend on > CMD_NAND. > > The New green Travis CI build for the fifth version of this series is > there (yes, 53 iterations): > > Please note that the only red test fails because of timeout, not an > actual error (at least I could not spot it). It is possible that this > series will produce noticeable changes for the users. The only reason > for that is because their configuration file was wrong. I have done my > best to fix them one by one, but I am not omniscient. > > Thanks, > Miquèl > > > Note: as the number of Cc:'ed people reached 184 with > get_maintainers.pl I decided to trim the list to: > * People interested by the MTD subsystem. > * A few maintainers: I had to tweak some defconfigs after more digging > than with other boards (k2g, bcm11130, M54418TWR, > ls104/108/208). Maintainers of these platforms are Cc:'ed. > > > Changes since v4: > ================= > * Rebased on top of v2019.10-rc4. > * Fixed tens of configurations that got broken since the last version > of this series several months ago. > * Added a specific commit for ls104/108/208 configurations. > > Changes since v3: > ================= > * As suggested by Vignesh, SPI_FLASH_MTD depends on MTD. Enforce this > in Kconfig with a new patch. There is no defconfig to fix, all > defconfigs with SPI_FLASH_MTD already use MTD. > * s/coherent Makefile/appropriate Makefile/ in commit title of patch 1. > * s/Kconfig/Makefile in commit message of "mtd: nand: remove > dependency on commands in Kconfig" and "mtd: ubi: remove dependency > on command in Kconfig". > * Add Boris R-b tags. > * Correct typos pointed by Boris. > * Remove the if/endif in cmd/Kconfig about mtdparts, let the "depends > on" that was already present. > * Use an if/endif block to compile legacy-mtd-utils.c (to avoid > failures when both 'sf' and 'nand' commands are compiled-in). > * Merge all Makefile changes in one consistent commit as suggested by > Boris. > > Changes since v2: > ================= > * Cleanup also applied to the SPL in an additional patch. > * NOR dependency on MTD extracted from the patch adding MTD > dependencies on commands only to do it in a separate change. > * Typo s/copile/compile/ in "rename CONFIG_MTD_DEVICE..." commit log. > * No more MTD depencency on SPI_FLASH, only kept on SPI_FLASH_MTD. > * Same applies to the sf command. > * Avoid compiling the NAND core while it is not needed (not speaking > about the raw NAND core, really what is in drivers/mtd/nand:). > * Last patch dropping CONFIG_MTD_PARTITIONS forgotten. We need them in > order to reduce the final binary size. > * Additional fixes in cmd/Kconfig. > > Changes since v1: > ================= > * Squashed both patches from the first series and included them in > "mtd: simplify Makefiles". > * Added all other patches. > * Renamed CONFIG_NAND into CONFIG_MTD_RAW_NAND as suggested. > > > Miquel Raynal (26): > mtd: rename CONFIG_NAND -> CONFIG_MTD_RAW_NAND > mtd: rename CONFIG_MTD -> CONFIG_DM_MTD > mtd: rename CONFIG_MTD_DEVICE -> CONFIG_MTD > mtd: ensure MTD is compiled when there is a NOR flash > mtd: ensure MTD/the raw NAND core are compiled when there is a NAND > flash > mtd: ensure MTD is compiled when there is a SPI NOR flash using MTD > mtd: ensure UBI is compiled when using fastmap > mtd: ensure MTD is compiled when UBI is used > mtd: ensure UBI is compiled when CMD_UBI is selected > mtd: ensure UBI is compiled when ENV_IS_IN_UBI is selected > mtd: ensure MTD_RAW_NAND is compiled when ENV_IS_IN_NAND is selected > mtd: ensure CMD_NAND is compiled when its options are selected > mtd: ensure MTD is compiled when CMD_MTDPARTS is selected > configs: move CONFIG_MTD in defconfigs when set in arch includes > configs: remove raw NAND core from k2g defconfigs > configs: remove MTD support from bcm11130 and M54418TWR defconfigs > configs: socfpga: mcvevk: Remove useless UBI infos > configs: ls104x/ls108x/ls208x: Build the raw NAND core with TFABOOT > mtd: nand: add includes in NAND core to avoid warnings > dfu: add dependency on the raw NAND core > mtd: nor: NOR flashes depend on MTD > mtd: spi: SPI_FLASH_MTD depends on MTD > cmd: mtdparts: Kconfig: join mtdparts command entry with its options > cmd: nand/sf: isolate legacy code > cmd: make MTD commands depend on MTD > mtd: Makefile: deep cleanup
Except 24/26 comments. all look fine to me. Acked-by: Jagan Teki <[email protected]> Tested-by: Jagan Teki <[email protected]> # SoPine, SiFive FU540 _______________________________________________ U-Boot mailing list [email protected] https://lists.denx.de/listinfo/u-boot

