Lines Matching refs:drvdata

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