Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@xxxxxxxxxxxx> --- drivers/misc/Kconfig | 3 +++ drivers/misc/Makefile | 1 + drivers/misc/bootcount.c | 24 ++++++++++++++++++++++++ include/bootcount.h | 21 +++++++++++++++++++++ 4 files changed, 49 insertions(+) create mode 100644 drivers/misc/bootcount.c create mode 100644 include/bootcount.h diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig index 606490b..a972ba4 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig @@ -15,4 +15,7 @@ config JTAG help Controls JTAG chains connected to I/O pins +config BOOTCOUNT + bool + endif # MISC_DEVICES diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile index b085577..fa668c1 100644 --- a/drivers/misc/Makefile +++ b/drivers/misc/Makefile @@ -3,3 +3,4 @@ # obj-$(CONFIG_JTAG) += jtag.o +obj-$(CONFIG_BOOTCOUNT) += bootcount.o diff --git a/drivers/misc/bootcount.c b/drivers/misc/bootcount.c new file mode 100644 index 0000000..0205d00 --- /dev/null +++ b/drivers/misc/bootcount.c @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2013 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@xxxxxxxxxxxx> + * + * GPLv2 Only + */ + +#include <common.h> +#include <init.h> +#include <bootcount.h> + +static struct bootcount_driver *bd; + +void bootcount_register(struct bootcount_driver *drv) +{ + bd = drv; +} + +static int bootcount_inc(void) +{ + if (bd) + bd->inc(bd); + return 0; +} +late_initcall(bootcount_inc); diff --git a/include/bootcount.h b/include/bootcount.h new file mode 100644 index 0000000..16e61c5 --- /dev/null +++ b/include/bootcount.h @@ -0,0 +1,21 @@ +/* + * Copyright (C) 2013 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@xxxxxxxxxxxx> + * + * GPLv2 Only + */ + +#ifndef __BOOTCOUNT_H__ +#define __BOOTCOUNT_H__ + +struct bootcount_driver { + void (*inc)(struct bootcount_driver *d); + void *priv; +}; + +#ifdef CONFIG_BOOTCOUNT +void bootcount_register(struct bootcount_driver *d); +#else +static inline void bootcount_register(struct bootcount_driver *d) {} +#endif + +#endif /* __BOOTCOUNT_H__ */ -- 1.8.4.rc1 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox