Lines Matching refs:led
45 struct wm831x_status *led = container_of(work, struct wm831x_status, in wm831x_status_work() local
49 mutex_lock(&led->mutex); in wm831x_status_work()
51 led->reg_val &= ~(WM831X_LED_SRC_MASK | WM831X_LED_MODE_MASK | in wm831x_status_work()
54 spin_lock_irqsave(&led->value_lock, flags); in wm831x_status_work()
56 led->reg_val |= led->src << WM831X_LED_SRC_SHIFT; in wm831x_status_work()
57 if (led->blink) { in wm831x_status_work()
58 led->reg_val |= 2 << WM831X_LED_MODE_SHIFT; in wm831x_status_work()
59 led->reg_val |= led->blink_time << WM831X_LED_DUR_SHIFT; in wm831x_status_work()
60 led->reg_val |= led->blink_cyc; in wm831x_status_work()
62 if (led->brightness != LED_OFF) in wm831x_status_work()
63 led->reg_val |= 1 << WM831X_LED_MODE_SHIFT; in wm831x_status_work()
66 spin_unlock_irqrestore(&led->value_lock, flags); in wm831x_status_work()
68 wm831x_reg_write(led->wm831x, led->reg, led->reg_val); in wm831x_status_work()
70 mutex_unlock(&led->mutex); in wm831x_status_work()
76 struct wm831x_status *led = to_wm831x_status(led_cdev); in wm831x_status_set() local
79 spin_lock_irqsave(&led->value_lock, flags); in wm831x_status_set()
80 led->brightness = value; in wm831x_status_set()
82 led->blink = 0; in wm831x_status_set()
83 schedule_work(&led->work); in wm831x_status_set()
84 spin_unlock_irqrestore(&led->value_lock, flags); in wm831x_status_set()
91 struct wm831x_status *led = to_wm831x_status(led_cdev); in wm831x_status_blink_set() local
101 spin_lock_irqsave(&led->value_lock, flags); in wm831x_status_blink_set()
107 led->blink_time = 0; in wm831x_status_blink_set()
110 led->blink_time = 1; in wm831x_status_blink_set()
113 led->blink_time = 2; in wm831x_status_blink_set()
118 led->blink_time = 3; in wm831x_status_blink_set()
128 led->blink_cyc = 0; in wm831x_status_blink_set()
131 led->blink_cyc = 1; in wm831x_status_blink_set()
134 led->blink_cyc = 2; in wm831x_status_blink_set()
137 led->blink_cyc = 3; in wm831x_status_blink_set()
146 led->blink = 1; in wm831x_status_blink_set()
148 led->blink = 0; in wm831x_status_blink_set()
152 schedule_work(&led->work); in wm831x_status_blink_set()
154 spin_unlock_irqrestore(&led->value_lock, flags); in wm831x_status_blink_set()
170 struct wm831x_status *led = to_wm831x_status(led_cdev); in wm831x_status_src_show() local
174 mutex_lock(&led->mutex); in wm831x_status_src_show()
177 if (i == led->src) in wm831x_status_src_show()
182 mutex_unlock(&led->mutex); in wm831x_status_src_show()
194 struct wm831x_status *led = to_wm831x_status(led_cdev); in wm831x_status_src_store() local
208 mutex_lock(&led->mutex); in wm831x_status_src_store()
210 led->src = i; in wm831x_status_src_store()
211 schedule_work(&led->work); in wm831x_status_src_store()
213 mutex_unlock(&led->mutex); in wm831x_status_src_store()