
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@denx.de