Message ID | 20210511062953.485252-1-juergh@canonical.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | [v2] watchdog: Add {min,max}_timeout sysfs nodes | expand |
On 5/10/21 11:29 PM, Juerg Haefliger wrote: > The valid range for the 'timeout' value is useful information so expose > the min and max timeout values via sysfs. > > Signed-off-by: Juerg Haefliger <juergh@canonical.com> Reviewed-by: Guenter Roeck <linux@roeck-us.net> > --- > > v1->v2: > - replace sprintf() with sysfs_emit(). > > drivers/watchdog/watchdog_dev.c | 20 ++++++++++++++++++++ > 1 file changed, 20 insertions(+) > > diff --git a/drivers/watchdog/watchdog_dev.c b/drivers/watchdog/watchdog_dev.c > index fe68a97973a5..7c1007ab1b71 100644 > --- a/drivers/watchdog/watchdog_dev.c > +++ b/drivers/watchdog/watchdog_dev.c > @@ -526,6 +526,24 @@ static ssize_t timeout_show(struct device *dev, struct device_attribute *attr, > } > static DEVICE_ATTR_RO(timeout); > > +static ssize_t min_timeout_show(struct device *dev, > + struct device_attribute *attr, char *buf) > +{ > + struct watchdog_device *wdd = dev_get_drvdata(dev); > + > + return sysfs_emit(buf, "%u\n", wdd->min_timeout); > +} > +static DEVICE_ATTR_RO(min_timeout); > + > +static ssize_t max_timeout_show(struct device *dev, > + struct device_attribute *attr, char *buf) > +{ > + struct watchdog_device *wdd = dev_get_drvdata(dev); > + > + return sysfs_emit(buf, "%u\n", wdd->max_timeout); > +} > +static DEVICE_ATTR_RO(max_timeout); > + > static ssize_t pretimeout_show(struct device *dev, > struct device_attribute *attr, char *buf) > { > @@ -610,6 +628,8 @@ static struct attribute *wdt_attrs[] = { > &dev_attr_state.attr, > &dev_attr_identity.attr, > &dev_attr_timeout.attr, > + &dev_attr_min_timeout.attr, > + &dev_attr_max_timeout.attr, > &dev_attr_pretimeout.attr, > &dev_attr_timeleft.attr, > &dev_attr_bootstatus.attr, >
diff --git a/drivers/watchdog/watchdog_dev.c b/drivers/watchdog/watchdog_dev.c index fe68a97973a5..7c1007ab1b71 100644 --- a/drivers/watchdog/watchdog_dev.c +++ b/drivers/watchdog/watchdog_dev.c @@ -526,6 +526,24 @@ static ssize_t timeout_show(struct device *dev, struct device_attribute *attr, } static DEVICE_ATTR_RO(timeout); +static ssize_t min_timeout_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + struct watchdog_device *wdd = dev_get_drvdata(dev); + + return sysfs_emit(buf, "%u\n", wdd->min_timeout); +} +static DEVICE_ATTR_RO(min_timeout); + +static ssize_t max_timeout_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + struct watchdog_device *wdd = dev_get_drvdata(dev); + + return sysfs_emit(buf, "%u\n", wdd->max_timeout); +} +static DEVICE_ATTR_RO(max_timeout); + static ssize_t pretimeout_show(struct device *dev, struct device_attribute *attr, char *buf) { @@ -610,6 +628,8 @@ static struct attribute *wdt_attrs[] = { &dev_attr_state.attr, &dev_attr_identity.attr, &dev_attr_timeout.attr, + &dev_attr_min_timeout.attr, + &dev_attr_max_timeout.attr, &dev_attr_pretimeout.attr, &dev_attr_timeleft.attr, &dev_attr_bootstatus.attr,
The valid range for the 'timeout' value is useful information so expose the min and max timeout values via sysfs. Signed-off-by: Juerg Haefliger <juergh@canonical.com> --- v1->v2: - replace sprintf() with sysfs_emit(). drivers/watchdog/watchdog_dev.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+)