Lines Matching refs:led_dat
165 struct netxbig_led_data *led_dat = in netxbig_led_blink_set() local
173 led_dat->timer, led_dat->num_timer); in netxbig_led_blink_set()
177 mode_val = led_dat->mode_val[mode]; in netxbig_led_blink_set()
181 spin_lock_irq(&led_dat->lock); in netxbig_led_blink_set()
183 gpio_ext_set_value(led_dat->gpio_ext, led_dat->mode_addr, mode_val); in netxbig_led_blink_set()
184 led_dat->mode = mode; in netxbig_led_blink_set()
186 spin_unlock_irq(&led_dat->lock); in netxbig_led_blink_set()
194 struct netxbig_led_data *led_dat = in netxbig_led_set() local
201 spin_lock_irqsave(&led_dat->lock, flags); in netxbig_led_set()
207 if (led_dat->sata) in netxbig_led_set()
209 else if (led_dat->mode == NETXBIG_LED_OFF) in netxbig_led_set()
212 mode = led_dat->mode; in netxbig_led_set()
214 mode_val = led_dat->mode_val[mode]; in netxbig_led_set()
216 gpio_ext_set_value(led_dat->gpio_ext, led_dat->mode_addr, mode_val); in netxbig_led_set()
217 led_dat->mode = mode; in netxbig_led_set()
224 bright_val = DIV_ROUND_UP(value * led_dat->bright_max, in netxbig_led_set()
226 gpio_ext_set_value(led_dat->gpio_ext, in netxbig_led_set()
227 led_dat->bright_addr, bright_val); in netxbig_led_set()
230 spin_unlock_irqrestore(&led_dat->lock, flags); in netxbig_led_set()
238 struct netxbig_led_data *led_dat = in netxbig_led_sata_store() local
251 spin_lock_irq(&led_dat->lock); in netxbig_led_sata_store()
253 if (led_dat->sata == enable) { in netxbig_led_sata_store()
258 if (led_dat->mode != NETXBIG_LED_ON && in netxbig_led_sata_store()
259 led_dat->mode != NETXBIG_LED_SATA) in netxbig_led_sata_store()
260 mode = led_dat->mode; /* Keep modes 'off' and 'timer'. */ in netxbig_led_sata_store()
266 mode_val = led_dat->mode_val[mode]; in netxbig_led_sata_store()
272 gpio_ext_set_value(led_dat->gpio_ext, led_dat->mode_addr, mode_val); in netxbig_led_sata_store()
273 led_dat->mode = mode; in netxbig_led_sata_store()
274 led_dat->sata = enable; in netxbig_led_sata_store()
279 spin_unlock_irq(&led_dat->lock); in netxbig_led_sata_store()
288 struct netxbig_led_data *led_dat = in netxbig_led_sata_show() local
291 return sprintf(buf, "%d\n", led_dat->sata); in netxbig_led_sata_show()
302 static void delete_netxbig_led(struct netxbig_led_data *led_dat) in delete_netxbig_led() argument
304 led_classdev_unregister(&led_dat->cdev); in delete_netxbig_led()
309 struct netxbig_led_data *led_dat, in create_netxbig_led() argument
314 spin_lock_init(&led_dat->lock); in create_netxbig_led()
315 led_dat->gpio_ext = pdata->gpio_ext; in create_netxbig_led()
316 led_dat->cdev.name = template->name; in create_netxbig_led()
317 led_dat->cdev.default_trigger = template->default_trigger; in create_netxbig_led()
318 led_dat->cdev.blink_set = netxbig_led_blink_set; in create_netxbig_led()
319 led_dat->cdev.brightness_set = netxbig_led_set; in create_netxbig_led()
330 led_dat->sata = 0; in create_netxbig_led()
331 led_dat->cdev.brightness = LED_OFF; in create_netxbig_led()
332 led_dat->cdev.flags |= LED_CORE_SUSPENDRESUME; in create_netxbig_led()
333 led_dat->mode_addr = template->mode_addr; in create_netxbig_led()
334 led_dat->mode_val = template->mode_val; in create_netxbig_led()
335 led_dat->bright_addr = template->bright_addr; in create_netxbig_led()
336 led_dat->bright_max = (1 << pdata->gpio_ext->num_data) - 1; in create_netxbig_led()
337 led_dat->timer = pdata->timer; in create_netxbig_led()
338 led_dat->num_timer = pdata->num_timer; in create_netxbig_led()
343 if (led_dat->mode_val[NETXBIG_LED_SATA] != NETXBIG_LED_INVALID_MODE) in create_netxbig_led()
344 led_dat->cdev.groups = netxbig_led_groups; in create_netxbig_led()
346 return led_classdev_register(&pdev->dev, &led_dat->cdev); in create_netxbig_led()