Lines Matching refs:led_dat
166 struct netxbig_led_data *led_dat = in netxbig_led_blink_set() local
174 led_dat->timer, led_dat->num_timer); in netxbig_led_blink_set()
178 mode_val = led_dat->mode_val[mode]; in netxbig_led_blink_set()
182 spin_lock_irq(&led_dat->lock); in netxbig_led_blink_set()
184 gpio_ext_set_value(led_dat->gpio_ext, led_dat->mode_addr, mode_val); in netxbig_led_blink_set()
185 led_dat->mode = mode; in netxbig_led_blink_set()
187 spin_unlock_irq(&led_dat->lock); in netxbig_led_blink_set()
195 struct netxbig_led_data *led_dat = in netxbig_led_set() local
202 spin_lock_irqsave(&led_dat->lock, flags); in netxbig_led_set()
208 if (led_dat->sata) in netxbig_led_set()
210 else if (led_dat->mode == NETXBIG_LED_OFF) in netxbig_led_set()
213 mode = led_dat->mode; in netxbig_led_set()
215 mode_val = led_dat->mode_val[mode]; in netxbig_led_set()
217 gpio_ext_set_value(led_dat->gpio_ext, led_dat->mode_addr, mode_val); in netxbig_led_set()
218 led_dat->mode = mode; in netxbig_led_set()
225 bright_val = DIV_ROUND_UP(value * led_dat->bright_max, in netxbig_led_set()
227 gpio_ext_set_value(led_dat->gpio_ext, in netxbig_led_set()
228 led_dat->bright_addr, bright_val); in netxbig_led_set()
231 spin_unlock_irqrestore(&led_dat->lock, flags); in netxbig_led_set()
239 struct netxbig_led_data *led_dat = in netxbig_led_sata_store() local
252 spin_lock_irq(&led_dat->lock); in netxbig_led_sata_store()
254 if (led_dat->sata == enable) { in netxbig_led_sata_store()
259 if (led_dat->mode != NETXBIG_LED_ON && in netxbig_led_sata_store()
260 led_dat->mode != NETXBIG_LED_SATA) in netxbig_led_sata_store()
261 mode = led_dat->mode; /* Keep modes 'off' and 'timer'. */ in netxbig_led_sata_store()
267 mode_val = led_dat->mode_val[mode]; in netxbig_led_sata_store()
273 gpio_ext_set_value(led_dat->gpio_ext, led_dat->mode_addr, mode_val); in netxbig_led_sata_store()
274 led_dat->mode = mode; in netxbig_led_sata_store()
275 led_dat->sata = enable; in netxbig_led_sata_store()
280 spin_unlock_irq(&led_dat->lock); in netxbig_led_sata_store()
289 struct netxbig_led_data *led_dat = in netxbig_led_sata_show() local
292 return sprintf(buf, "%d\n", led_dat->sata); in netxbig_led_sata_show()
297 static void __devexit delete_netxbig_led(struct netxbig_led_data *led_dat) in delete_netxbig_led() argument
299 if (led_dat->mode_val[NETXBIG_LED_SATA] != NETXBIG_LED_INVALID_MODE) in delete_netxbig_led()
300 device_remove_file(led_dat->cdev.dev, &dev_attr_sata); in delete_netxbig_led()
301 led_classdev_unregister(&led_dat->cdev); in delete_netxbig_led()
306 struct netxbig_led_data *led_dat, in create_netxbig_led() argument
312 spin_lock_init(&led_dat->lock); in create_netxbig_led()
313 led_dat->gpio_ext = pdata->gpio_ext; in create_netxbig_led()
314 led_dat->cdev.name = template->name; in create_netxbig_led()
315 led_dat->cdev.default_trigger = template->default_trigger; in create_netxbig_led()
316 led_dat->cdev.blink_set = netxbig_led_blink_set; in create_netxbig_led()
317 led_dat->cdev.brightness_set = netxbig_led_set; in create_netxbig_led()
328 led_dat->sata = 0; in create_netxbig_led()
329 led_dat->cdev.brightness = LED_OFF; in create_netxbig_led()
330 led_dat->cdev.flags |= LED_CORE_SUSPENDRESUME; in create_netxbig_led()
331 led_dat->mode_addr = template->mode_addr; in create_netxbig_led()
332 led_dat->mode_val = template->mode_val; in create_netxbig_led()
333 led_dat->bright_addr = template->bright_addr; in create_netxbig_led()
334 led_dat->bright_max = (1 << pdata->gpio_ext->num_data) - 1; in create_netxbig_led()
335 led_dat->timer = pdata->timer; in create_netxbig_led()
336 led_dat->num_timer = pdata->num_timer; in create_netxbig_led()
338 ret = led_classdev_register(&pdev->dev, &led_dat->cdev); in create_netxbig_led()
346 if (led_dat->mode_val[NETXBIG_LED_SATA] != NETXBIG_LED_INVALID_MODE) { in create_netxbig_led()
347 ret = device_create_file(led_dat->cdev.dev, &dev_attr_sata); in create_netxbig_led()
349 led_classdev_unregister(&led_dat->cdev); in create_netxbig_led()