Lines Matching refs:led

62 static void regulator_led_enable(struct regulator_led *led)  in regulator_led_enable()  argument
66 if (led->enabled) in regulator_led_enable()
69 ret = regulator_enable(led->vcc); in regulator_led_enable()
71 dev_err(led->cdev.dev, "Failed to enable vcc: %d\n", ret); in regulator_led_enable()
75 led->enabled = 1; in regulator_led_enable()
78 static void regulator_led_disable(struct regulator_led *led) in regulator_led_disable() argument
82 if (!led->enabled) in regulator_led_disable()
85 ret = regulator_disable(led->vcc); in regulator_led_disable()
87 dev_err(led->cdev.dev, "Failed to disable vcc: %d\n", ret); in regulator_led_disable()
91 led->enabled = 0; in regulator_led_disable()
97 struct regulator_led *led = to_regulator_led(led_cdev); in regulator_led_brightness_set() local
101 mutex_lock(&led->mutex); in regulator_led_brightness_set()
104 regulator_led_disable(led); in regulator_led_brightness_set()
108 if (led->cdev.max_brightness > 1) { in regulator_led_brightness_set()
109 voltage = led_regulator_get_voltage(led->vcc, value); in regulator_led_brightness_set()
110 dev_dbg(led->cdev.dev, "brightness: %d voltage: %d\n", in regulator_led_brightness_set()
113 ret = regulator_set_voltage(led->vcc, voltage, voltage); in regulator_led_brightness_set()
115 dev_err(led->cdev.dev, "Failed to set voltage %d: %d\n", in regulator_led_brightness_set()
119 regulator_led_enable(led); in regulator_led_brightness_set()
122 mutex_unlock(&led->mutex); in regulator_led_brightness_set()
130 struct regulator_led *led; in regulator_led_probe() local
145 led = devm_kzalloc(&pdev->dev, sizeof(*led), GFP_KERNEL); in regulator_led_probe()
146 if (led == NULL) in regulator_led_probe()
149 led->cdev.max_brightness = led_regulator_get_max_brightness(vcc); in regulator_led_probe()
150 if (pdata->brightness > led->cdev.max_brightness) { in regulator_led_probe()
156 led->cdev.brightness_set_blocking = regulator_led_brightness_set; in regulator_led_probe()
157 led->cdev.name = pdata->name; in regulator_led_probe()
158 led->cdev.flags |= LED_CORE_SUSPENDRESUME; in regulator_led_probe()
159 led->vcc = vcc; in regulator_led_probe()
162 if (regulator_is_enabled(led->vcc)) in regulator_led_probe()
163 led->enabled = 1; in regulator_led_probe()
165 mutex_init(&led->mutex); in regulator_led_probe()
167 platform_set_drvdata(pdev, led); in regulator_led_probe()
169 ret = led_classdev_register(&pdev->dev, &led->cdev); in regulator_led_probe()
174 led->cdev.brightness = pdata->brightness; in regulator_led_probe()
177 regulator_led_brightness_set(&led->cdev, led->cdev.brightness); in regulator_led_probe()
184 struct regulator_led *led = platform_get_drvdata(pdev); in regulator_led_remove() local
186 led_classdev_unregister(&led->cdev); in regulator_led_remove()
187 regulator_led_disable(led); in regulator_led_remove()