[U-Boot] Please pull u-boot-sunxi master (fixes for v2015.07)

Hans de Goede hdegoede at redhat.com
Tue Jun 30 15:11:02 CEST 2015


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=c9bb942e2f91d9f8e5f25ed1961eba2d64f65b8d

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


More information about the U-Boot mailing list