Lines Matching defs:led
18 #include <linux/led-class-multicolor.h>
310 struct lp50xx_led *led = mcled_cdev_to_led(mc_dev);
311 const struct lp50xx_chip_info *led_chip = led->priv->chip_info;
316 mutex_lock(&led->priv->lock);
317 if (led->ctrl_bank_enabled)
321 led->led_number;
323 ret = regmap_write(led->priv->regmap, reg_val, brightness);
325 dev_err(&led->priv->client->dev,
330 for (i = 0; i < led->mc_cdev.num_colors; i++) {
331 if (led->ctrl_bank_enabled) {
334 led_offset = (led->led_number * 3) + i;
338 ret = regmap_write(led->priv->regmap, reg_val,
341 dev_err(&led->priv->client->dev,
347 mutex_unlock(&led->priv->lock);
399 struct lp50xx_led *led, int num_leds)
425 led->ctrl_bank_enabled = 1;
429 dev_err(&priv->client->dev, "led reg property missing\n");
434 dev_err(&priv->client->dev, "led-sources property is invalid\n");
438 led->led_number = led_number;
451 struct lp50xx_led *led;
470 led = &priv->leds[i];
477 ret = lp50xx_probe_leds(child, priv, led, ret);
508 led->priv = priv;
509 led->mc_cdev.num_colors = num_colors;
510 led->mc_cdev.subled_info = mc_led_info;
511 led_cdev = &led->mc_cdev.led_cdev;
515 &led->mc_cdev,
518 dev_err(&priv->client->dev, "led register err: %d\n",
535 struct lp50xx *led;
545 led = devm_kzalloc(&client->dev, struct_size(led, leds, count),
547 if (!led)
550 mutex_init(&led->lock);
551 led->client = client;
552 led->dev = &client->dev;
553 led->chip_info = &lp50xx_chip_info_tbl[id->driver_data];
554 i2c_set_clientdata(client, led);
555 led->regmap = devm_regmap_init_i2c(client,
556 led->chip_info->lp50xx_regmap_config);
557 if (IS_ERR(led->regmap)) {
558 ret = PTR_ERR(led->regmap);
564 ret = lp50xx_reset(led);
568 ret = lp50xx_enable_disable(led, 1);
572 return lp50xx_probe_dt(led);
577 struct lp50xx *led = i2c_get_clientdata(client);
580 ret = lp50xx_enable_disable(led, 0);
582 dev_err(&led->client->dev, "Failed to disable chip\n");
586 if (led->regulator) {
587 ret = regulator_disable(led->regulator);
589 dev_err(&led->client->dev,
593 mutex_destroy(&led->lock);