[U-Boot] [PATCH v4 00/25] MTD defconfigs/Kconfigs/Makefiles heavy cleanup

Miquel Raynal miquel.raynal at bootlin.com
Fri Apr 12 07:22:20 UTC 2019


Hi Jagan,

Jagan Teki <jagan at amarulasolutions.com> wrote on Fri, 12 Apr 2019
11:13:21 +0530:

> On Sun, Dec 9, 2018 at 11:38 PM Miquel Raynal <miquel.raynal at bootlin.com> 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


More information about the U-Boot mailing list