Lines Matching defs:led

30 #define CHT_WC_LED1_SWCTL		BIT(0)		/* HW or SW control of charging led */
109 struct cht_wc_led *led = container_of(cdev, struct cht_wc_led, cdev);
112 mutex_lock(&led->mutex);
115 ret = regmap_update_bits(led->regmap, led->regs->ctrl,
116 led->regs->on_off_mask, led->regs->off_val);
123 ret = regmap_update_bits(led->regmap, led->regs->fsm,
128 ret = regmap_write(led->regmap, led->regs->pwm, value);
134 ret = regmap_update_bits(led->regmap, led->regs->ctrl,
135 led->regs->on_off_mask, led->regs->on_val);
140 mutex_unlock(&led->mutex);
146 struct cht_wc_led *led = container_of(cdev, struct cht_wc_led, cdev);
150 mutex_lock(&led->mutex);
152 ret = regmap_read(led->regmap, led->regs->ctrl, &val);
159 val &= led->regs->on_off_mask;
160 if (val != led->regs->on_val) {
165 ret = regmap_read(led->regmap, led->regs->pwm, &val);
174 mutex_unlock(&led->mutex);
225 struct cht_wc_led *led = container_of(cdev, struct cht_wc_led, cdev);
228 mutex_lock(&led->mutex);
237 ret = regmap_update_bits(led->regmap, led->regs->fsm,
248 ret = regmap_update_bits(led->regmap, led->regs->fsm,
254 ret = regmap_update_bits(led->regmap, led->regs->ctrl,
255 CHT_WC_LED_F_MASK | led->regs->on_off_mask,
256 ctrl | led->regs->on_val);
263 mutex_unlock(&led->mutex);
313 static int cht_wc_led_save_regs(struct cht_wc_led *led,
318 ret = regmap_read(led->regmap, led->regs->ctrl, &saved_regs->ctrl);
322 ret = regmap_read(led->regmap, led->regs->fsm, &saved_regs->fsm);
326 return regmap_read(led->regmap, led->regs->pwm, &saved_regs->pwm);
329 static void cht_wc_led_restore_regs(struct cht_wc_led *led,
332 regmap_write(led->regmap, led->regs->ctrl, saved_regs->ctrl);
333 regmap_write(led->regmap, led->regs->fsm, saved_regs->fsm);
334 regmap_write(led->regmap, led->regs->pwm, saved_regs->pwm);
384 struct cht_wc_led *led = &leds->leds[i];
386 led->regs = &cht_wc_led_regs[i];
387 led->regmap = pmic->regmap;
388 mutex_init(&led->mutex);
389 led->cdev.name = cht_wc_leds_names[i];
390 led->cdev.brightness_set_blocking = cht_wc_leds_brightness_set;
391 led->cdev.brightness_get = cht_wc_leds_brightness_get;
392 led->cdev.blink_set = cht_wc_leds_blink_set;
393 led->cdev.pattern_set = cht_wc_leds_pattern_set;
394 led->cdev.pattern_clear = cht_wc_leds_pattern_clear;
395 led->cdev.max_brightness = 255;
397 ret = led_classdev_register(&pdev->dev, &led->cdev);