• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/leds/

Lines Matching defs:led

92 static void wm8350_led_enable(struct wm8350_led *led)
96 if (led->enabled)
99 ret = regulator_enable(led->isink);
101 dev_err(led->cdev.dev, "Failed to enable ISINK: %d\n", ret);
105 ret = regulator_enable(led->dcdc);
107 dev_err(led->cdev.dev, "Failed to enable DCDC: %d\n", ret);
108 regulator_disable(led->isink);
112 led->enabled = 1;
115 static void wm8350_led_disable(struct wm8350_led *led)
119 if (!led->enabled)
122 ret = regulator_disable(led->dcdc);
124 dev_err(led->cdev.dev, "Failed to disable DCDC: %d\n", ret);
128 ret = regulator_disable(led->isink);
130 dev_err(led->cdev.dev, "Failed to disable ISINK: %d\n", ret);
131 regulator_enable(led->dcdc);
135 led->enabled = 0;
140 struct wm8350_led *led = container_of(work, struct wm8350_led, work);
145 mutex_lock(&led->mutex);
147 spin_lock_irqsave(&led->value_lock, flags);
149 if (led->value == LED_OFF) {
150 spin_unlock_irqrestore(&led->value_lock, flags);
151 wm8350_led_disable(led);
160 uA = (led->max_uA_index * led->value) / LED_FULL;
161 spin_unlock_irqrestore(&led->value_lock, flags);
164 ret = regulator_set_current_limit(led->isink, isink_cur[uA],
167 dev_err(led->cdev.dev, "Failed to set %duA: %d\n",
170 wm8350_led_enable(led);
173 mutex_unlock(&led->mutex);
179 struct wm8350_led *led = to_wm8350_led(led_cdev);
182 spin_lock_irqsave(&led->value_lock, flags);
183 led->value = value;
184 schedule_work(&led->work);
185 spin_unlock_irqrestore(&led->value_lock, flags);
190 struct wm8350_led *led = platform_get_drvdata(pdev);
192 mutex_lock(&led->mutex);
193 led->value = LED_OFF;
194 wm8350_led_disable(led);
195 mutex_unlock(&led->mutex);
201 struct wm8350_led *led;
229 led = kzalloc(sizeof(*led), GFP_KERNEL);
230 if (led == NULL) {
235 led->cdev.brightness_set = wm8350_led_set;
236 led->cdev.default_trigger = pdata->default_trigger;
237 led->cdev.name = pdata->name;
238 led->cdev.flags |= LED_CORE_SUSPENDRESUME;
239 led->enabled = regulator_is_enabled(isink);
240 led->isink = isink;
241 led->dcdc = dcdc;
246 led->max_uA_index = i;
253 spin_lock_init(&led->value_lock);
254 mutex_init(&led->mutex);
255 INIT_WORK(&led->work, led_work);
256 led->value = LED_OFF;
257 platform_set_drvdata(pdev, led);
259 ret = led_classdev_register(&pdev->dev, &led->cdev);
266 kfree(led);
276 struct wm8350_led *led = platform_get_drvdata(pdev);
278 led_classdev_unregister(&led->cdev);
280 wm8350_led_disable(led);
281 regulator_put(led->dcdc);
282 regulator_put(led->isink);
283 kfree(led);
289 .name = "wm8350-led",
312 MODULE_ALIAS("platform:wm8350-led");