leds: lp5562: support the device tree feature
The LP55xx DT structure is applicable to the LP5562 device. The driver and documentation are updated. Compatible property of the DT : LP5521 and LP5223 were manufactured by National Semiconductor. LP5562 is a new device from Texas Instruments. Cc: Gabriel Fernandez <gabriel.fernandez@stericsson.com> Signed-off-by: Milo(Woogyom) Kim <milo.kim@ti.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Bryan Wu <cooloney@gmail.com>
Dieser Commit ist enthalten in:
@@ -515,12 +515,20 @@ static int lp5562_probe(struct i2c_client *client,
|
||||
int ret;
|
||||
struct lp55xx_chip *chip;
|
||||
struct lp55xx_led *led;
|
||||
struct lp55xx_platform_data *pdata = client->dev.platform_data;
|
||||
struct lp55xx_platform_data *pdata;
|
||||
struct device_node *np = client->dev.of_node;
|
||||
|
||||
if (!pdata) {
|
||||
dev_err(&client->dev, "no platform data\n");
|
||||
return -EINVAL;
|
||||
if (!client->dev.platform_data) {
|
||||
if (np) {
|
||||
ret = lp55xx_of_populate_pdata(&client->dev, np);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
} else {
|
||||
dev_err(&client->dev, "no platform data\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
}
|
||||
pdata = client->dev.platform_data;
|
||||
|
||||
chip = devm_kzalloc(&client->dev, sizeof(*chip), GFP_KERNEL);
|
||||
if (!chip)
|
||||
@@ -579,6 +587,7 @@ static int lp5562_remove(struct i2c_client *client)
|
||||
|
||||
static const struct i2c_device_id lp5562_id[] = {
|
||||
{ "lp5562", 0 },
|
||||
{ "ti,lp5562", 0 }, /* OF compatible */
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, lp5562_id);
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren