On Tue, Jul 28, 2015 at 12:19:07AM +0900, Masahiro Yamada wrote: > Tom, > > > 2015-07-28 0:08 GMT+09:00 Tom Rini <tr...@konsulko.com>: > > On Thu, Jul 23, 2015 at 08:31:55PM +0900, Masahiro Yamada wrote: > > > >> Commit e02ee2548afe ("kconfig: switch to single .config > >> configuration") made the configuration itself pretty simple, > >> instead, we lost the way to systematically enable/disable config > >> options for each image independently. > >> > >> Our current strategy is, put entries into Makefile.spl for options > >> we need separate enabling, or once enable the options globally in > >> Kconfig and then undef them in Makefile.uncmd_spl if we do not want > >> to compile the features for SPL at all. Things are getting really > >> messy. Besides, "ifdef CONFIG_SPL_BUILD" are sprinkled everywhere > >> in makefiles. > >> > >> This commit adds a macro to help describe makefile simpler, allowing > >> separate switch for U-boot main and SPL. > >> > >> This macro takes a config option without the prefix CONFIG_. > >> $(call CONFIG,FOO) evaluates to > >> $(CONFIG_FOO) if CONFIG_SPL_BUILD is undefined (U-boot build), > >> $(CONFIG_SPL_FOO) if CONFIG_SPL_BUILD is defined (SPL_BUILD). > >> > >> That is, > >> > >> $(call CONFIG,FOO) += foo.o > >> > >> is a shorthand for > >> > >> ifdef CONFIG_SPL_BUILD > >> obj-$(CONFIG_SPL_FOO) += foo.o > >> else > >> obj-$(CONFIG_FOO) += foo.o > >> endif > >> > >> If CONFIG_SPL_FOO does not exist in Kconfig, it is equivalent to > >> > >> ifndef CONFIG_SPL_BUILD > >> obj-$(CONFIG_SPL_FOO) += foo.o > >> endif > >> > >> This is the pattern we often see in our current makefiles. > >> > >> To take advantage of this macro, we should prefix SPL_ for the SPL > >> version of the option that we need independent control between > >> U-boot and SPL. With this naming scheme, we only have to add a > >> single line in a Makefile for each config option. > >> > >> It means we want to rename existing config options as follows > >> in the long run: > >> > >> CONFIG_SPL_SERIAL_SUPPORT -> CONFIG_SPL_SERIAL > >> CONFIG_SPL_I2C_SUPPORT -> CONFIG_SPL_I2C > >> CONFIG_SPL_GPIO_SUPPORT -> CONFIG_SPL_GPIO > >> CONFIG_SPL_SPI_SUPPORT -> CONFIG_SPL_SPI > >> CONFIG_SPL_DISABLE_OF_CONTROL -> CONFIG_SPL_OF_CONTROL > >> (inverting the logic) > >> > >> Then drivers/Makefile would be re-worked as follows: > >> > >> obj-$(call CONFIG,SERIAL) += serial/ > >> obj-$(call CONFIG,I2C) += i2c/ > >> obj-$(call CONFIG,GPIO) += gpio/ > >> obj-$(call CONFIG,SPI) += spi/ > >> ... > >> > >> Eventually, SPL-specialized entries in Makefile.spl would go away. > >> > >> Signed-off-by: Masahiro Yamada <yamada.masah...@socionext.com> > > > > Reviewed-by: Tom Rini <tr...@konsulko.com> > > > > This patch was superseded by > > http://patchwork.ozlabs.org/patch/500034/ > > > If you do not mind, I will put your Reviewed-by there > when I send the next version.
I kinda thought that's how it was looking in my inbox. I'll read that whole series later today. -- Tom
signature.asc
Description: Digital signature
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot