Lines Matching refs:led_dat
78 static int ns2_led_get_mode(struct ns2_led_data *led_dat, in ns2_led_get_mode() argument
86 read_lock_irq(&led_dat->rw_lock); in ns2_led_get_mode()
88 cmd_level = gpio_get_value(led_dat->cmd); in ns2_led_get_mode()
89 slow_level = gpio_get_value(led_dat->slow); in ns2_led_get_mode()
100 read_unlock_irq(&led_dat->rw_lock); in ns2_led_get_mode()
105 static void ns2_led_set_mode(struct ns2_led_data *led_dat, in ns2_led_set_mode() argument
111 write_lock_irqsave(&led_dat->rw_lock, flags); in ns2_led_set_mode()
115 gpio_set_value(led_dat->cmd, in ns2_led_set_mode()
117 gpio_set_value(led_dat->slow, in ns2_led_set_mode()
122 write_unlock_irqrestore(&led_dat->rw_lock, flags); in ns2_led_set_mode()
128 struct ns2_led_data *led_dat = in ns2_led_set() local
134 else if (led_dat->sata) in ns2_led_set()
139 ns2_led_set_mode(led_dat, mode); in ns2_led_set()
147 struct ns2_led_data *led_dat = in ns2_led_sata_store() local
159 if (led_dat->sata == enable) in ns2_led_sata_store()
162 ret = ns2_led_get_mode(led_dat, &mode); in ns2_led_sata_store()
167 ns2_led_set_mode(led_dat, NS_V2_LED_SATA); in ns2_led_sata_store()
169 ns2_led_set_mode(led_dat, NS_V2_LED_ON); in ns2_led_sata_store()
171 led_dat->sata = enable; in ns2_led_sata_store()
180 struct ns2_led_data *led_dat = in ns2_led_sata_show() local
183 return sprintf(buf, "%d\n", led_dat->sata); in ns2_led_sata_show()
195 create_ns2_led(struct platform_device *pdev, struct ns2_led_data *led_dat, in create_ns2_led() argument
221 rwlock_init(&led_dat->rw_lock); in create_ns2_led()
223 led_dat->cdev.name = template->name; in create_ns2_led()
224 led_dat->cdev.default_trigger = template->default_trigger; in create_ns2_led()
225 led_dat->cdev.blink_set = NULL; in create_ns2_led()
226 led_dat->cdev.brightness_set = ns2_led_set; in create_ns2_led()
227 led_dat->cdev.flags |= LED_CORE_SUSPENDRESUME; in create_ns2_led()
228 led_dat->cdev.groups = ns2_led_groups; in create_ns2_led()
229 led_dat->cmd = template->cmd; in create_ns2_led()
230 led_dat->slow = template->slow; in create_ns2_led()
232 ret = ns2_led_get_mode(led_dat, &mode); in create_ns2_led()
237 led_dat->sata = (mode == NS_V2_LED_SATA) ? 1 : 0; in create_ns2_led()
238 led_dat->cdev.brightness = in create_ns2_led()
241 ret = led_classdev_register(&pdev->dev, &led_dat->cdev); in create_ns2_led()
248 static void delete_ns2_led(struct ns2_led_data *led_dat) in delete_ns2_led() argument
250 led_classdev_unregister(&led_dat->cdev); in delete_ns2_led()