55
55
56
56
#define AN30259A_NAME "an30259a"
57
57
58
- #define STATE_OFF 0
59
- #define STATE_KEEP 1
60
- #define STATE_ON 2
61
-
62
58
struct an30259a ;
63
59
64
60
struct an30259a_led {
65
61
struct an30259a * chip ;
66
62
struct fwnode_handle * fwnode ;
67
63
struct led_classdev cdev ;
68
64
u32 num ;
69
- u32 default_state ;
65
+ enum led_default_state default_state ;
70
66
bool sloping ;
71
67
};
72
68
@@ -205,7 +201,6 @@ static int an30259a_dt_init(struct i2c_client *client,
205
201
struct device_node * np = dev_of_node (& client -> dev ), * child ;
206
202
int count , ret ;
207
203
int i = 0 ;
208
- const char * str ;
209
204
struct an30259a_led * led ;
210
205
211
206
count = of_get_available_child_count (np );
@@ -228,15 +223,7 @@ static int an30259a_dt_init(struct i2c_client *client,
228
223
led -> num = source ;
229
224
led -> chip = chip ;
230
225
led -> fwnode = of_fwnode_handle (child );
231
-
232
- if (!of_property_read_string (child , "default-state" , & str )) {
233
- if (!strcmp (str , "on" ))
234
- led -> default_state = STATE_ON ;
235
- else if (!strcmp (str , "keep" ))
236
- led -> default_state = STATE_KEEP ;
237
- else
238
- led -> default_state = STATE_OFF ;
239
- }
226
+ led -> default_state = led_init_default_state_get (led -> fwnode );
240
227
241
228
i ++ ;
242
229
}
@@ -261,10 +248,10 @@ static void an30259a_init_default_state(struct an30259a_led *led)
261
248
int led_on , err ;
262
249
263
250
switch (led -> default_state ) {
264
- case STATE_ON :
251
+ case LEDS_DEFSTATE_ON :
265
252
led -> cdev .brightness = LED_FULL ;
266
253
break ;
267
- case STATE_KEEP :
254
+ case LEDS_DEFSTATE_KEEP :
268
255
err = regmap_read (chip -> regmap , AN30259A_REG_LED_ON , & led_on );
269
256
if (err )
270
257
break ;
0 commit comments