From mboxrd@z Thu Jan 1 00:00:00 1970 From: Miquel Raynal Date: Fri, 12 Apr 2019 09:22:20 +0200 Subject: [U-Boot] [PATCH v4 00/25] MTD defconfigs/Kconfigs/Makefiles heavy cleanup In-Reply-To: References: <20181209180747.24575-1-miquel.raynal@bootlin.com> Message-ID: <20190412092220.5cd42549@xps13> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit To: u-boot@lists.denx.de Hi Jagan, Jagan Teki wrote on Fri, 12 Apr 2019 11:13:21 +0530: > On Sun, Dec 9, 2018 at 11:38 PM Miquel Raynal wrote: > > > > Hello, > > > > During my last project about 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 > > > > I sent a fist series a few weeks ago to move Makefile entries in their > > respective directories (which needed to be reworked). Since then, I > > have been working on clarifying all this for the MTD subsystem and > > here are the main points of such 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. > > > > New green Travis CI build for the third version of this series: > > https://travis-ci.org/miquelraynal/u-boot/builds/463486099 > > There are three Sandbox tests that are failing, they have not been > > break by this series. The following Travis test has been done on the > > commit on which has been based the series and shows the same errors: > > https://travis-ci.org/miquelraynal/u-boot/builds/463593006 > > > > 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). Maintainers of > > these platforms are Cc:'ed. > > > > 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 (25): > > 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 MTD and NOR drivers are compiled with ENV_IS_IN_FLASH > > 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 > > 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 > > Miquel, Can you send the rebase version. look unable to apply on master. Sure, I rebased this work but I have new Travis errors, I haven't checked yet. I will get you updated. Thanks, Miquèl