diff options
Diffstat (limited to 'drivers/watchdog/wd_core.c')
-rw-r--r-- | drivers/watchdog/wd_core.c | 27 |
1 files changed, 10 insertions, 17 deletions
diff --git a/drivers/watchdog/wd_core.c b/drivers/watchdog/wd_core.c index 2e2814a8f2..f39a8f4522 100644 --- a/drivers/watchdog/wd_core.c +++ b/drivers/watchdog/wd_core.c @@ -1,15 +1,6 @@ +// SPDX-License-Identifier: GPL-2.0-or-later /* * (c) 2012 Juergen Beisert <kernel@pengutronix.de> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. */ #define pr_fmt(fmt) "watchdog: " fmt @@ -148,12 +139,12 @@ static int watchdog_register_dev(struct watchdog *wd, const char *name, int id) * * return: The priority */ -static unsigned int dev_get_watchdog_priority(struct device_d *dev) +static unsigned int dev_get_watchdog_priority(struct device *dev) { unsigned int priority = WATCHDOG_DEFAULT_PRIORITY; if (dev) - of_property_read_u32(dev->device_node, "watchdog-priority", + of_property_read_u32(dev->of_node, "watchdog-priority", &priority); return priority; @@ -188,7 +179,9 @@ static void __noreturn watchdog_restart_handle(struct restart_handler *this) BUG_ON(ret); mdelay(2000); - __builtin_unreachable(); + + pr_emerg("Watchdog failed to reset the machine\n"); + hang(); } static struct restart_handler restart_handler = { @@ -203,7 +196,7 @@ int watchdog_register(struct watchdog *wd) int ret = 0; if (wd->hwdev) - alias = of_alias_get(wd->hwdev->device_node); + alias = of_alias_get(wd->hwdev->of_node); if (alias) ret = watchdog_register_dev(wd, alias, DEVICE_ID_SINGLE); @@ -318,7 +311,7 @@ EXPORT_SYMBOL(watchdog_get_default); int watchdog_get_alias_id_from(struct watchdog *wd, struct device_node *root) { - struct device_node *dstnp, *srcnp = wd->hwdev ? wd->hwdev->device_node : NULL; + struct device_node *dstnp, *srcnp = wd->hwdev ? wd->hwdev->of_node : NULL; char *name; if (!srcnp) @@ -331,14 +324,14 @@ int watchdog_get_alias_id_from(struct watchdog *wd, struct device_node *root) if (!dstnp) return -ENODEV; - return of_alias_get_id_from(root, wd->hwdev->device_node, "watchdog"); + return of_alias_get_id_from(root, wd->hwdev->of_node, "watchdog"); } EXPORT_SYMBOL(watchdog_get_alias_id_from); struct watchdog *watchdog_get_by_name(const char *name) { struct watchdog *tmp; - struct device_d *dev = get_device_by_name(name); + struct device *dev = get_device_by_name(name); if (!dev) return NULL; |