[U-Boot] [PATCH 8/8] Migrate generic bootcount to Kconfig

Lukasz Majewski
2018-02-11T21:44:40Z

On Sun, 11 Feb 2018 21:04:46 +0000
Alex Kiernan <alex.kiernan@gmail.com> wrote:

> On Sun, Feb 11, 2018 at 7:36 PM, Lukasz Majewski <lukma@denx.de>
> wrote:
> > Hi Alex,
> >
> >> Make generate boot counter selected in the same way as other boot
> >> count drivers
> >>
> >> Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
> >> ---
> >>
> >> drivers/bootcount/Kconfig | 11 +++++++++++
> >> drivers/bootcount/Makefile | 2 +-
> >> 2 files changed, 12 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/drivers/bootcount/Kconfig b/drivers/bootcount/Kconfig
> >> index e0d1fc2..9fde2f2 100644
> >> --- a/drivers/bootcount/Kconfig
> >> +++ b/drivers/bootcount/Kconfig
> >> @@ -14,6 +14,16 @@ choice
> >> prompt "Boot count device"
> >> default BOOTCOUNT_AM33XX if AM33XX || SOC_DA8XX
> >> default BOOTCOUNT_AT91 if AT91SAM9XE
> >> + default BOOTCOUNT_GENERIC
> >> +
> >> +config BOOTCOUNT_GENERIC
> >> + bool "Generic default boot counter"
> >> + help
> >> + Generic bootcount stored at SYS_BOOTCOUNT_ADDR.
> >> +
> >> + SYS_BOOTCOUNT_ADDR:
> >> + Set to the address where the bootcount and bootcount
> >> magic
> >> + will be stored.
> >>
> >> config BOOTCOUNT_EXT
> >> bool "Boot counter on EXT filesystem"
> >> @@ -64,6 +74,7 @@ endchoice
> >>
> >> config SYS_BOOTCOUNT_SINGLEWORD
> >> bool "Use single word to pack boot count and magic value"
> >> + depends on BOOTCOUNT_GENERIC
> >> help
> >> This option enables packing boot count magic value and
> >> boot count into single word (32 bits).
> >> diff --git a/drivers/bootcount/Makefile
> >> b/drivers/bootcount/Makefile index a3658c1..3e1ae8c 100644
> >> --- a/drivers/bootcount/Makefile
> >> +++ b/drivers/bootcount/Makefile
> >> @@ -2,7 +2,7 @@
> >> # SPDX-License-Identifier: GPL-2.0+
> >> #
> >>
> >> -obj-y += bootcount.o
> >> +obj-$(CONFIG_BOOTCOUNT_GENERIC) += bootcount.o
> >> obj-$(CONFIG_BOOTCOUNT_AT91) += bootcount_at91.o
> >> obj-$(CONFIG_BOOTCOUNT_AM33XX) += bootcount_davinci.o
> >> obj-$(CONFIG_BOOTCOUNT_RAM) += bootcount_ram.o
> >
> > Reviewed-by: Lukasz Majewski <lukma@denx.de>
> >
> >
> > I had to put attached patch (one liner) to make it working on my
> > setup (this allows re-using the SYS_BOOTCOUNT_ADDR on non EXT
> > setup).
> >
> > Could you squash this patch to your work and send v2?
> >
>
> I'm not really sure what the right thing to do with
> SYS_BOOTCOUNT_ADDR is...
>
> The default is only right for BOOTCOUNT_EXT (and then only on a
> specific board?) and elsewhere it's mostly set in board configs. In my
> case I actually want it to be defined based on a other bits of memory
> map . Maybe it's been overloaded too much and really wants to be a
> variable per driver?

It is defined in a few places though:

git grep -n "SYS_BOOTCOUNT_ADDR" [1]

However, for my builds I did not observed the build breaks (build
definately breaks when this value is "") - but in my patch I do also
use BOOTCOUNT, which is not defined in [1] boards.

Hence, (when BOOTCOUNT is not defined) boards [1] use
SYS_BOOTCOUNT_ADDR from their ./include/configs/<board>.h.

When, I do define BOOTCOUNT on my board, then I _must_ also define
correct SYS_BOOTCOUNT_ADDR in my ./configs/<board>_defconfig.

Please look into following patchset:
http://patchwork.ozlabs.org/cover/871655/

>
> That said, squashing in that change doesn't obviously break anything
> for me, and is probably a step in the right direction.
>
> I'll see what Travis thinks.
>

We will probably receive build breaks...

Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180211/fbad5194/attachment.sig>