Lines Matching refs:led

38 static void wm831x_status_set(struct wm831x_status *led)  in wm831x_status_set()  argument
42 mutex_lock(&led->mutex); in wm831x_status_set()
44 led->reg_val &= ~(WM831X_LED_SRC_MASK | WM831X_LED_MODE_MASK | in wm831x_status_set()
47 spin_lock_irqsave(&led->value_lock, flags); in wm831x_status_set()
49 led->reg_val |= led->src << WM831X_LED_SRC_SHIFT; in wm831x_status_set()
50 if (led->blink) { in wm831x_status_set()
51 led->reg_val |= 2 << WM831X_LED_MODE_SHIFT; in wm831x_status_set()
52 led->reg_val |= led->blink_time << WM831X_LED_DUR_SHIFT; in wm831x_status_set()
53 led->reg_val |= led->blink_cyc; in wm831x_status_set()
55 if (led->brightness != LED_OFF) in wm831x_status_set()
56 led->reg_val |= 1 << WM831X_LED_MODE_SHIFT; in wm831x_status_set()
59 spin_unlock_irqrestore(&led->value_lock, flags); in wm831x_status_set()
61 wm831x_reg_write(led->wm831x, led->reg, led->reg_val); in wm831x_status_set()
63 mutex_unlock(&led->mutex); in wm831x_status_set()
69 struct wm831x_status *led = to_wm831x_status(led_cdev); in wm831x_status_brightness_set() local
72 spin_lock_irqsave(&led->value_lock, flags); in wm831x_status_brightness_set()
73 led->brightness = value; in wm831x_status_brightness_set()
75 led->blink = 0; in wm831x_status_brightness_set()
76 spin_unlock_irqrestore(&led->value_lock, flags); in wm831x_status_brightness_set()
77 wm831x_status_set(led); in wm831x_status_brightness_set()
86 struct wm831x_status *led = to_wm831x_status(led_cdev); in wm831x_status_blink_set() local
96 spin_lock_irqsave(&led->value_lock, flags); in wm831x_status_blink_set()
102 led->blink_time = 0; in wm831x_status_blink_set()
105 led->blink_time = 1; in wm831x_status_blink_set()
108 led->blink_time = 2; in wm831x_status_blink_set()
113 led->blink_time = 3; in wm831x_status_blink_set()
123 led->blink_cyc = 0; in wm831x_status_blink_set()
126 led->blink_cyc = 1; in wm831x_status_blink_set()
129 led->blink_cyc = 2; in wm831x_status_blink_set()
132 led->blink_cyc = 3; in wm831x_status_blink_set()
141 led->blink = 1; in wm831x_status_blink_set()
143 led->blink = 0; in wm831x_status_blink_set()
145 spin_unlock_irqrestore(&led->value_lock, flags); in wm831x_status_blink_set()
146 wm831x_status_set(led); in wm831x_status_blink_set()
162 struct wm831x_status *led = to_wm831x_status(led_cdev); in src_show() local
166 mutex_lock(&led->mutex); in src_show()
169 if (i == led->src) in src_show()
174 mutex_unlock(&led->mutex); in src_show()
186 struct wm831x_status *led = to_wm831x_status(led_cdev); in src_store() local
191 mutex_lock(&led->mutex); in src_store()
192 led->src = i; in src_store()
193 mutex_unlock(&led->mutex); in src_store()
194 wm831x_status_set(led); in src_store()