Commit 56a1e9ad authored by Kim, Milo's avatar Kim, Milo Committed by Bryan Wu

leds-lp5523: use the i2c device id rather than fixed name

LP5523 driver supports both LP5523 and LP55231. The i2c device id
is one of the two - lp5523 or lp55231. So it's better to use
matching i2c device id while enumerating the device and naming LED
channels.
Signed-off-by: default avatarMilo(Woogyom) Kim <milo.kim@ti.com>
Signed-off-by: default avatarBryan Wu <bryan.wu@canonical.com>
parent 27d7704e
......@@ -833,7 +833,8 @@ static int __init lp5523_init_engine(struct lp5523_engine *engine, int id)
}
static int __devinit lp5523_init_led(struct lp5523_led *led, struct device *dev,
int chan, struct lp5523_platform_data *pdata)
int chan, struct lp5523_platform_data *pdata,
const char *chip_name)
{
char name[32];
int res;
......@@ -856,7 +857,7 @@ static int __devinit lp5523_init_led(struct lp5523_led *led, struct device *dev,
led->cdev.name = pdata->led_config[chan].name;
} else {
snprintf(name, sizeof(name), "%s:channel%d",
pdata->label ?: "lp5523", chan);
pdata->label ? : chip_name, chan);
led->cdev.name = name;
}
......@@ -927,7 +928,7 @@ static int __devinit lp5523_probe(struct i2c_client *client,
if (ret)
goto fail1;
dev_info(&client->dev, "LP5523 Programmable led chip found\n");
dev_info(&client->dev, "%s Programmable led chip found\n", id->name);
/* Initialize engines */
for (i = 0; i < ARRAY_SIZE(chip->engines); i++) {
......@@ -955,7 +956,8 @@ static int __devinit lp5523_probe(struct i2c_client *client,
INIT_WORK(&chip->leds[led].brightness_work,
lp5523_led_brightness_work);
ret = lp5523_init_led(&chip->leds[led], &client->dev, i, pdata);
ret = lp5523_init_led(&chip->leds[led], &client->dev, i, pdata,
id->name);
if (ret) {
dev_err(&client->dev, "error initializing leds\n");
goto fail2;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment