lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 27 Oct 2015 16:47:26 +0100 From: Wim Van Sebroeck <wim@...ana.be> To: Justin Chen <justinpopo6@...il.com> Cc: linux-kernel@...r.kernel.org, linux-watchdog@...r.kernel.org, linux@...ck-us.net, bcm-kernel-feedback-list@...adcom.com Subject: Re: [PATCH] watchdog_dev: Use device tree alias for naming watchdogs Hi Justin, > Currently there is no way to easily differentiate multiple > watchdog devices. The watchdogs are named by the order they > are probed. > 1st probed watchdog: /dev/watchdog0 > 2nd probed watchdog: /dev/watchdog1 > ... > > This change uses the alias of the watchdog device node for > the name of the watchdog. > aliases { > watchdog0 = "/...../...." > watchdog3 = "/..../....." > watchdog2 = "/..../....." > ... > } > > This will translate to... > /dev/watchdog0 > /dev/watchdog3 > /dev/watchdog2 > > v2 > Assign alias number to id in watchdog_core instead of watchdog_dev. > If failed to get id, fallback to original ida_simple_get call. > > Signed-off-by: Justin Chen <justinpopo6@...il.com> > --- > drivers/watchdog/watchdog_core.c | 15 +++++++++++++-- > 1 file changed, 13 insertions(+), 2 deletions(-) > > diff --git a/drivers/watchdog/watchdog_core.c b/drivers/watchdog/watchdog_core.c > index 1a80594..873f139 100644 > --- a/drivers/watchdog/watchdog_core.c > +++ b/drivers/watchdog/watchdog_core.c > @@ -139,7 +139,7 @@ EXPORT_SYMBOL_GPL(watchdog_init_timeout); > > static int __watchdog_register_device(struct watchdog_device *wdd) > { > - int ret, id, devno; > + int ret, id = -1, devno; > > if (wdd == NULL || wdd->info == NULL || wdd->ops == NULL) > return -EINVAL; > @@ -157,7 +157,18 @@ static int __watchdog_register_device(struct watchdog_device *wdd) > */ > > mutex_init(&wdd->lock); > - id = ida_simple_get(&watchdog_ida, 0, MAX_DOGS, GFP_KERNEL); > + > + /* Use alias for watchdog id if possible */ > + if (wdd->parent) { > + ret = of_alias_get_id(wdd->parent->of_node, "watchdog"); > + if (ret >= 0) > + id = ida_simple_get(&watchdog_ida, ret, > + ret + 1, GFP_KERNEL); > + } > + > + if (id < 0) > + id = ida_simple_get(&watchdog_ida, 0, MAX_DOGS, GFP_KERNEL); > + > if (id < 0) > return id; > wdd->id = id; > -- > 2.1.0 > Added to linux-watchdog-next. Kind regards, Wim. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists