diff options
author | Guenter Roeck <linux@roeck-us.net> | 2016-01-03 15:11:57 -0800 |
---|---|---|
committer | Wim Van Sebroeck <wim@iguana.be> | 2016-01-11 21:53:58 +0100 |
commit | 2c2f3080de7341f58a5d0e8ea31cc66dd369b8f4 (patch) | |
tree | 70efbf2d2dd51ff2624708522f0248ec9a25444a | |
parent | faa584757b63aad42d19f1c6a6eac2c848618f83 (diff) |
watchdog: ziirave: Use watchdog infrastructure to create sysfs attributes
The watchdog core now supports creating driver specific sysfs attributes
when creating the watchdog device.
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
-rw-r--r-- | drivers/watchdog/ziirave_wdt.c | 20 |
1 files changed, 3 insertions, 17 deletions
diff --git a/drivers/watchdog/ziirave_wdt.c b/drivers/watchdog/ziirave_wdt.c index b498fdcc231a..0c7cb7302cf0 100644 --- a/drivers/watchdog/ziirave_wdt.c +++ b/drivers/watchdog/ziirave_wdt.c @@ -207,10 +207,7 @@ static struct attribute *ziirave_wdt_attrs[] = { &dev_attr_reset_reason.attr, NULL }; - -static const struct attribute_group ziirave_wdt_sysfs_files = { - .attrs = ziirave_wdt_attrs, -}; +ATTRIBUTE_GROUPS(ziirave_wdt); static int ziirave_wdt_init_duration(struct i2c_client *client) { @@ -260,6 +257,7 @@ static int ziirave_wdt_probe(struct i2c_client *client, w_priv->wdd.min_timeout = ZIIRAVE_TIMEOUT_MIN; w_priv->wdd.max_timeout = ZIIRAVE_TIMEOUT_MAX; w_priv->wdd.parent = &client->dev; + w_priv->wdd.groups = ziirave_wdt_groups; ret = watchdog_init_timeout(&w_priv->wdd, wdt_timeout, &client->dev); if (ret) { @@ -327,26 +325,14 @@ static int ziirave_wdt_probe(struct i2c_client *client, return -ENODEV; ret = watchdog_register_device(&w_priv->wdd); - if (ret) - return ret; - - ret = sysfs_create_group(&w_priv->wdd.dev->kobj, - &ziirave_wdt_sysfs_files); - if (ret) { - watchdog_unregister_device(&w_priv->wdd); - return ret; - } - - return 0; + return ret; } static int ziirave_wdt_remove(struct i2c_client *client) { struct ziirave_wdt_data *w_priv = i2c_get_clientdata(client); - sysfs_remove_group(&client->dev.kobj, &ziirave_wdt_sysfs_files); - watchdog_unregister_device(&w_priv->wdd); return 0; |