Lines Matching refs:drvdata
189 static int lm3530_led_enable(struct lm3530_data *drvdata) in lm3530_led_enable() argument
193 if (drvdata->enable) in lm3530_led_enable()
196 ret = regulator_enable(drvdata->regulator); in lm3530_led_enable()
198 dev_err(drvdata->led_dev.dev, "Failed to enable vin:%d\n", ret); in lm3530_led_enable()
202 drvdata->enable = true; in lm3530_led_enable()
206 static void lm3530_led_disable(struct lm3530_data *drvdata) in lm3530_led_disable() argument
210 if (!drvdata->enable) in lm3530_led_disable()
213 ret = regulator_disable(drvdata->regulator); in lm3530_led_disable()
215 dev_err(drvdata->led_dev.dev, "Failed to disable vin:%d\n", in lm3530_led_disable()
220 drvdata->enable = false; in lm3530_led_disable()
223 static int lm3530_init_registers(struct lm3530_data *drvdata) in lm3530_init_registers() argument
231 struct lm3530_platform_data *pdata = drvdata->pdata; in lm3530_init_registers()
232 struct i2c_client *client = drvdata->client; in lm3530_init_registers()
241 switch (drvdata->mode) { in lm3530_init_registers()
258 if (drvdata->brightness) in lm3530_init_registers()
259 brightness = drvdata->brightness; in lm3530_init_registers()
261 brightness = drvdata->brightness = pdata->brt_val; in lm3530_init_registers()
263 if (brightness > drvdata->led_dev.max_brightness) in lm3530_init_registers()
264 brightness = drvdata->led_dev.max_brightness; in lm3530_init_registers()
281 ret = lm3530_led_enable(drvdata); in lm3530_init_registers()
288 drvdata->mode == LM3530_BL_MODE_PWM) { in lm3530_init_registers()
291 drvdata->led_dev.max_brightness); in lm3530_init_registers()
308 struct lm3530_data *drvdata = in lm3530_brightness_set() local
310 struct lm3530_platform_data *pdata = drvdata->pdata; in lm3530_brightness_set()
314 switch (drvdata->mode) { in lm3530_brightness_set()
317 if (!drvdata->enable) { in lm3530_brightness_set()
318 err = lm3530_init_registers(drvdata); in lm3530_brightness_set()
320 dev_err(&drvdata->client->dev, in lm3530_brightness_set()
327 err = i2c_smbus_write_byte_data(drvdata->client, in lm3530_brightness_set()
330 dev_err(&drvdata->client->dev, in lm3530_brightness_set()
333 drvdata->brightness = brt_val; in lm3530_brightness_set()
336 lm3530_led_disable(drvdata); in lm3530_brightness_set()
353 struct lm3530_data *drvdata; in mode_show() local
356 drvdata = container_of(led_cdev, struct lm3530_data, led_dev); in mode_show()
358 if (drvdata->mode == mode_map[i].mode_val) in mode_show()
372 struct lm3530_data *drvdata; in mode_store() local
377 drvdata = container_of(led_cdev, struct lm3530_data, led_dev); in mode_store()
378 pwm = &drvdata->pdata->pwm_data; in mode_store()
386 drvdata->mode = mode; in mode_store()
392 err = lm3530_init_registers(drvdata); in mode_store()
398 return sizeof(drvdata->mode); in mode_store()
412 struct lm3530_data *drvdata; in lm3530_probe() local
431 drvdata = devm_kzalloc(&client->dev, sizeof(struct lm3530_data), in lm3530_probe()
433 if (drvdata == NULL) in lm3530_probe()
436 drvdata->mode = pdata->mode; in lm3530_probe()
437 drvdata->client = client; in lm3530_probe()
438 drvdata->pdata = pdata; in lm3530_probe()
439 drvdata->brightness = LED_OFF; in lm3530_probe()
440 drvdata->enable = false; in lm3530_probe()
441 drvdata->led_dev.name = LM3530_LED_DEV; in lm3530_probe()
442 drvdata->led_dev.brightness_set = lm3530_brightness_set; in lm3530_probe()
443 drvdata->led_dev.max_brightness = MAX_BRIGHTNESS; in lm3530_probe()
444 drvdata->led_dev.groups = lm3530_groups; in lm3530_probe()
446 i2c_set_clientdata(client, drvdata); in lm3530_probe()
448 drvdata->regulator = devm_regulator_get(&client->dev, "vin"); in lm3530_probe()
449 if (IS_ERR(drvdata->regulator)) { in lm3530_probe()
451 err = PTR_ERR(drvdata->regulator); in lm3530_probe()
452 drvdata->regulator = NULL; in lm3530_probe()
456 if (drvdata->pdata->brt_val) { in lm3530_probe()
457 err = lm3530_init_registers(drvdata); in lm3530_probe()
464 err = led_classdev_register(&client->dev, &drvdata->led_dev); in lm3530_probe()
475 struct lm3530_data *drvdata = i2c_get_clientdata(client); in lm3530_remove() local
477 lm3530_led_disable(drvdata); in lm3530_remove()
478 led_classdev_unregister(&drvdata->led_dev); in lm3530_remove()