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: Milo(Woogyom) Kim <milo.kim@ti.com>
Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
This commit is contained in:
Kim, Milo 2012-09-04 15:06:26 +08:00 committed by Bryan Wu
parent 27d7704e5e
commit 56a1e9adc8

View File

@ -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;