From 2c2f3080de7341f58a5d0e8ea31cc66dd369b8f4 Mon Sep 17 00:00:00 2001 From: Guenter Roeck Date: Sun, 3 Jan 2016 15:11:57 -0800 Subject: 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 Signed-off-by: Guenter Roeck Signed-off-by: Wim Van Sebroeck --- drivers/watchdog/ziirave_wdt.c | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) (limited to 'drivers/watchdog') 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; -- cgit v1.2.3