Lines Matching defs:led

16 #define LM3532_NAME "lm3532-led"
123 * @led_dev: led class device
349 struct lm3532_led *led =
354 mutex_lock(&led->priv->lock);
356 if (led->mode == LM3532_ALS_CTRL) {
358 ret = lm3532_led_enable(led);
360 ret = lm3532_led_disable(led);
366 ret = lm3532_led_disable(led);
370 ret = lm3532_led_enable(led);
374 brightness_reg = LM3532_REG_ZONE_TRGT_A + led->control_bank * 5 +
375 (led->ctrl_brt_pointer >> 2);
377 ret = regmap_write(led->priv->regmap, brightness_reg, brt_val);
380 mutex_unlock(&led->priv->lock);
384 static int lm3532_init_registers(struct lm3532_led *led)
386 struct lm3532_data *drvdata = led->priv;
400 brightness_config_reg = LM3532_REG_ZONE_CFG_A + led->control_bank * 2;
406 &led->ctrl_brt_pointer);
410 led->ctrl_brt_pointer &= LM3532_ZONE_MASK;
411 brightness_config_val = led->ctrl_brt_pointer | led->mode;
417 if (led->full_scale_current) {
418 fs_current_reg = LM3532_REG_CTRL_A_FS_CURR + led->control_bank * 2;
419 fs_current_val = (led->full_scale_current - LM3532_FS_CURR_MIN) /
428 for (i = 0; i < led->num_leds; i++) {
429 output_cfg_shift = led->led_strings[i] * 2;
430 output_cfg_val |= (led->control_bank << output_cfg_shift);
447 struct lm3532_led *led)
548 struct lm3532_led *led;
584 led = &priv->leds[i];
598 led->control_bank = control_bank;
600 ret = fwnode_property_read_u32(child, "ti,led-mode",
601 &led->mode);
603 dev_err(&priv->client->dev, "ti,led-mode property missing\n");
608 if (fwnode_property_present(child, "led-max-microamp") &&
609 fwnode_property_read_u32(child, "led-max-microamp",
610 &led->full_scale_current))
612 "Failed getting led-max-microamp\n");
614 led->full_scale_current = min(led->full_scale_current,
617 if (led->mode == LM3532_BL_MODE_ALS) {
618 led->mode = LM3532_ALS_CTRL;
623 lm3532_als_configure(priv, led);
625 led->mode = LM3532_I2C_CTRL;
628 led->num_leds = fwnode_property_count_u32(child, "led-sources");
629 if (led->num_leds > LM3532_MAX_LED_STRINGS) {
634 ret = fwnode_property_read_u32_array(child, "led-sources",
635 led->led_strings,
636 led->num_leds);
638 dev_err(&priv->client->dev, "led-sources property missing\n");
643 led->priv = priv;
644 led->led_dev.brightness_set_blocking = lm3532_brightness_set;
646 ret = devm_led_classdev_register_ext(priv->dev, &led->led_dev, &idata);
648 dev_err(&priv->client->dev, "led register err: %d\n",
654 ret = lm3532_init_registers(led);