Lines Matching defs:isink
3 // wm831x-isink.c -- Current sink driver for the WM831x series
35 struct wm831x_isink *isink = rdev_get_drvdata(rdev);
36 struct wm831x *wm831x = isink->wm831x;
40 ret = wm831x_set_bits(wm831x, isink->reg, WM831X_CS1_ENA,
46 ret = wm831x_set_bits(wm831x, isink->reg, WM831X_CS1_DRIVE,
49 wm831x_set_bits(wm831x, isink->reg, WM831X_CS1_ENA, 0);
57 struct wm831x_isink *isink = rdev_get_drvdata(rdev);
58 struct wm831x *wm831x = isink->wm831x;
61 ret = wm831x_set_bits(wm831x, isink->reg, WM831X_CS1_DRIVE, 0);
65 ret = wm831x_set_bits(wm831x, isink->reg, WM831X_CS1_ENA, 0);
75 struct wm831x_isink *isink = rdev_get_drvdata(rdev);
76 struct wm831x *wm831x = isink->wm831x;
79 ret = wm831x_reg_read(wm831x, isink->reg);
100 struct wm831x_isink *isink = data;
102 regulator_notifier_call_chain(isink->regulator,
114 struct wm831x_isink *isink;
115 int id = pdev->id % ARRAY_SIZE(pdata->isink);
122 if (pdata == NULL || pdata->isink[id] == NULL)
125 isink = devm_kzalloc(&pdev->dev, sizeof(struct wm831x_isink),
127 if (!isink)
130 isink->wm831x = wm831x;
138 isink->reg = res->start;
143 snprintf(isink->name, sizeof(isink->name), "ISINK%d", id + 1);
144 isink->desc.name = isink->name;
145 isink->desc.id = id;
146 isink->desc.ops = &wm831x_isink_ops;
147 isink->desc.type = REGULATOR_CURRENT;
148 isink->desc.owner = THIS_MODULE;
149 isink->desc.curr_table = wm831x_isinkv_values,
150 isink->desc.n_current_limits = ARRAY_SIZE(wm831x_isinkv_values),
151 isink->desc.csel_reg = isink->reg,
152 isink->desc.csel_mask = WM831X_CS1_ISEL_MASK,
155 config.init_data = pdata->isink[id];
156 config.driver_data = isink;
159 isink->regulator = devm_regulator_register(&pdev->dev, &isink->desc,
161 if (IS_ERR(isink->regulator)) {
162 ret = PTR_ERR(isink->regulator);
172 isink->name,
173 isink);
180 platform_set_drvdata(pdev, isink);
191 .name = "wm831x-isink",
217 MODULE_ALIAS("platform:wm831x-isink");