
Hi,
On 28-06-15 18:06, Tom Rini wrote:
On Sun, Jun 28, 2015 at 05:39:28PM +0200, Hans de Goede wrote:
Hi,
On 26-06-15 23:05, Tom Rini wrote:
On Fri, Jun 26, 2015 at 12:13:51PM +0200, Hans de Goede wrote:
Hi Tom,
Please pull u-boot-sunxi/master into master for two bug-fixes, and one new board:
The following changes since commit 325849ff3d4adeebb8f8f9bc5db950724df9bc21:
Merge git://git.denx.de/u-boot-usb (2015-06-19 16:46:51 -0400)
are available in the git repository at:
http://git.denx.de/u-boot-sunxi.git master
for you to fetch changes up to cbf389d94bf300a38d0a26f5aab2efbc9d76a56c:
sunxi: Add Sinlinx SinA33 defconfig (2015-06-26 11:56:33 +0200)
NAK, this needs a rework now, sorry! Joe's changes mean the new defconfig needs updating.
Ugh, I'm somewhat surprised with these changes, both with the contents of the changes, as with changes like these landing so late in the cycle, esp. since these are not uncontroversial.
I've the feeling that these were merged without proper discussion which is not good, and is esp. bad when it is done so late in the cycle.
Yeah, it's a bit later than I'd have liked, but I asked Joe to get these done because they help clean things up. For example:
In essense these changes revert my earlier commit where I explictly added:
config CMD_SETEXPR default y
config CMD_NET default y
Right. Your change kept sunxi boards from suddenly losing those features to prevent breakage (which is good, and why I allowed it at the time), but at the expense of adding lines to each of the sunxi defconfig files (which is why these lines ended up in each of the sunxi defconfg files, yes?)
That is not how I see it, with my change for sunxi boards the default for these options was y, so they did not end up in the deconfigs with Joe's recent changes removed the above 4 lines from board/sunxi/Kconfig now all of a sudden all sunxi defconfig files need these lines, it is Joe's changes which have caused a ton of extra lines to be added to the sunxi defconfigs not mine, specifically this commit:
http://git.denx.de/?p=u-boot.git;a=commit;h=c9bb942e2f91d9f8e5f25ed1961eba2d...
Which does:
--- a/board/sunxi/Kconfig +++ b/board/sunxi/Kconfig @@ -566,25 +566,4 @@ config GMAC_TX_DELAY ---help--- Set the GMAC Transmit Clock Delay Chain value.
-config SYS_MALLOC_CLEAR_ON_INIT - default n - -config NETDEVICES - default y - -config DM_ETH - default y - -config DM_SERIAL - default y - -config DM_USB - default y if !USB_MUSB_SUNXI - -config CMD_SETEXPR - default y - -config CMD_NET - default y - endif
Which result in the following "matching" change for 60+ sunxi defconfig's : --- a/configs/A10-OLinuXino-Lime_defconfig +++ b/configs/A10-OLinuXino-Lime_defconfig @@ -5,5 +5,13 @@ CONFIG_DRAM_CLK=480 CONFIG_DRAM_EMR1=4 CONFIG_SYS_CLK_FREQ=912000000 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-olinuxino-lime" +# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set CONFIG_SPL=y CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPC(3),USB_EHCI" +CONFIG_CMD_SETEXPR=y +CONFIG_CMD_NET=y +CONFIG_DM_ETH=y +CONFIG_NETDEVICES=y +CONFIG_DM_SERIAL=y +CONFIG_USB=y +CONFIG_DM_USB=y
and didn't help all of the other SoCs out. What Joe's changes do is remove them from the defconfig files under configs/ _and_ restore the original behaviour.
No what Joe's changes have them is ADD them to the defconfig files under configs/ and force the new behavior of all things defaulting to off unless explictly enabled in defconfig, resulting in 8 * 61 = 488 extra lines in sunxi defconfig's alone.
And for some reason Joe has not only done these change for CONFIG_CMD_* but also for other unrelated options like CONFIG_DM_* which is really BAD, as sunxi has been completely moved over to the device model and simply will not build nor run when CONFIG_DM and friends are not set.
And not only does the just merged series revert these changes, to make things worse it adds a whole lot more crap to the sunxi defconfigs.
It does in that it's now a direct translation of crap that used to be in the config.h files (and done just once, true). The next step is to instead add smarts to the Kconfig logic so that if we don't have NOR-style flash we don't ever ask about CMD_IMLS/CMD_FLASH and make CMD_FPGA depend on FPGA being set.
We're trying to skip over the period of linux kernel history where the defconfig files were hand-controlled files that had lots of board-specific knowledge in them. But at the same time, we can't kick out nearly as much of that information as they were able to because...
The latest patch-series seems to do the exact reverse. More knowledge is being moved away from a central place and into defconfig files. As said ARCH_SUNXI builds must always have CONFIG_DM* set, and yet now all sunxi defconfig files need to set that explicitly.
Excuse my language but I've no other words for this, something which we want enabled on every single sunxi board does not belong in the defconfigs, we now have defconfig files where more of the lines are this crap / noise, rather then actual board config, we really need a better solution for providing per SoC defaults then just having them all in the defconfig, having them all in the defconfig is crazy, esp. as more and more compile time config gets moved into Kconfig.
The problem is that defconfig files are maintained by 'savedefconfig' and yes, perhaps we'll have to come up with something different than the solution the kernel did of "having stuff stored in defconfigs is annoying, lets move it to device trees". Maybe we need to be less strict than (how it seems to me about) how the kernel community is about settings defaults in Kconfig.
So once more I find both the contents and the time of merging of this patch-set ill advised, and I'm NOT happy with these changes.
I will take it into consideration that maybe I should be stricter about the merge window and treat things more like the kernel rules (everything goes in, in first two weeks) instead of how I had been doing things (everything ought to be posted close to, except for things that I ask people to get done based on other stuff..).
I'm actually usually quite happy about you not being overly strict with the merge window, I believe things work well in general. But this latest series feels like it was rushed in while it should have been discussed more, esp. this late in the cycle.
Regards,
Hans