Lines Matching refs:drvdata
227 struct wm831x_status *drvdata;
239 drvdata = kzalloc(sizeof(struct wm831x_status), GFP_KERNEL);
240 if (!drvdata)
242 dev_set_drvdata(&pdev->dev, drvdata);
244 drvdata->wm831x = wm831x;
245 drvdata->reg = res->start;
258 mutex_init(&drvdata->mutex);
259 INIT_WORK(&drvdata->work, wm831x_status_work);
260 spin_lock_init(&drvdata->value_lock);
264 drvdata->reg_val = wm831x_reg_read(wm831x, drvdata->reg);
266 if (drvdata->reg_val & WM831X_LED_MODE_MASK)
267 drvdata->brightness = LED_FULL;
269 drvdata->brightness = LED_OFF;
275 drvdata->src = drvdata->reg_val;
276 drvdata->src &= WM831X_LED_SRC_MASK;
277 drvdata->src >>= WM831X_LED_SRC_SHIFT;
279 drvdata->src = pdata.default_src - 1;
282 drvdata->cdev.name = pdata.name;
283 drvdata->cdev.default_trigger = pdata.default_trigger;
284 drvdata->cdev.brightness_set = wm831x_status_set;
285 drvdata->cdev.blink_set = wm831x_status_blink_set;
287 ret = led_classdev_register(wm831x->dev, &drvdata->cdev);
293 ret = device_create_file(drvdata->cdev.dev, &dev_attr_src);
301 led_classdev_unregister(&drvdata->cdev);
302 kfree(drvdata);
309 struct wm831x_status *drvdata = platform_get_drvdata(pdev);
311 device_remove_file(drvdata->cdev.dev, &dev_attr_src);
312 led_classdev_unregister(&drvdata->cdev);
313 kfree(drvdata);