Usually SoCs have internal watchdogs, provide a way to detect the reset source and provide a way to reset the system. Sometimes though, this is provided by external facilities aswell and which way to use is board specific. With this series barebox can handle multiple watchdogs, reset-source handlers and restart handlers. They can be prioritezed via the device tree with different *-priority properties. Sascha ---------------------------------------------------------------- Juergen Borleis (1): mfd: da9053: add da9053 watchdog and system restart driver Philipp Zabel (1): mfd: da9063: add da9063 watchdog and system restart driver Sascha Hauer (5): restart: replace reset_cpu with registered restart handlers watchdog: Allow multiple watchdogs watchdog: Give watchdogs a name reset-source: Use globalvar_add_simple_enum reset-source: Allow different priorities arch/arm/lib/bootm.c | 7 +- arch/arm/mach-at91/at91rm9200_time.c | 14 +- arch/arm/mach-at91/at91sam9_reset.S | 4 +- arch/arm/mach-at91/at91sam9g45_reset.S | 4 +- arch/arm/mach-at91/bootstrap.c | 3 +- arch/arm/mach-at91/setup.c | 9 + arch/arm/mach-bcm2835/core.c | 21 +- arch/arm/mach-clps711x/reset.c | 12 +- arch/arm/mach-davinci/time.c | 14 +- arch/arm/mach-digic/Makefile | 2 +- arch/arm/mach-digic/core.c | 25 -- arch/arm/mach-ep93xx/clocksource.c | 19 +- arch/arm/mach-highbank/reset.c | 14 +- arch/arm/mach-mvebu/armada-370-xp.c | 9 +- arch/arm/mach-mvebu/common.c | 13 - arch/arm/mach-mvebu/dove.c | 9 +- arch/arm/mach-mvebu/include/mach/common.h | 1 - arch/arm/mach-mvebu/kirkwood.c | 9 +- arch/arm/mach-mxs/soc-imx23.c | 8 +- arch/arm/mach-mxs/soc-imx28.c | 9 +- arch/arm/mach-netx/generic.c | 23 +- arch/arm/mach-nomadik/reset.c | 15 +- arch/arm/mach-omap/am33xx_generic.c | 4 +- arch/arm/mach-omap/include/mach/am33xx-generic.h | 2 +- arch/arm/mach-omap/include/mach/omap3-generic.h | 2 +- arch/arm/mach-omap/include/mach/omap4-generic.h | 2 +- arch/arm/mach-omap/omap3_generic.c | 5 +- arch/arm/mach-omap/omap4_generic.c | 4 +- arch/arm/mach-omap/omap_generic.c | 12 +- arch/arm/mach-pxa/common.c | 14 +- arch/arm/mach-rockchip/core.c | 16 +- arch/arm/mach-samsung/generic.c | 15 +- arch/arm/mach-socfpga/reset-manager.c | 14 +- arch/arm/mach-tegra/tegra20-pmc.c | 8 +- arch/arm/mach-uemd/Makefile | 2 +- arch/arm/mach-uemd/reset.c | 24 -- arch/arm/mach-versatile/core.c | 7 +- arch/arm/mach-vexpress/reset.c | 15 +- arch/arm/mach-zynq/zynq.c | 24 +- arch/blackfin/lib/cpu.c | 11 +- arch/blackfin/lib/traps.c | 5 +- arch/efi/efi/efi.c | 13 +- arch/mips/lib/bootm.c | 3 +- arch/mips/mach-ar231x/ar231x_reset.c | 8 +- arch/mips/mach-ath79/reset.c | 15 +- arch/mips/mach-bcm47xx/reset.c | 16 +- arch/mips/mach-loongson/loongson1_reset.c | 15 +- arch/mips/mach-malta/reset.c | 16 +- arch/nios2/cpu/cpu.c | 12 +- arch/openrisc/cpu/cpu.c | 11 +- arch/ppc/lib/ppclinux.c | 3 +- arch/ppc/mach-mpc5xxx/cpu.c | 11 +- arch/ppc/mach-mpc85xx/cpu.c | 14 +- arch/sandbox/board/Makefile | 1 + arch/sandbox/mach-sandbox/include/mach/linux.h | 1 + arch/sandbox/os/common.c | 6 +- arch/x86/mach-i386/Makefile | 2 - arch/x86/mach-i386/reset.c | 30 --- commands/reset.c | 3 +- common/Makefile | 1 + common/misc.c | 3 +- common/reset_source.c | 29 ++- common/restart.c | 112 +++++++++ drivers/mfd/Kconfig | 11 + drivers/mfd/Makefile | 2 + drivers/mfd/da9053.c | 308 +++++++++++++++++++++++ drivers/mfd/da9063.c | 165 ++++++++++++ drivers/usb/gadget/f_fastboot.c | 3 +- drivers/watchdog/davinci_wdt.c | 1 + drivers/watchdog/im28wd.c | 1 + drivers/watchdog/imxwd.c | 23 +- drivers/watchdog/jz4740.c | 32 +-- drivers/watchdog/wd_core.c | 70 +++++- include/common.h | 1 - include/reset_source.h | 14 +- include/restart.h | 21 ++ include/watchdog.h | 8 + 77 files changed, 1119 insertions(+), 296 deletions(-) delete mode 100644 arch/arm/mach-digic/core.c delete mode 100644 arch/arm/mach-uemd/reset.c delete mode 100644 arch/x86/mach-i386/reset.c create mode 100644 common/restart.c create mode 100644 drivers/mfd/da9053.c create mode 100644 drivers/mfd/da9063.c create mode 100644 include/restart.h _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox