[PATCH 22/33] leds-lp55xx: use common driver function for addingattributes

From: Kim, Milo
Date: Wed Dec 12 2012 - 09:02:23 EST


Use lp55xx_register_sysfs() rather than lp5521_register_sysfs()
and lp5523_register_sysfs().

Signed-off-by: Milo(Woogyom) Kim <milo.kim@xxxxxx>
---
drivers/leds/leds-lp5521.c | 17 +++++++----------
drivers/leds/leds-lp5523.c | 23 +++++++----------------
2 files changed, 14 insertions(+), 26 deletions(-)

diff --git a/drivers/leds/leds-lp5521.c b/drivers/leds/leds-lp5521.c
index 16bbba3..c683bf5 100644
--- a/drivers/leds/leds-lp5521.c
+++ b/drivers/leds/leds-lp5521.c
@@ -501,12 +501,6 @@ static const struct attribute_group lp5521_group = {
.attrs = lp5521_attributes,
};

-static int lp5521_register_sysfs(struct i2c_client *client)
-{
- struct device *dev = &client->dev;
- return sysfs_create_group(&dev->kobj, &lp5521_group);
-}
-
static void lp5521_unregister_sysfs(struct i2c_client *client)
{
struct device *dev = &client->dev;
@@ -530,6 +524,7 @@ static struct lp55xx_device_config lp5521_cfg = {
.set_led_current = lp5521_set_led_current,
.firmware_cb = lp5521_firmware_loaded,
.run_engine = lp5521_run_engine,
+ .dev_attr_group = &lp5521_group,
};

static int __devinit lp5521_probe(struct i2c_client *client,
@@ -572,13 +567,15 @@ static int __devinit lp5521_probe(struct i2c_client *client,
if (ret)
goto err_register_leds;

- ret = lp5521_register_sysfs(client);
+ ret = lp55xx_register_sysfs(chip);
if (ret) {
dev_err(&client->dev, "registering sysfs failed\n");
- goto fail2;
+ goto err_register_sysfs;
}
- return ret;
-fail2:
+
+ return 0;
+
+err_register_sysfs:
lp55xx_unregister_leds(led, chip);
err_register_leds:
lp55xx_deinit_device(chip);
diff --git a/drivers/leds/leds-lp5523.c b/drivers/leds/leds-lp5523.c
index 92e68e7..d58b06c 100644
--- a/drivers/leds/leds-lp5523.c
+++ b/drivers/leds/leds-lp5523.c
@@ -484,18 +484,6 @@ static const struct attribute_group lp5523_group = {
.attrs = lp5523_attributes,
};

-static int lp5523_register_sysfs(struct i2c_client *client)
-{
- struct device *dev = &client->dev;
- int ret;
-
- ret = sysfs_create_group(&dev->kobj, &lp5523_group);
- if (ret < 0)
- return ret;
-
- return 0;
-}
-
static void lp5523_unregister_sysfs(struct i2c_client *client)
{
struct device *dev = &client->dev;
@@ -519,6 +507,7 @@ static struct lp55xx_device_config lp5523_cfg = {
.set_led_current = lp5523_set_led_current,
.firmware_cb = lp5523_firmware_loaded,
.run_engine = lp5523_run_engine,
+ .dev_attr_group = &lp5523_group,
};

static int __devinit lp5523_probe(struct i2c_client *client,
@@ -561,13 +550,15 @@ static int __devinit lp5523_probe(struct i2c_client *client,
if (ret)
goto err_register_leds;

- ret = lp5523_register_sysfs(client);
+ ret = lp55xx_register_sysfs(chip);
if (ret) {
dev_err(&client->dev, "registering sysfs failed\n");
- goto fail2;
+ goto err_register_sysfs;
}
- return ret;
-fail2:
+
+ return 0;
+
+err_register_sysfs:
lp55xx_unregister_leds(led, chip);
err_register_leds:
lp55xx_deinit_device(chip);
--
1.7.9.5


Best Regards,
Milo


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/