Lines Matching refs:led

58 static void regulator_led_enable(struct regulator_led *led)
62 if (led->enabled)
65 ret = regulator_enable(led->vcc);
67 dev_err(led->cdev.dev, "Failed to enable vcc: %d\n", ret);
71 led->enabled = 1;
74 static void regulator_led_disable(struct regulator_led *led)
78 if (!led->enabled)
81 ret = regulator_disable(led->vcc);
83 dev_err(led->cdev.dev, "Failed to disable vcc: %d\n", ret);
87 led->enabled = 0;
93 struct regulator_led *led = to_regulator_led(led_cdev);
97 mutex_lock(&led->mutex);
100 regulator_led_disable(led);
104 if (led->cdev.max_brightness > 1) {
105 voltage = led_regulator_get_voltage(led->vcc, value);
106 dev_dbg(led->cdev.dev, "brightness: %d voltage: %d\n",
109 ret = regulator_set_voltage(led->vcc, voltage, voltage);
111 dev_err(led->cdev.dev, "Failed to set voltage %d: %d\n",
115 regulator_led_enable(led);
118 mutex_unlock(&led->mutex);
126 struct regulator_led *led;
141 led = devm_kzalloc(&pdev->dev, sizeof(*led), GFP_KERNEL);
142 if (led == NULL)
145 led->cdev.max_brightness = led_regulator_get_max_brightness(vcc);
146 if (pdata->brightness > led->cdev.max_brightness) {
152 led->cdev.brightness_set_blocking = regulator_led_brightness_set;
153 led->cdev.name = pdata->name;
154 led->cdev.flags |= LED_CORE_SUSPENDRESUME;
155 led->vcc = vcc;
158 if (regulator_is_enabled(led->vcc))
159 led->enabled = 1;
161 mutex_init(&led->mutex);
163 platform_set_drvdata(pdev, led);
165 ret = led_classdev_register(&pdev->dev, &led->cdev);
170 led->cdev.brightness = pdata->brightness;
172 /* Set the default led status */
173 regulator_led_brightness_set(&led->cdev, led->cdev.brightness);
180 struct regulator_led *led = platform_get_drvdata(pdev);
182 led_classdev_unregister(&led->cdev);
183 regulator_led_disable(led);