On Thu, Feb 07, 2019 at 10:56:24AM +0100, Oleksij Rempel wrote: > This driver is using SetWatchdogTimer() UEFI interface and was > tested on iBASE MI991AF Mini-ITX motherboard. > > Signed-off-by: Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx> > --- > common/efi/efi.c | 9 ++++- > drivers/watchdog/Kconfig | 6 ++++ > drivers/watchdog/Makefile | 1 + > drivers/watchdog/efi_wdt.c | 69 ++++++++++++++++++++++++++++++++++++++ > 4 files changed, 84 insertions(+), 1 deletion(-) > create mode 100644 drivers/watchdog/efi_wdt.c > > +#define to_efi_wdt(h) container_of(h, struct efi_wdt_priv, wd) > + > +static int efi_wdt_set_timeout(struct watchdog *wd, unsigned timeout) > +{ > + struct efi_wdt_priv *priv = to_efi_wdt(wd); > + efi_status_t efiret; > + > + efiret = BS->set_watchdog_timer(timeout, 0, 0, NULL); > + if (EFI_ERROR(efiret)) > + dev_err(priv->dev, "filed to set EFI watchdog: %lx\n", efiret); Shouldn't you return an error here? > + .name = "efi-wdt", > + .probe = efi_wdt_probe, > +}; > + > +static int efi_wdt_initcall(void) > +{ > + return platform_driver_register(&efi_wdt_driver); > +} > +device_initcall(efi_wdt_initcall); device_platform_driver instead? Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox