Symbol: wm831x
drivers/clk/clk-wm831x.c
105
struct wm831x *wm831x = clkdata->wm831x;
drivers/clk/clk-wm831x.c
108
ret = wm831x_set_bits(wm831x, WM831X_FLL_CONTROL_1, WM831X_FLL_ENA, 0);
drivers/clk/clk-wm831x.c
110
dev_crit(wm831x->dev, "Failed to disable FLL: %d\n", ret);
drivers/clk/clk-wm831x.c
118
struct wm831x *wm831x = clkdata->wm831x;
drivers/clk/clk-wm831x.c
121
ret = wm831x_reg_read(wm831x, WM831X_CLOCK_CONTROL_2);
drivers/clk/clk-wm831x.c
123
dev_err(wm831x->dev, "Unable to read CLOCK_CONTROL_2: %d\n",
drivers/clk/clk-wm831x.c
131
dev_err(wm831x->dev, "FLL only supported in AUTO mode\n");
drivers/clk/clk-wm831x.c
157
struct wm831x *wm831x = clkdata->wm831x;
drivers/clk/clk-wm831x.c
169
return wm831x_set_bits(wm831x, WM831X_CLOCK_CONTROL_2,
drivers/clk/clk-wm831x.c
18
struct wm831x *wm831x;
drivers/clk/clk-wm831x.c
182
struct wm831x *wm831x = clkdata->wm831x;
drivers/clk/clk-wm831x.c
186
ret = wm831x_reg_read(wm831x, WM831X_CLOCK_CONTROL_2);
drivers/clk/clk-wm831x.c
188
dev_err(wm831x->dev, "Unable to read CLOCK_CONTROL_2: %d\n",
drivers/clk/clk-wm831x.c
196
ret = wm831x_reg_read(wm831x, WM831X_FLL_CONTROL_5);
drivers/clk/clk-wm831x.c
198
dev_err(wm831x->dev, "Unable to read FLL_CONTROL_5: %d\n",
drivers/clk/clk-wm831x.c
209
dev_err(wm831x->dev, "Unsupported FLL clock source %d\n",
drivers/clk/clk-wm831x.c
237
struct wm831x *wm831x = clkdata->wm831x;
drivers/clk/clk-wm831x.c
240
ret = wm831x_reg_read(wm831x, WM831X_CLOCK_CONTROL_1);
drivers/clk/clk-wm831x.c
242
dev_err(wm831x->dev, "Unable to read CLOCK_CONTROL_1: %d\n",
drivers/clk/clk-wm831x.c
254
struct wm831x *wm831x = clkdata->wm831x;
drivers/clk/clk-wm831x.c
257
ret = wm831x_reg_unlock(wm831x);
drivers/clk/clk-wm831x.c
259
dev_crit(wm831x->dev, "Failed to lock registers: %d\n", ret);
drivers/clk/clk-wm831x.c
263
ret = wm831x_set_bits(wm831x, WM831X_CLOCK_CONTROL_1,
drivers/clk/clk-wm831x.c
266
dev_crit(wm831x->dev, "Failed to enable CLKOUT: %d\n", ret);
drivers/clk/clk-wm831x.c
268
wm831x_reg_lock(wm831x);
drivers/clk/clk-wm831x.c
277
struct wm831x *wm831x = clkdata->wm831x;
drivers/clk/clk-wm831x.c
280
ret = wm831x_reg_unlock(wm831x);
drivers/clk/clk-wm831x.c
282
dev_crit(wm831x->dev, "Failed to lock registers: %d\n", ret);
drivers/clk/clk-wm831x.c
286
ret = wm831x_set_bits(wm831x, WM831X_CLOCK_CONTROL_1,
drivers/clk/clk-wm831x.c
289
dev_crit(wm831x->dev, "Failed to disable CLKOUT: %d\n", ret);
drivers/clk/clk-wm831x.c
291
wm831x_reg_lock(wm831x);
drivers/clk/clk-wm831x.c
303
struct wm831x *wm831x = clkdata->wm831x;
drivers/clk/clk-wm831x.c
306
ret = wm831x_reg_read(wm831x, WM831X_CLOCK_CONTROL_1);
drivers/clk/clk-wm831x.c
308
dev_err(wm831x->dev, "Unable to read CLOCK_CONTROL_1: %d\n",
drivers/clk/clk-wm831x.c
323
struct wm831x *wm831x = clkdata->wm831x;
drivers/clk/clk-wm831x.c
325
return wm831x_set_bits(wm831x, WM831X_CLOCK_CONTROL_1,
drivers/clk/clk-wm831x.c
349
struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent);
drivers/clk/clk-wm831x.c
357
clkdata->wm831x = wm831x;
drivers/clk/clk-wm831x.c
360
ret = wm831x_reg_read(wm831x, WM831X_CLOCK_CONTROL_2);
drivers/clk/clk-wm831x.c
362
dev_err(wm831x->dev, "Unable to read CLOCK_CONTROL_2: %d\n",
drivers/clk/clk-wm831x.c
70
struct wm831x *wm831x = clkdata->wm831x;
drivers/clk/clk-wm831x.c
73
ret = wm831x_reg_read(wm831x, WM831X_FLL_CONTROL_1);
drivers/clk/clk-wm831x.c
75
dev_err(wm831x->dev, "Unable to read FLL_CONTROL_1: %d\n",
drivers/clk/clk-wm831x.c
87
struct wm831x *wm831x = clkdata->wm831x;
drivers/clk/clk-wm831x.c
90
ret = wm831x_set_bits(wm831x, WM831X_FLL_CONTROL_1,
drivers/clk/clk-wm831x.c
93
dev_crit(wm831x->dev, "Failed to enable FLL: %d\n", ret);
drivers/gpio/gpio-wm831x.c
101
static int wm831x_gpio_set_debounce(struct wm831x *wm831x, unsigned offset,
drivers/gpio/gpio-wm831x.c
107
ret = wm831x_reg_read(wm831x, reg);
drivers/gpio/gpio-wm831x.c
127
return wm831x_set_bits(wm831x, reg, WM831X_GPN_FN_MASK, fn);
drivers/gpio/gpio-wm831x.c
134
struct wm831x *wm831x = wm831x_gpio->wm831x;
drivers/gpio/gpio-wm831x.c
139
return wm831x_set_bits(wm831x, reg,
drivers/gpio/gpio-wm831x.c
142
return wm831x_set_bits(wm831x, reg,
drivers/gpio/gpio-wm831x.c
145
return wm831x_gpio_set_debounce(wm831x, offset,
drivers/gpio/gpio-wm831x.c
158
struct wm831x *wm831x = wm831x_gpio->wm831x;
drivers/gpio/gpio-wm831x.c
172
dev_err(wm831x->dev, "Failed to duplicate label\n");
drivers/gpio/gpio-wm831x.c
179
reg = wm831x_reg_read(wm831x, WM831X_GPIO1_CONTROL + i);
drivers/gpio/gpio-wm831x.c
181
dev_err(wm831x->dev,
drivers/gpio/gpio-wm831x.c
230
if (wm831x->has_gpio_ena)
drivers/gpio/gpio-wm831x.c
264
struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent);
drivers/gpio/gpio-wm831x.c
265
struct wm831x_pdata *pdata = &wm831x->pdata;
drivers/gpio/gpio-wm831x.c
27
struct wm831x *wm831x;
drivers/gpio/gpio-wm831x.c
275
wm831x_gpio->wm831x = wm831x;
drivers/gpio/gpio-wm831x.c
277
wm831x_gpio->gpio_chip.ngpio = wm831x->num_gpio;
drivers/gpio/gpio-wm831x.c
34
struct wm831x *wm831x = wm831x_gpio->wm831x;
drivers/gpio/gpio-wm831x.c
37
if (wm831x->has_gpio_ena)
drivers/gpio/gpio-wm831x.c
40
return wm831x_set_bits(wm831x, WM831X_GPIO1_CONTROL + offset,
drivers/gpio/gpio-wm831x.c
48
struct wm831x *wm831x = wm831x_gpio->wm831x;
drivers/gpio/gpio-wm831x.c
51
ret = wm831x_reg_read(wm831x, WM831X_GPIO_LEVEL);
drivers/gpio/gpio-wm831x.c
65
struct wm831x *wm831x = wm831x_gpio->wm831x;
drivers/gpio/gpio-wm831x.c
67
return wm831x_set_bits(wm831x, WM831X_GPIO_LEVEL, 1 << offset,
drivers/gpio/gpio-wm831x.c
75
struct wm831x *wm831x = wm831x_gpio->wm831x;
drivers/gpio/gpio-wm831x.c
79
if (wm831x->has_gpio_ena)
drivers/gpio/gpio-wm831x.c
82
ret = wm831x_set_bits(wm831x, WM831X_GPIO1_CONTROL + offset,
drivers/gpio/gpio-wm831x.c
95
struct wm831x *wm831x = wm831x_gpio->wm831x;
drivers/gpio/gpio-wm831x.c
97
return irq_create_mapping(wm831x->irq_domain,
drivers/hwmon/wm831x-hwmon.c
128
ATTRIBUTE_GROUPS(wm831x);
drivers/hwmon/wm831x-hwmon.c
132
struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent);
drivers/hwmon/wm831x-hwmon.c
136
wm831x,
drivers/hwmon/wm831x-hwmon.c
33
struct wm831x *wm831x = dev_get_drvdata(dev);
drivers/hwmon/wm831x-hwmon.c
37
ret = wm831x_auxadc_read_uv(wm831x, channel);
drivers/hwmon/wm831x-hwmon.c
47
struct wm831x *wm831x = dev_get_drvdata(dev);
drivers/hwmon/wm831x-hwmon.c
51
ret = wm831x_auxadc_read(wm831x, channel);
drivers/input/misc/wm831x-on.c
33
struct wm831x *wm831x;
drivers/input/misc/wm831x-on.c
44
struct wm831x *wm831x = wm831x_on->wm831x;
drivers/input/misc/wm831x-on.c
47
ret = wm831x_reg_read(wm831x, WM831X_ON_PIN_CONTROL);
drivers/input/misc/wm831x-on.c
54
dev_err(wm831x->dev, "Failed to read ON status: %d\n", ret);
drivers/input/misc/wm831x-on.c
73
struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent);
drivers/input/misc/wm831x-on.c
75
int irq = wm831x_irq(wm831x, platform_get_irq(pdev, 0));
drivers/input/misc/wm831x-on.c
85
wm831x_on->wm831x = wm831x;
drivers/input/touchscreen/wm831x-ts.c
100
ret = wm831x_bulk_read(wm831x, WM831X_TOUCH_DATA_X, count,
drivers/input/touchscreen/wm831x-ts.c
103
dev_err(wm831x->dev, "Failed to read touch data: %d\n",
drivers/input/touchscreen/wm831x-ts.c
124
dev_dbg(wm831x->dev, "IRQ DATA->PD\n");
drivers/input/touchscreen/wm831x-ts.c
129
wm831x_set_bits(wm831x, WM831X_TOUCH_CONTROL_1,
drivers/input/touchscreen/wm831x-ts.c
134
wm831x_set_bits(wm831x, WM831X_INTERRUPT_STATUS_1,
drivers/input/touchscreen/wm831x-ts.c
137
wm831x_bulk_read(wm831x, WM831X_TOUCH_DATA_X, count, data);
drivers/input/touchscreen/wm831x-ts.c
158
struct wm831x *wm831x = wm831x_ts->wm831x;
drivers/input/touchscreen/wm831x-ts.c
170
wm831x_set_bits(wm831x, WM831X_TOUCH_CONTROL_1,
drivers/input/touchscreen/wm831x-ts.c
174
wm831x_set_bits(wm831x, WM831X_INTERRUPT_STATUS_1,
drivers/input/touchscreen/wm831x-ts.c
180
dev_dbg(wm831x->dev, "IRQ PD->DATA\n");
drivers/input/touchscreen/wm831x-ts.c
189
struct wm831x *wm831x = wm831x_ts->wm831x;
drivers/input/touchscreen/wm831x-ts.c
191
wm831x_set_bits(wm831x, WM831X_TOUCH_CONTROL_1,
drivers/input/touchscreen/wm831x-ts.c
196
wm831x_set_bits(wm831x, WM831X_TOUCH_CONTROL_1,
drivers/input/touchscreen/wm831x-ts.c
205
struct wm831x *wm831x = wm831x_ts->wm831x;
drivers/input/touchscreen/wm831x-ts.c
208
wm831x_set_bits(wm831x, WM831X_TOUCH_CONTROL_1,
drivers/input/touchscreen/wm831x-ts.c
234
struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent);
drivers/input/touchscreen/wm831x-ts.c
251
wm831x_ts->wm831x = wm831x;
drivers/input/touchscreen/wm831x-ts.c
259
wm831x_ts->data_irq = wm831x_irq(wm831x,
drivers/input/touchscreen/wm831x-ts.c
265
wm831x_ts->pd_irq = wm831x_irq(wm831x,
drivers/input/touchscreen/wm831x-ts.c
277
wm831x_set_bits(wm831x, WM831X_TOUCH_CONTROL_2,
drivers/input/touchscreen/wm831x-ts.c
284
wm831x_set_bits(wm831x, WM831X_TOUCH_CONTROL_2,
drivers/input/touchscreen/wm831x-ts.c
296
wm831x_set_bits(wm831x, WM831X_TOUCH_CONTROL_2,
drivers/input/touchscreen/wm831x-ts.c
300
wm831x_set_bits(wm831x, WM831X_TOUCH_CONTROL_2,
drivers/input/touchscreen/wm831x-ts.c
306
wm831x_set_bits(wm831x, WM831X_TOUCH_CONTROL_2,
drivers/input/touchscreen/wm831x-ts.c
310
wm831x_set_bits(wm831x, WM831X_TOUCH_CONTROL_1,
drivers/input/touchscreen/wm831x-ts.c
61
struct wm831x *wm831x;
drivers/input/touchscreen/wm831x-ts.c
76
dev_dbg(wm831x_ts->wm831x->dev, "IRQ PD->DATA done\n");
drivers/input/touchscreen/wm831x-ts.c
79
dev_dbg(wm831x_ts->wm831x->dev, "IRQ DATA->PD done\n");
drivers/input/touchscreen/wm831x-ts.c
86
struct wm831x *wm831x = wm831x_ts->wm831x;
drivers/input/touchscreen/wm831x-ts.c
97
wm831x_set_bits(wm831x, WM831X_INTERRUPT_STATUS_1,
drivers/leds/leds-wm831x-status.c
21
struct wm831x *wm831x;
drivers/leds/leds-wm831x-status.c
210
struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent);
drivers/leds/leds-wm831x-status.c
229
drvdata->wm831x = wm831x;
drivers/leds/leds-wm831x-status.c
232
if (dev_get_platdata(wm831x->dev))
drivers/leds/leds-wm831x-status.c
233
chip_pdata = dev_get_platdata(wm831x->dev);
drivers/leds/leds-wm831x-status.c
248
drvdata->reg_val = wm831x_reg_read(wm831x, drvdata->reg);
drivers/leds/leds-wm831x-status.c
272
ret = led_classdev_register(wm831x->dev, &drvdata->cdev);
drivers/leds/leds-wm831x-status.c
61
wm831x_reg_write(led->wm831x, led->reg, led->reg_val);
drivers/mfd/wm831x-auxadc.c
100
mutex_unlock(&wm831x->auxadc_lock);
drivers/mfd/wm831x-auxadc.c
109
struct wm831x *wm831x = irq_data;
drivers/mfd/wm831x-auxadc.c
113
ret = wm831x_reg_read(wm831x, WM831X_AUXADC_DATA);
drivers/mfd/wm831x-auxadc.c
115
dev_err(wm831x->dev,
drivers/mfd/wm831x-auxadc.c
128
mutex_lock(&wm831x->auxadc_lock);
drivers/mfd/wm831x-auxadc.c
131
wm831x_set_bits(wm831x, WM831X_AUXADC_SOURCE,
drivers/mfd/wm831x-auxadc.c
133
wm831x->auxadc_active &= ~(1 << input);
drivers/mfd/wm831x-auxadc.c
136
if (!wm831x->auxadc_active)
drivers/mfd/wm831x-auxadc.c
137
wm831x_reg_write(wm831x, WM831X_AUXADC_CONTROL, 0);
drivers/mfd/wm831x-auxadc.c
140
list_for_each_entry(req, &wm831x->auxadc_pending, list) {
drivers/mfd/wm831x-auxadc.c
147
mutex_unlock(&wm831x->auxadc_lock);
drivers/mfd/wm831x-auxadc.c
152
static int wm831x_auxadc_read_polled(struct wm831x *wm831x,
drivers/mfd/wm831x-auxadc.c
157
mutex_lock(&wm831x->auxadc_lock);
drivers/mfd/wm831x-auxadc.c
159
ret = wm831x_set_bits(wm831x, WM831X_AUXADC_CONTROL,
drivers/mfd/wm831x-auxadc.c
162
dev_err(wm831x->dev, "Failed to enable AUXADC: %d\n", ret);
drivers/mfd/wm831x-auxadc.c
168
ret = wm831x_reg_write(wm831x, WM831X_AUXADC_SOURCE,
drivers/mfd/wm831x-auxadc.c
171
dev_err(wm831x->dev, "Failed to set AUXADC source: %d\n", ret);
drivers/mfd/wm831x-auxadc.c
175
ret = wm831x_set_bits(wm831x, WM831X_AUXADC_CONTROL,
drivers/mfd/wm831x-auxadc.c
178
dev_err(wm831x->dev, "Failed to start AUXADC: %d\n", ret);
drivers/mfd/wm831x-auxadc.c
185
ret = wm831x_reg_read(wm831x, WM831X_INTERRUPT_STATUS_1);
drivers/mfd/wm831x-auxadc.c
187
dev_err(wm831x->dev,
drivers/mfd/wm831x-auxadc.c
194
wm831x_reg_write(wm831x, WM831X_INTERRUPT_STATUS_1,
drivers/mfd/wm831x-auxadc.c
197
dev_err(wm831x->dev,
drivers/mfd/wm831x-auxadc.c
203
ret = wm831x_reg_read(wm831x, WM831X_AUXADC_DATA);
drivers/mfd/wm831x-auxadc.c
205
dev_err(wm831x->dev,
drivers/mfd/wm831x-auxadc.c
217
dev_err(wm831x->dev, "Data from source %d not %d\n",
drivers/mfd/wm831x-auxadc.c
225
wm831x_set_bits(wm831x, WM831X_AUXADC_CONTROL, WM831X_AUX_ENA, 0);
drivers/mfd/wm831x-auxadc.c
227
mutex_unlock(&wm831x->auxadc_lock);
drivers/mfd/wm831x-auxadc.c
237
int wm831x_auxadc_read(struct wm831x *wm831x, enum wm831x_auxadc input)
drivers/mfd/wm831x-auxadc.c
239
return wm831x->auxadc_read(wm831x, input);
drivers/mfd/wm831x-auxadc.c
249
int wm831x_auxadc_read_uv(struct wm831x *wm831x, enum wm831x_auxadc input)
drivers/mfd/wm831x-auxadc.c
253
ret = wm831x_auxadc_read(wm831x, input);
drivers/mfd/wm831x-auxadc.c
263
void wm831x_auxadc_init(struct wm831x *wm831x)
drivers/mfd/wm831x-auxadc.c
267
mutex_init(&wm831x->auxadc_lock);
drivers/mfd/wm831x-auxadc.c
268
INIT_LIST_HEAD(&wm831x->auxadc_pending);
drivers/mfd/wm831x-auxadc.c
270
if (wm831x->irq) {
drivers/mfd/wm831x-auxadc.c
271
wm831x->auxadc_read = wm831x_auxadc_read_irq;
drivers/mfd/wm831x-auxadc.c
273
ret = request_threaded_irq(wm831x_irq(wm831x,
drivers/mfd/wm831x-auxadc.c
277
"auxadc", wm831x);
drivers/mfd/wm831x-auxadc.c
279
dev_err(wm831x->dev, "AUXADC IRQ request failed: %d\n",
drivers/mfd/wm831x-auxadc.c
281
wm831x->auxadc_read = NULL;
drivers/mfd/wm831x-auxadc.c
285
if (!wm831x->auxadc_read)
drivers/mfd/wm831x-auxadc.c
286
wm831x->auxadc_read = wm831x_auxadc_read_polled;
drivers/mfd/wm831x-auxadc.c
31
static int wm831x_auxadc_read_irq(struct wm831x *wm831x,
drivers/mfd/wm831x-auxadc.c
46
mutex_lock(&wm831x->auxadc_lock);
drivers/mfd/wm831x-auxadc.c
49
list_add(&req->list, &wm831x->auxadc_pending);
drivers/mfd/wm831x-auxadc.c
51
ena = !wm831x->auxadc_active;
drivers/mfd/wm831x-auxadc.c
54
ret = wm831x_set_bits(wm831x, WM831X_AUXADC_CONTROL,
drivers/mfd/wm831x-auxadc.c
57
dev_err(wm831x->dev, "Failed to enable AUXADC: %d\n",
drivers/mfd/wm831x-auxadc.c
64
if (!(wm831x->auxadc_active & (1 << input))) {
drivers/mfd/wm831x-auxadc.c
65
ret = wm831x_set_bits(wm831x, WM831X_AUXADC_SOURCE,
drivers/mfd/wm831x-auxadc.c
68
dev_err(wm831x->dev,
drivers/mfd/wm831x-auxadc.c
73
wm831x->auxadc_active |= 1 << input;
drivers/mfd/wm831x-auxadc.c
78
ret = wm831x_set_bits(wm831x, WM831X_AUXADC_CONTROL,
drivers/mfd/wm831x-auxadc.c
84
dev_err(wm831x->dev, "Failed to start AUXADC: %d\n",
drivers/mfd/wm831x-auxadc.c
90
mutex_unlock(&wm831x->auxadc_lock);
drivers/mfd/wm831x-auxadc.c
95
mutex_lock(&wm831x->auxadc_lock);
drivers/mfd/wm831x-core.c
119
void wm831x_reg_lock(struct wm831x *wm831x)
drivers/mfd/wm831x-core.c
123
ret = wm831x_reg_write(wm831x, WM831X_SECURITY_KEY, 0);
drivers/mfd/wm831x-core.c
125
dev_vdbg(wm831x->dev, "Registers locked\n");
drivers/mfd/wm831x-core.c
127
mutex_lock(&wm831x->io_lock);
drivers/mfd/wm831x-core.c
128
WARN_ON(wm831x->locked);
drivers/mfd/wm831x-core.c
129
wm831x->locked = 1;
drivers/mfd/wm831x-core.c
130
mutex_unlock(&wm831x->io_lock);
drivers/mfd/wm831x-core.c
132
dev_err(wm831x->dev, "Failed to lock registers: %d\n", ret);
drivers/mfd/wm831x-core.c
1456
int wm831x_device_init(struct wm831x *wm831x, int irq)
drivers/mfd/wm831x-core.c
1458
struct wm831x_pdata *pdata = &wm831x->pdata;
drivers/mfd/wm831x-core.c
1463
mutex_init(&wm831x->io_lock);
drivers/mfd/wm831x-core.c
1464
mutex_init(&wm831x->key_lock);
drivers/mfd/wm831x-core.c
1465
dev_set_drvdata(wm831x->dev, wm831x);
drivers/mfd/wm831x-core.c
1467
wm831x->soft_shutdown = pdata->soft_shutdown;
drivers/mfd/wm831x-core.c
1469
ret = wm831x_reg_read(wm831x, WM831X_PARENT_ID);
drivers/mfd/wm831x-core.c
147
int wm831x_reg_unlock(struct wm831x *wm831x)
drivers/mfd/wm831x-core.c
1471
dev_err(wm831x->dev, "Failed to read parent ID: %d\n", ret);
drivers/mfd/wm831x-core.c
1479
dev_err(wm831x->dev, "Device is not a WM831x: ID %x\n", ret);
drivers/mfd/wm831x-core.c
1484
ret = wm831x_reg_read(wm831x, WM831X_REVISION);
drivers/mfd/wm831x-core.c
1486
dev_err(wm831x->dev, "Failed to read revision: %d\n", ret);
drivers/mfd/wm831x-core.c
1491
ret = wm831x_reg_read(wm831x, WM831X_RESET_ID);
drivers/mfd/wm831x-core.c
1493
dev_err(wm831x->dev, "Failed to read device ID: %d\n", ret);
drivers/mfd/wm831x-core.c
1501
dev_info(wm831x->dev, "Device is an engineering sample\n");
drivers/mfd/wm831x-core.c
1502
ret = wm831x->type;
drivers/mfd/wm831x-core.c
1508
wm831x->num_gpio = 16;
drivers/mfd/wm831x-core.c
1509
wm831x->charger_irq_wake = 1;
drivers/mfd/wm831x-core.c
1511
wm831x->has_gpio_ena = 1;
drivers/mfd/wm831x-core.c
1512
wm831x->has_cs_sts = 1;
drivers/mfd/wm831x-core.c
1515
dev_info(wm831x->dev, "WM8310 revision %c\n", 'A' + rev);
drivers/mfd/wm831x-core.c
152
ret = wm831x_reg_write(wm831x, WM831X_SECURITY_KEY, 0x9716);
drivers/mfd/wm831x-core.c
1520
wm831x->num_gpio = 16;
drivers/mfd/wm831x-core.c
1521
wm831x->charger_irq_wake = 1;
drivers/mfd/wm831x-core.c
1523
wm831x->has_gpio_ena = 1;
drivers/mfd/wm831x-core.c
1524
wm831x->has_cs_sts = 1;
drivers/mfd/wm831x-core.c
1527
dev_info(wm831x->dev, "WM8311 revision %c\n", 'A' + rev);
drivers/mfd/wm831x-core.c
1532
wm831x->num_gpio = 16;
drivers/mfd/wm831x-core.c
1533
wm831x->charger_irq_wake = 1;
drivers/mfd/wm831x-core.c
1535
wm831x->has_gpio_ena = 1;
drivers/mfd/wm831x-core.c
1536
wm831x->has_cs_sts = 1;
drivers/mfd/wm831x-core.c
1539
dev_info(wm831x->dev, "WM8312 revision %c\n", 'A' + rev);
drivers/mfd/wm831x-core.c
154
dev_vdbg(wm831x->dev, "Registers unlocked\n");
drivers/mfd/wm831x-core.c
1544
wm831x->num_gpio = 12;
drivers/mfd/wm831x-core.c
1545
dev_info(wm831x->dev, "WM8320 revision %c\n", 'A' + rev);
drivers/mfd/wm831x-core.c
1550
wm831x->num_gpio = 12;
drivers/mfd/wm831x-core.c
1551
dev_info(wm831x->dev, "WM8321 revision %c\n", 'A' + rev);
drivers/mfd/wm831x-core.c
1556
wm831x->num_gpio = 12;
drivers/mfd/wm831x-core.c
1557
dev_info(wm831x->dev, "WM8325 revision %c\n", 'A' + rev);
drivers/mfd/wm831x-core.c
156
mutex_lock(&wm831x->io_lock);
drivers/mfd/wm831x-core.c
1562
wm831x->num_gpio = 12;
drivers/mfd/wm831x-core.c
1563
dev_info(wm831x->dev, "WM8326 revision %c\n", 'A' + rev);
drivers/mfd/wm831x-core.c
1567
dev_err(wm831x->dev, "Unknown WM831x device %04x\n", ret);
drivers/mfd/wm831x-core.c
157
WARN_ON(!wm831x->locked);
drivers/mfd/wm831x-core.c
1575
if (parent != wm831x->type)
drivers/mfd/wm831x-core.c
1576
dev_warn(wm831x->dev, "Device was registered as a WM%x\n",
drivers/mfd/wm831x-core.c
1577
wm831x->type);
drivers/mfd/wm831x-core.c
158
wm831x->locked = 0;
drivers/mfd/wm831x-core.c
1580
ret = wm831x_reg_read(wm831x, WM831X_SECURITY_KEY);
drivers/mfd/wm831x-core.c
1582
dev_err(wm831x->dev, "Failed to read security key: %d\n", ret);
drivers/mfd/wm831x-core.c
1586
dev_warn(wm831x->dev, "Security key had non-zero value %x\n",
drivers/mfd/wm831x-core.c
1588
wm831x_reg_write(wm831x, WM831X_SECURITY_KEY, 0);
drivers/mfd/wm831x-core.c
159
mutex_unlock(&wm831x->io_lock);
drivers/mfd/wm831x-core.c
1590
wm831x->locked = 1;
drivers/mfd/wm831x-core.c
1593
ret = pdata->pre_init(wm831x);
drivers/mfd/wm831x-core.c
1595
dev_err(wm831x->dev, "pre_init() failed: %d\n", ret);
drivers/mfd/wm831x-core.c
1604
wm831x_reg_write(wm831x,
drivers/mfd/wm831x-core.c
1615
ret = wm831x_irq_init(wm831x, irq);
drivers/mfd/wm831x-core.c
1619
wm831x_auxadc_init(wm831x);
drivers/mfd/wm831x-core.c
1624
ret = mfd_add_devices(wm831x->dev, wm831x_num,
drivers/mfd/wm831x-core.c
1630
ret = mfd_add_devices(wm831x->dev, wm831x_num,
drivers/mfd/wm831x-core.c
1634
mfd_add_devices(wm831x->dev, wm831x_num,
drivers/mfd/wm831x-core.c
1640
ret = mfd_add_devices(wm831x->dev, wm831x_num,
drivers/mfd/wm831x-core.c
1644
mfd_add_devices(wm831x->dev, wm831x_num,
drivers/mfd/wm831x-core.c
1653
ret = mfd_add_devices(wm831x->dev, wm831x_num,
drivers/mfd/wm831x-core.c
1664
dev_err(wm831x->dev, "Failed to add children\n");
drivers/mfd/wm831x-core.c
1671
ret = wm831x_reg_read(wm831x, WM831X_CLOCK_CONTROL_2);
drivers/mfd/wm831x-core.c
1673
dev_err(wm831x->dev, "Failed to read clock status: %d\n", ret);
drivers/mfd/wm831x-core.c
1678
ret = mfd_add_devices(wm831x->dev, wm831x_num,
drivers/mfd/wm831x-core.c
1682
dev_err(wm831x->dev, "Failed to add RTC: %d\n", ret);
drivers/mfd/wm831x-core.c
1686
dev_info(wm831x->dev, "32.768kHz clock disabled, no RTC\n");
drivers/mfd/wm831x-core.c
1691
ret = mfd_add_devices(wm831x->dev, wm831x_num, backlight_devs,
drivers/mfd/wm831x-core.c
1695
dev_err(wm831x->dev, "Failed to add backlight: %d\n",
drivers/mfd/wm831x-core.c
1699
wm831x_otp_init(wm831x);
drivers/mfd/wm831x-core.c
1702
ret = pdata->post_init(wm831x);
drivers/mfd/wm831x-core.c
1704
dev_err(wm831x->dev, "post_init() failed: %d\n", ret);
drivers/mfd/wm831x-core.c
1712
wm831x_irq_exit(wm831x);
drivers/mfd/wm831x-core.c
1714
mfd_remove_devices(wm831x->dev);
drivers/mfd/wm831x-core.c
1718
int wm831x_device_suspend(struct wm831x *wm831x)
drivers/mfd/wm831x-core.c
1727
if (wm831x->charger_irq_wake) {
drivers/mfd/wm831x-core.c
1728
reg = wm831x_reg_read(wm831x, WM831X_INTERRUPT_STATUS_2_MASK);
drivers/mfd/wm831x-core.c
1739
reg = wm831x_reg_read(wm831x,
drivers/mfd/wm831x-core.c
1743
dev_info(wm831x->dev,
drivers/mfd/wm831x-core.c
1746
wm831x_reg_write(wm831x, WM831X_INTERRUPT_STATUS_2,
drivers/mfd/wm831x-core.c
1754
void wm831x_device_shutdown(struct wm831x *wm831x)
drivers/mfd/wm831x-core.c
1756
if (wm831x->soft_shutdown) {
drivers/mfd/wm831x-core.c
1757
dev_info(wm831x->dev, "Initiating shutdown...\n");
drivers/mfd/wm831x-core.c
1758
wm831x_set_bits(wm831x, WM831X_POWER_STATE, WM831X_CHIP_ON, 0);
drivers/mfd/wm831x-core.c
347
struct wm831x *wm831x = dev_get_drvdata(dev);
drivers/mfd/wm831x-core.c
349
if (wm831x_reg_locked(wm831x, reg))
drivers/mfd/wm831x-core.c
518
int wm831x_reg_read(struct wm831x *wm831x, unsigned short reg)
drivers/mfd/wm831x-core.c
523
ret = regmap_read(wm831x->regmap, reg, &val);
drivers/mfd/wm831x-core.c
540
int wm831x_bulk_read(struct wm831x *wm831x, unsigned short reg,
drivers/mfd/wm831x-core.c
543
return regmap_bulk_read(wm831x->regmap, reg, buf, count);
drivers/mfd/wm831x-core.c
547
static int wm831x_write(struct wm831x *wm831x, unsigned short reg,
drivers/mfd/wm831x-core.c
557
if (wm831x_reg_locked(wm831x, reg))
drivers/mfd/wm831x-core.c
560
dev_vdbg(wm831x->dev, "Write %04x to R%d(0x%x)\n",
drivers/mfd/wm831x-core.c
562
ret = regmap_write(wm831x->regmap, reg + i, buf[i]);
drivers/mfd/wm831x-core.c
577
int wm831x_reg_write(struct wm831x *wm831x, unsigned short reg,
drivers/mfd/wm831x-core.c
582
mutex_lock(&wm831x->io_lock);
drivers/mfd/wm831x-core.c
584
ret = wm831x_write(wm831x, reg, 2, &val);
drivers/mfd/wm831x-core.c
586
mutex_unlock(&wm831x->io_lock);
drivers/mfd/wm831x-core.c
600
int wm831x_set_bits(struct wm831x *wm831x, unsigned short reg,
drivers/mfd/wm831x-core.c
605
mutex_lock(&wm831x->io_lock);
drivers/mfd/wm831x-core.c
607
if (!wm831x_reg_locked(wm831x, reg))
drivers/mfd/wm831x-core.c
608
ret = regmap_update_bits(wm831x->regmap, reg, mask, val);
drivers/mfd/wm831x-core.c
612
mutex_unlock(&wm831x->io_lock);
drivers/mfd/wm831x-core.c
91
static int wm831x_reg_locked(struct wm831x *wm831x, unsigned short reg)
drivers/mfd/wm831x-core.c
93
if (!wm831x->locked)
drivers/mfd/wm831x-i2c.c
26
struct wm831x *wm831x;
drivers/mfd/wm831x-i2c.c
36
wm831x = devm_kzalloc(&i2c->dev, sizeof(struct wm831x), GFP_KERNEL);
drivers/mfd/wm831x-i2c.c
37
if (wm831x == NULL)
drivers/mfd/wm831x-i2c.c
40
i2c_set_clientdata(i2c, wm831x);
drivers/mfd/wm831x-i2c.c
41
wm831x->dev = &i2c->dev;
drivers/mfd/wm831x-i2c.c
42
wm831x->type = type;
drivers/mfd/wm831x-i2c.c
44
wm831x->regmap = devm_regmap_init_i2c(i2c, &wm831x_regmap_config);
drivers/mfd/wm831x-i2c.c
45
if (IS_ERR(wm831x->regmap)) {
drivers/mfd/wm831x-i2c.c
46
ret = PTR_ERR(wm831x->regmap);
drivers/mfd/wm831x-i2c.c
47
dev_err(wm831x->dev, "Failed to allocate register map: %d\n",
drivers/mfd/wm831x-i2c.c
53
memcpy(&wm831x->pdata, pdata, sizeof(*pdata));
drivers/mfd/wm831x-i2c.c
55
return wm831x_device_init(wm831x, i2c->irq);
drivers/mfd/wm831x-i2c.c
60
struct wm831x *wm831x = dev_get_drvdata(dev);
drivers/mfd/wm831x-i2c.c
62
return wm831x_device_suspend(wm831x);
drivers/mfd/wm831x-i2c.c
67
struct wm831x *wm831x = dev_get_drvdata(dev);
drivers/mfd/wm831x-i2c.c
69
wm831x_device_shutdown(wm831x);
drivers/mfd/wm831x-irq.c
324
static inline struct wm831x_irq_data *irq_to_wm831x_irq(struct wm831x *wm831x,
drivers/mfd/wm831x-irq.c
332
struct wm831x *wm831x = irq_data_get_irq_chip_data(data);
drivers/mfd/wm831x-irq.c
334
mutex_lock(&wm831x->irq_lock);
drivers/mfd/wm831x-irq.c
339
struct wm831x *wm831x = irq_data_get_irq_chip_data(data);
drivers/mfd/wm831x-irq.c
342
for (i = 0; i < ARRAY_SIZE(wm831x->gpio_update); i++) {
drivers/mfd/wm831x-irq.c
343
if (wm831x->gpio_update[i]) {
drivers/mfd/wm831x-irq.c
344
wm831x_set_bits(wm831x, WM831X_GPIO1_CONTROL + i,
drivers/mfd/wm831x-irq.c
346
wm831x->gpio_update[i]);
drivers/mfd/wm831x-irq.c
347
wm831x->gpio_update[i] = 0;
drivers/mfd/wm831x-irq.c
351
for (i = 0; i < ARRAY_SIZE(wm831x->irq_masks_cur); i++) {
drivers/mfd/wm831x-irq.c
354
if (wm831x->irq_masks_cur[i] != wm831x->irq_masks_cache[i]) {
drivers/mfd/wm831x-irq.c
355
dev_dbg(wm831x->dev, "IRQ mask sync: %x = %x\n",
drivers/mfd/wm831x-irq.c
357
wm831x->irq_masks_cur[i]);
drivers/mfd/wm831x-irq.c
359
wm831x->irq_masks_cache[i] = wm831x->irq_masks_cur[i];
drivers/mfd/wm831x-irq.c
360
wm831x_reg_write(wm831x,
drivers/mfd/wm831x-irq.c
362
wm831x->irq_masks_cur[i]);
drivers/mfd/wm831x-irq.c
366
mutex_unlock(&wm831x->irq_lock);
drivers/mfd/wm831x-irq.c
371
struct wm831x *wm831x = irq_data_get_irq_chip_data(data);
drivers/mfd/wm831x-irq.c
372
struct wm831x_irq_data *irq_data = irq_to_wm831x_irq(wm831x,
drivers/mfd/wm831x-irq.c
375
wm831x->irq_masks_cur[irq_data->reg - 1] &= ~irq_data->mask;
drivers/mfd/wm831x-irq.c
380
struct wm831x *wm831x = irq_data_get_irq_chip_data(data);
drivers/mfd/wm831x-irq.c
381
struct wm831x_irq_data *irq_data = irq_to_wm831x_irq(wm831x,
drivers/mfd/wm831x-irq.c
384
wm831x->irq_masks_cur[irq_data->reg - 1] |= irq_data->mask;
drivers/mfd/wm831x-irq.c
389
struct wm831x *wm831x = irq_data_get_irq_chip_data(data);
drivers/mfd/wm831x-irq.c
411
wm831x->gpio_level_low[irq] = false;
drivers/mfd/wm831x-irq.c
412
wm831x->gpio_level_high[irq] = false;
drivers/mfd/wm831x-irq.c
415
wm831x->gpio_update[irq] = 0x10000 | WM831X_GPN_INT_MODE;
drivers/mfd/wm831x-irq.c
418
wm831x->gpio_update[irq] = 0x10000 | WM831X_GPN_POL;
drivers/mfd/wm831x-irq.c
421
wm831x->gpio_update[irq] = 0x10000;
drivers/mfd/wm831x-irq.c
424
wm831x->gpio_update[irq] = 0x10000 | WM831X_GPN_POL;
drivers/mfd/wm831x-irq.c
425
wm831x->gpio_level_high[irq] = true;
drivers/mfd/wm831x-irq.c
428
wm831x->gpio_update[irq] = 0x10000;
drivers/mfd/wm831x-irq.c
429
wm831x->gpio_level_low[irq] = true;
drivers/mfd/wm831x-irq.c
451
struct wm831x *wm831x = data;
drivers/mfd/wm831x-irq.c
458
primary = wm831x_reg_read(wm831x, WM831X_SYSTEM_INTERRUPTS);
drivers/mfd/wm831x-irq.c
460
dev_err(wm831x->dev, "Failed to read system interrupt: %d\n",
drivers/mfd/wm831x-irq.c
471
handle_nested_irq(irq_find_mapping(wm831x->irq_domain,
drivers/mfd/wm831x-irq.c
474
handle_nested_irq(irq_find_mapping(wm831x->irq_domain,
drivers/mfd/wm831x-irq.c
491
*status = wm831x_reg_read(wm831x, status_addr);
drivers/mfd/wm831x-irq.c
493
dev_err(wm831x->dev,
drivers/mfd/wm831x-irq.c
502
*status &= ~wm831x->irq_masks_cur[offset];
drivers/mfd/wm831x-irq.c
507
wm831x_reg_write(wm831x, status_addr, *status);
drivers/mfd/wm831x-irq.c
511
handle_nested_irq(irq_find_mapping(wm831x->irq_domain,
drivers/mfd/wm831x-irq.c
518
wm831x->gpio_level_high[i - WM831X_IRQ_GPIO_1]) {
drivers/mfd/wm831x-irq.c
519
ret = wm831x_reg_read(wm831x, WM831X_GPIO_LEVEL);
drivers/mfd/wm831x-irq.c
521
handle_nested_irq(irq_find_mapping(wm831x->irq_domain,
drivers/mfd/wm831x-irq.c
523
ret = wm831x_reg_read(wm831x,
drivers/mfd/wm831x-irq.c
529
wm831x->gpio_level_low[i - WM831X_IRQ_GPIO_1]) {
drivers/mfd/wm831x-irq.c
530
ret = wm831x_reg_read(wm831x, WM831X_GPIO_LEVEL);
drivers/mfd/wm831x-irq.c
532
handle_nested_irq(irq_find_mapping(wm831x->irq_domain,
drivers/mfd/wm831x-irq.c
534
ret = wm831x_reg_read(wm831x,
drivers/mfd/wm831x-irq.c
560
int wm831x_irq_init(struct wm831x *wm831x, int irq)
drivers/mfd/wm831x-irq.c
562
struct wm831x_pdata *pdata = &wm831x->pdata;
drivers/mfd/wm831x-irq.c
566
mutex_init(&wm831x->irq_lock);
drivers/mfd/wm831x-irq.c
569
for (i = 0; i < ARRAY_SIZE(wm831x->irq_masks_cur); i++) {
drivers/mfd/wm831x-irq.c
570
wm831x->irq_masks_cur[i] = 0xffff;
drivers/mfd/wm831x-irq.c
571
wm831x->irq_masks_cache[i] = 0xffff;
drivers/mfd/wm831x-irq.c
572
wm831x_reg_write(wm831x, WM831X_INTERRUPT_STATUS_1_MASK + i,
drivers/mfd/wm831x-irq.c
581
dev_warn(wm831x->dev, "Failed to allocate IRQs: %d\n",
drivers/mfd/wm831x-irq.c
590
domain = irq_domain_create_legacy(dev_fwnode(wm831x->dev), ARRAY_SIZE(wm831x_irqs),
drivers/mfd/wm831x-irq.c
591
irq_base, 0, &wm831x_irq_domain_ops, wm831x);
drivers/mfd/wm831x-irq.c
593
domain = irq_domain_create_linear(dev_fwnode(wm831x->dev), ARRAY_SIZE(wm831x_irqs),
drivers/mfd/wm831x-irq.c
594
&wm831x_irq_domain_ops, wm831x);
drivers/mfd/wm831x-irq.c
597
dev_warn(wm831x->dev, "Failed to allocate IRQ domain\n");
drivers/mfd/wm831x-irq.c
606
wm831x_set_bits(wm831x, WM831X_IRQ_CONFIG,
drivers/mfd/wm831x-irq.c
609
wm831x->irq = irq;
drivers/mfd/wm831x-irq.c
610
wm831x->irq_domain = domain;
drivers/mfd/wm831x-irq.c
620
dev_warn(wm831x->dev,
drivers/mfd/wm831x-irq.c
627
"wm831x", wm831x);
drivers/mfd/wm831x-irq.c
629
dev_err(wm831x->dev, "Failed to request IRQ %d: %d\n",
drivers/mfd/wm831x-irq.c
634
dev_warn(wm831x->dev,
drivers/mfd/wm831x-irq.c
639
wm831x_reg_write(wm831x, WM831X_SYSTEM_INTERRUPTS_MASK, 0);
drivers/mfd/wm831x-irq.c
644
void wm831x_irq_exit(struct wm831x *wm831x)
drivers/mfd/wm831x-irq.c
646
if (wm831x->irq)
drivers/mfd/wm831x-irq.c
647
free_irq(wm831x->irq, wm831x);
drivers/mfd/wm831x-otp.c
25
static int wm831x_unique_id_read(struct wm831x *wm831x, char *id)
drivers/mfd/wm831x-otp.c
30
val = wm831x_reg_read(wm831x, WM831X_UNIQUE_ID_1 + i);
drivers/mfd/wm831x-otp.c
44
struct wm831x *wm831x = dev_get_drvdata(dev);
drivers/mfd/wm831x-otp.c
48
rval = wm831x_unique_id_read(wm831x, id);
drivers/mfd/wm831x-otp.c
57
int wm831x_otp_init(struct wm831x *wm831x)
drivers/mfd/wm831x-otp.c
62
ret = device_create_file(wm831x->dev, &dev_attr_unique_id);
drivers/mfd/wm831x-otp.c
64
dev_err(wm831x->dev, "Unique ID attribute not created: %d\n",
drivers/mfd/wm831x-otp.c
67
ret = wm831x_unique_id_read(wm831x, uuid);
drivers/mfd/wm831x-otp.c
71
dev_err(wm831x->dev, "Failed to read UUID: %d\n", ret);
drivers/mfd/wm831x-otp.c
76
void wm831x_otp_exit(struct wm831x *wm831x)
drivers/mfd/wm831x-otp.c
78
device_remove_file(wm831x->dev, &dev_attr_unique_id);
drivers/mfd/wm831x-spi.c
23
struct wm831x *wm831x;
drivers/mfd/wm831x-spi.c
33
wm831x = devm_kzalloc(&spi->dev, sizeof(struct wm831x), GFP_KERNEL);
drivers/mfd/wm831x-spi.c
34
if (wm831x == NULL)
drivers/mfd/wm831x-spi.c
39
spi_set_drvdata(spi, wm831x);
drivers/mfd/wm831x-spi.c
40
wm831x->dev = &spi->dev;
drivers/mfd/wm831x-spi.c
41
wm831x->type = type;
drivers/mfd/wm831x-spi.c
43
wm831x->regmap = devm_regmap_init_spi(spi, &wm831x_regmap_config);
drivers/mfd/wm831x-spi.c
44
if (IS_ERR(wm831x->regmap)) {
drivers/mfd/wm831x-spi.c
45
ret = PTR_ERR(wm831x->regmap);
drivers/mfd/wm831x-spi.c
46
dev_err(wm831x->dev, "Failed to allocate register map: %d\n",
drivers/mfd/wm831x-spi.c
52
memcpy(&wm831x->pdata, pdata, sizeof(*pdata));
drivers/mfd/wm831x-spi.c
54
return wm831x_device_init(wm831x, spi->irq);
drivers/mfd/wm831x-spi.c
59
struct wm831x *wm831x = dev_get_drvdata(dev);
drivers/mfd/wm831x-spi.c
61
return wm831x_device_suspend(wm831x);
drivers/mfd/wm831x-spi.c
66
struct wm831x *wm831x = dev_get_drvdata(dev);
drivers/mfd/wm831x-spi.c
68
wm831x_device_shutdown(wm831x);
drivers/power/supply/wm831x_backup.c
106
dev_err(wm831x->dev,
drivers/power/supply/wm831x_backup.c
109
wm831x_reg_lock(wm831x);
drivers/power/supply/wm831x_backup.c
117
struct wm831x *wm831x = devdata->wm831x;
drivers/power/supply/wm831x_backup.c
120
ret = wm831x_reg_read(wm831x, WM831X_BACKUP_CHARGER_CONTROL);
drivers/power/supply/wm831x_backup.c
133
ret = wm831x_backup_read_voltage(wm831x, WM831X_AUX_BKUP_BATT,
drivers/power/supply/wm831x_backup.c
164
struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent);
drivers/power/supply/wm831x_backup.c
165
struct wm831x_pdata *wm831x_pdata = wm831x->dev->platform_data;
drivers/power/supply/wm831x_backup.c
173
devdata->wm831x = wm831x;
drivers/power/supply/wm831x_backup.c
179
wm831x_config_backup(wm831x);
drivers/power/supply/wm831x_backup.c
20
struct wm831x *wm831x;
drivers/power/supply/wm831x_backup.c
26
static int wm831x_backup_read_voltage(struct wm831x *wm831x,
drivers/power/supply/wm831x_backup.c
32
ret = wm831x_auxadc_read_uv(wm831x, src);
drivers/power/supply/wm831x_backup.c
43
static void wm831x_config_backup(struct wm831x *wm831x)
drivers/power/supply/wm831x_backup.c
45
struct wm831x_pdata *wm831x_pdata = wm831x->dev->platform_data;
drivers/power/supply/wm831x_backup.c
50
dev_warn(wm831x->dev,
drivers/power/supply/wm831x_backup.c
71
dev_err(wm831x->dev, "Invalid backup voltage limit %dmV\n",
drivers/power/supply/wm831x_backup.c
88
dev_err(wm831x->dev, "Invalid backup current limit %duA\n",
drivers/power/supply/wm831x_backup.c
92
ret = wm831x_reg_unlock(wm831x);
drivers/power/supply/wm831x_backup.c
94
dev_err(wm831x->dev, "Failed to unlock registers: %d\n", ret);
drivers/power/supply/wm831x_backup.c
98
ret = wm831x_set_bits(wm831x, WM831X_BACKUP_CHARGER_CONTROL,
drivers/power/supply/wm831x_power.c
105
struct wm831x *wm831x = wm831x_power->wm831x;
drivers/power/supply/wm831x_power.c
110
ret = wm831x_power_check_online(wm831x, WM831X_PWR_USB, val);
drivers/power/supply/wm831x_power.c
113
ret = wm831x_power_read_voltage(wm831x, WM831X_AUX_USB, val);
drivers/power/supply/wm831x_power.c
157
dev_dbg(wm831x_power->wm831x->dev,
drivers/power/supply/wm831x_power.c
160
ret = wm831x_set_bits(wm831x_power->wm831x, WM831X_POWER_STATE,
drivers/power/supply/wm831x_power.c
163
dev_err(wm831x_power->wm831x->dev,
drivers/power/supply/wm831x_power.c
21
struct wm831x *wm831x;
drivers/power/supply/wm831x_power.c
243
static void wm831x_battery_apply_config(struct wm831x *wm831x,
drivers/power/supply/wm831x_power.c
254
dev_err(wm831x->dev, "Invalid %s %d%s\n",
drivers/power/supply/wm831x_power.c
258
dev_dbg(wm831x->dev, "Set %s of %d%s\n", name, val, units);
drivers/power/supply/wm831x_power.c
262
static void wm831x_config_battery(struct wm831x *wm831x)
drivers/power/supply/wm831x_power.c
264
struct wm831x_pdata *wm831x_pdata = wm831x->dev->platform_data;
drivers/power/supply/wm831x_power.c
269
dev_warn(wm831x->dev,
drivers/power/supply/wm831x_power.c
280
dev_info(wm831x->dev, "Battery charger disabled\n");
drivers/power/supply/wm831x_power.c
290
wm831x_battery_apply_config(wm831x, trickle_ilims,
drivers/power/supply/wm831x_power.c
295
wm831x_battery_apply_config(wm831x, vsels, ARRAY_SIZE(vsels),
drivers/power/supply/wm831x_power.c
299
wm831x_battery_apply_config(wm831x, fast_ilims, ARRAY_SIZE(fast_ilims),
drivers/power/supply/wm831x_power.c
303
wm831x_battery_apply_config(wm831x, eoc_iterms, ARRAY_SIZE(eoc_iterms),
drivers/power/supply/wm831x_power.c
307
wm831x_battery_apply_config(wm831x, chg_times, ARRAY_SIZE(chg_times),
drivers/power/supply/wm831x_power.c
311
ret = wm831x_reg_unlock(wm831x);
drivers/power/supply/wm831x_power.c
313
dev_err(wm831x->dev, "Failed to unlock registers: %d\n", ret);
drivers/power/supply/wm831x_power.c
317
ret = wm831x_set_bits(wm831x, WM831X_CHARGER_CONTROL_1,
drivers/power/supply/wm831x_power.c
323
dev_err(wm831x->dev, "Failed to set charger control 1: %d\n",
drivers/power/supply/wm831x_power.c
326
ret = wm831x_set_bits(wm831x, WM831X_CHARGER_CONTROL_2,
drivers/power/supply/wm831x_power.c
334
dev_err(wm831x->dev, "Failed to set charger control 2: %d\n",
drivers/power/supply/wm831x_power.c
337
wm831x_reg_lock(wm831x);
drivers/power/supply/wm831x_power.c
340
static int wm831x_bat_check_status(struct wm831x *wm831x, int *status)
drivers/power/supply/wm831x_power.c
344
ret = wm831x_reg_read(wm831x, WM831X_SYSTEM_STATUS);
drivers/power/supply/wm831x_power.c
353
ret = wm831x_reg_read(wm831x, WM831X_CHARGER_STATUS);
drivers/power/supply/wm831x_power.c
36
static int wm831x_power_check_online(struct wm831x *wm831x, int supply,
drivers/power/supply/wm831x_power.c
374
static int wm831x_bat_check_type(struct wm831x *wm831x, int *type)
drivers/power/supply/wm831x_power.c
378
ret = wm831x_reg_read(wm831x, WM831X_CHARGER_STATUS);
drivers/power/supply/wm831x_power.c
399
static int wm831x_bat_check_health(struct wm831x *wm831x, int *health)
drivers/power/supply/wm831x_power.c
403
ret = wm831x_reg_read(wm831x, WM831X_CHARGER_STATUS);
drivers/power/supply/wm831x_power.c
41
ret = wm831x_reg_read(wm831x, WM831X_SYSTEM_STATUS);
drivers/power/supply/wm831x_power.c
443
struct wm831x *wm831x = wm831x_power->wm831x;
drivers/power/supply/wm831x_power.c
448
ret = wm831x_bat_check_status(wm831x, &val->intval);
drivers/power/supply/wm831x_power.c
451
ret = wm831x_power_check_online(wm831x, WM831X_PWR_SRC_BATT,
drivers/power/supply/wm831x_power.c
455
ret = wm831x_power_read_voltage(wm831x, WM831X_AUX_BATT, val);
drivers/power/supply/wm831x_power.c
458
ret = wm831x_bat_check_health(wm831x, &val->intval);
drivers/power/supply/wm831x_power.c
461
ret = wm831x_bat_check_type(wm831x, &val->intval);
drivers/power/supply/wm831x_power.c
493
struct wm831x *wm831x = wm831x_power->wm831x;
drivers/power/supply/wm831x_power.c
495
dev_dbg(wm831x->dev, "Battery status changed: %d\n", irq);
drivers/power/supply/wm831x_power.c
513
struct wm831x *wm831x = wm831x_power->wm831x;
drivers/power/supply/wm831x_power.c
517
dev_crit(wm831x->dev, "SYSVDD under voltage\n");
drivers/power/supply/wm831x_power.c
525
struct wm831x *wm831x = wm831x_power->wm831x;
drivers/power/supply/wm831x_power.c
527
dev_dbg(wm831x->dev, "Power source changed\n");
drivers/power/supply/wm831x_power.c
53
static int wm831x_power_read_voltage(struct wm831x *wm831x,
drivers/power/supply/wm831x_power.c
540
struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent);
drivers/power/supply/wm831x_power.c
541
struct wm831x_pdata *wm831x_pdata = wm831x->dev->platform_data;
drivers/power/supply/wm831x_power.c
550
power->wm831x = wm831x;
drivers/power/supply/wm831x_power.c
572
wm831x_config_battery(wm831x);
drivers/power/supply/wm831x_power.c
59
ret = wm831x_auxadc_read_uv(wm831x, src);
drivers/power/supply/wm831x_power.c
600
ret = wm831x_reg_read(wm831x, WM831X_CHARGER_CONTROL_1);
drivers/power/supply/wm831x_power.c
620
irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "SYSLO"));
drivers/power/supply/wm831x_power.c
630
irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "PWR SRC"));
drivers/power/supply/wm831x_power.c
641
irq = wm831x_irq(wm831x,
drivers/power/supply/wm831x_power.c
690
irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "PWR SRC"));
drivers/power/supply/wm831x_power.c
693
irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "SYSLO"));
drivers/power/supply/wm831x_power.c
705
struct wm831x *wm831x = wm831x_power->wm831x;
drivers/power/supply/wm831x_power.c
714
irq = wm831x_irq(wm831x,
drivers/power/supply/wm831x_power.c
720
irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "PWR SRC"));
drivers/power/supply/wm831x_power.c
723
irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "SYSLO"));
drivers/power/supply/wm831x_power.c
74
struct wm831x *wm831x = wm831x_power->wm831x;
drivers/power/supply/wm831x_power.c
79
ret = wm831x_power_check_online(wm831x, WM831X_PWR_WALL, val);
drivers/power/supply/wm831x_power.c
82
ret = wm831x_power_read_voltage(wm831x, WM831X_AUX_WALL, val);
drivers/regulator/wm831x-dcdc.c
110
return wm831x_set_bits(wm831x, reg, WM831X_DC1_ON_MODE_MASK,
drivers/regulator/wm831x-dcdc.c
117
struct wm831x *wm831x = dcdc->wm831x;
drivers/regulator/wm831x-dcdc.c
120
return wm831x_dcdc_set_mode_int(wm831x, reg, mode);
drivers/regulator/wm831x-dcdc.c
127
struct wm831x *wm831x = dcdc->wm831x;
drivers/regulator/wm831x-dcdc.c
130
return wm831x_dcdc_set_mode_int(wm831x, reg, mode);
drivers/regulator/wm831x-dcdc.c
136
struct wm831x *wm831x = dcdc->wm831x;
drivers/regulator/wm831x-dcdc.c
140
ret = wm831x_reg_read(wm831x, WM831X_DCDC_UV_STATUS);
drivers/regulator/wm831x-dcdc.c
145
dev_dbg(wm831x->dev, "DCDC%d under voltage\n",
drivers/regulator/wm831x-dcdc.c
153
dev_dbg(wm831x->dev, "DCDC%d over voltage\n",
drivers/regulator/wm831x-dcdc.c
159
dev_dbg(wm831x->dev, "DCDC%d over current\n",
drivers/regulator/wm831x-dcdc.c
166
ret = wm831x_reg_read(wm831x, WM831X_DCDC_STATUS);
drivers/regulator/wm831x-dcdc.c
230
struct wm831x *wm831x = dcdc->wm831x;
drivers/regulator/wm831x-dcdc.c
243
ret = wm831x_set_bits(wm831x, on_reg, WM831X_DC1_ON_VSEL_MASK, vsel);
drivers/regulator/wm831x-dcdc.c
263
ret = wm831x_set_bits(wm831x, dvs_reg,
drivers/regulator/wm831x-dcdc.c
269
dev_warn(wm831x->dev,
drivers/regulator/wm831x-dcdc.c
280
struct wm831x *wm831x = dcdc->wm831x;
drivers/regulator/wm831x-dcdc.c
288
return wm831x_set_bits(wm831x, reg, WM831X_DC1_SLP_VSEL_MASK, vsel);
drivers/regulator/wm831x-dcdc.c
332
struct wm831x *wm831x = dcdc->wm831x;
drivers/regulator/wm831x-dcdc.c
347
dev_err(wm831x->dev, "Failed to get %s DVS GPIO: %ld\n",
drivers/regulator/wm831x-dcdc.c
360
dev_err(wm831x->dev, "Invalid DVS control source %d for %s\n",
drivers/regulator/wm831x-dcdc.c
369
ret = wm831x_set_bits(wm831x,
drivers/regulator/wm831x-dcdc.c
375
dev_warn(wm831x->dev, "Failed to set DVS_VSEL: %d\n",
drivers/regulator/wm831x-dcdc.c
379
ret = wm831x_set_bits(wm831x, dcdc->base + WM831X_DCDC_DVS_CONTROL,
drivers/regulator/wm831x-dcdc.c
382
dev_err(wm831x->dev, "Failed to set %s DVS source: %d\n",
drivers/regulator/wm831x-dcdc.c
389
struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent);
drivers/regulator/wm831x-dcdc.c
390
struct wm831x_pdata *pdata = dev_get_platdata(wm831x->dev);
drivers/regulator/wm831x-dcdc.c
410
dcdc->wm831x = wm831x;
drivers/regulator/wm831x-dcdc.c
441
ret = wm831x_reg_read(wm831x, dcdc->base + WM831X_DCDC_ON_CONFIG);
drivers/regulator/wm831x-dcdc.c
443
dev_err(wm831x->dev, "Failed to read ON VSEL: %d\n", ret);
drivers/regulator/wm831x-dcdc.c
448
ret = wm831x_reg_read(wm831x, dcdc->base + WM831X_DCDC_DVS_CONTROL);
drivers/regulator/wm831x-dcdc.c
450
dev_err(wm831x->dev, "Failed to read DVS VSEL: %d\n", ret);
drivers/regulator/wm831x-dcdc.c
463
config.regmap = wm831x->regmap;
drivers/regulator/wm831x-dcdc.c
469
dev_err(wm831x->dev, "Failed to register DCDC%d: %d\n",
drivers/regulator/wm831x-dcdc.c
474
irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "UV"));
drivers/regulator/wm831x-dcdc.c
485
irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "HC"));
drivers/regulator/wm831x-dcdc.c
51
struct wm831x *wm831x;
drivers/regulator/wm831x-dcdc.c
519
struct wm831x *wm831x = dcdc->wm831x;
drivers/regulator/wm831x-dcdc.c
527
return wm831x_set_bits(wm831x, reg, WM831X_DC3_ON_VSEL_MASK, sel);
drivers/regulator/wm831x-dcdc.c
548
struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent);
drivers/regulator/wm831x-dcdc.c
549
struct wm831x_pdata *pdata = dev_get_platdata(wm831x->dev);
drivers/regulator/wm831x-dcdc.c
569
dcdc->wm831x = wm831x;
drivers/regulator/wm831x-dcdc.c
602
config.regmap = wm831x->regmap;
drivers/regulator/wm831x-dcdc.c
608
dev_err(wm831x->dev, "Failed to register DCDC%d: %d\n",
drivers/regulator/wm831x-dcdc.c
613
irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "UV"));
drivers/regulator/wm831x-dcdc.c
63
struct wm831x *wm831x = dcdc->wm831x;
drivers/regulator/wm831x-dcdc.c
647
struct wm831x *wm831x = dcdc->wm831x;
drivers/regulator/wm831x-dcdc.c
651
ret = wm831x_reg_read(wm831x, WM831X_DCDC_UV_STATUS);
drivers/regulator/wm831x-dcdc.c
656
dev_dbg(wm831x->dev, "DCDC%d under voltage\n",
drivers/regulator/wm831x-dcdc.c
662
ret = wm831x_reg_read(wm831x, WM831X_DCDC_STATUS);
drivers/regulator/wm831x-dcdc.c
67
val = wm831x_reg_read(wm831x, reg);
drivers/regulator/wm831x-dcdc.c
681
struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent);
drivers/regulator/wm831x-dcdc.c
682
struct wm831x_pdata *pdata = dev_get_platdata(wm831x->dev);
drivers/regulator/wm831x-dcdc.c
698
dcdc->wm831x = wm831x;
drivers/regulator/wm831x-dcdc.c
720
config.regmap = wm831x->regmap;
drivers/regulator/wm831x-dcdc.c
726
dev_err(wm831x->dev, "Failed to register DCDC%d: %d\n",
drivers/regulator/wm831x-dcdc.c
731
irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "UV"));
drivers/regulator/wm831x-dcdc.c
774
struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent);
drivers/regulator/wm831x-dcdc.c
775
struct wm831x_pdata *pdata = dev_get_platdata(wm831x->dev);
drivers/regulator/wm831x-dcdc.c
787
dcdc->wm831x = wm831x;
drivers/regulator/wm831x-dcdc.c
805
config.regmap = wm831x->regmap;
drivers/regulator/wm831x-dcdc.c
811
dev_err(wm831x->dev, "Failed to register EPE%d: %d\n",
drivers/regulator/wm831x-dcdc.c
88
static int wm831x_dcdc_set_mode_int(struct wm831x *wm831x, int reg,
drivers/regulator/wm831x-isink.c
112
struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent);
drivers/regulator/wm831x-isink.c
113
struct wm831x_pdata *pdata = dev_get_platdata(wm831x->dev);
drivers/regulator/wm831x-isink.c
130
isink->wm831x = wm831x;
drivers/regulator/wm831x-isink.c
157
config.regmap = wm831x->regmap;
drivers/regulator/wm831x-isink.c
163
dev_err(wm831x->dev, "Failed to register ISINK%d: %d\n",
drivers/regulator/wm831x-isink.c
168
irq = wm831x_irq(wm831x, platform_get_irq(pdev, 0));
drivers/regulator/wm831x-isink.c
29
struct wm831x *wm831x;
drivers/regulator/wm831x-isink.c
36
struct wm831x *wm831x = isink->wm831x;
drivers/regulator/wm831x-isink.c
40
ret = wm831x_set_bits(wm831x, isink->reg, WM831X_CS1_ENA,
drivers/regulator/wm831x-isink.c
46
ret = wm831x_set_bits(wm831x, isink->reg, WM831X_CS1_DRIVE,
drivers/regulator/wm831x-isink.c
49
wm831x_set_bits(wm831x, isink->reg, WM831X_CS1_ENA, 0);
drivers/regulator/wm831x-isink.c
58
struct wm831x *wm831x = isink->wm831x;
drivers/regulator/wm831x-isink.c
61
ret = wm831x_set_bits(wm831x, isink->reg, WM831X_CS1_DRIVE, 0);
drivers/regulator/wm831x-isink.c
65
ret = wm831x_set_bits(wm831x, isink->reg, WM831X_CS1_ENA, 0);
drivers/regulator/wm831x-isink.c
76
struct wm831x *wm831x = isink->wm831x;
drivers/regulator/wm831x-isink.c
79
ret = wm831x_reg_read(wm831x, isink->reg);
drivers/regulator/wm831x-ldo.c
108
struct wm831x *wm831x = ldo->wm831x;
drivers/regulator/wm831x-ldo.c
116
ret = wm831x_set_bits(wm831x, on_reg,
drivers/regulator/wm831x-ldo.c
123
ret = wm831x_set_bits(wm831x, ctrl_reg,
drivers/regulator/wm831x-ldo.c
128
ret = wm831x_set_bits(wm831x, on_reg,
drivers/regulator/wm831x-ldo.c
136
ret = wm831x_set_bits(wm831x, ctrl_reg,
drivers/regulator/wm831x-ldo.c
142
ret = wm831x_set_bits(wm831x, on_reg,
drivers/regulator/wm831x-ldo.c
159
struct wm831x *wm831x = ldo->wm831x;
drivers/regulator/wm831x-ldo.c
164
ret = wm831x_reg_read(wm831x, WM831X_LDO_STATUS);
drivers/regulator/wm831x-ldo.c
171
ret = wm831x_reg_read(wm831x, WM831X_LDO_UV_STATUS);
drivers/regulator/wm831x-ldo.c
216
struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent);
drivers/regulator/wm831x-ldo.c
217
struct wm831x_pdata *pdata = dev_get_platdata(wm831x->dev);
drivers/regulator/wm831x-ldo.c
236
ldo->wm831x = wm831x;
drivers/regulator/wm831x-ldo.c
271
config.regmap = wm831x->regmap;
drivers/regulator/wm831x-ldo.c
277
dev_err(wm831x->dev, "Failed to register LDO%d: %d\n",
drivers/regulator/wm831x-ldo.c
282
irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "UV"));
drivers/regulator/wm831x-ldo.c
323
struct wm831x *wm831x = ldo->wm831x;
drivers/regulator/wm831x-ldo.c
330
return wm831x_set_bits(wm831x, reg, WM831X_LDO7_ON_VSEL_MASK, sel);
drivers/regulator/wm831x-ldo.c
336
struct wm831x *wm831x = ldo->wm831x;
drivers/regulator/wm831x-ldo.c
340
ret = wm831x_reg_read(wm831x, on_reg);
drivers/regulator/wm831x-ldo.c
354
struct wm831x *wm831x = ldo->wm831x;
drivers/regulator/wm831x-ldo.c
361
ret = wm831x_set_bits(wm831x, on_reg, WM831X_LDO7_ON_MODE, 0);
drivers/regulator/wm831x-ldo.c
367
ret = wm831x_set_bits(wm831x, on_reg, WM831X_LDO7_ON_MODE,
drivers/regulator/wm831x-ldo.c
37
struct wm831x *wm831x;
drivers/regulator/wm831x-ldo.c
383
struct wm831x *wm831x = ldo->wm831x;
drivers/regulator/wm831x-ldo.c
388
ret = wm831x_reg_read(wm831x, WM831X_LDO_STATUS);
drivers/regulator/wm831x-ldo.c
395
ret = wm831x_reg_read(wm831x, WM831X_LDO_UV_STATUS);
drivers/regulator/wm831x-ldo.c
427
struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent);
drivers/regulator/wm831x-ldo.c
428
struct wm831x_pdata *pdata = dev_get_platdata(wm831x->dev);
drivers/regulator/wm831x-ldo.c
447
ldo->wm831x = wm831x;
drivers/regulator/wm831x-ldo.c
482
config.regmap = wm831x->regmap;
drivers/regulator/wm831x-ldo.c
488
dev_err(wm831x->dev, "Failed to register LDO%d: %d\n",
drivers/regulator/wm831x-ldo.c
493
irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "UV"));
drivers/regulator/wm831x-ldo.c
530
struct wm831x *wm831x = ldo->wm831x;
drivers/regulator/wm831x-ldo.c
537
return wm831x_set_bits(wm831x, reg, WM831X_LDO11_ON_VSEL_MASK, sel);
drivers/regulator/wm831x-ldo.c
543
struct wm831x *wm831x = ldo->wm831x;
drivers/regulator/wm831x-ldo.c
548
ret = wm831x_reg_read(wm831x, WM831X_LDO_STATUS);
drivers/regulator/wm831x-ldo.c
572
struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent);
drivers/regulator/wm831x-ldo.c
573
struct wm831x_pdata *pdata = dev_get_platdata(wm831x->dev);
drivers/regulator/wm831x-ldo.c
593
ldo->wm831x = wm831x;
drivers/regulator/wm831x-ldo.c
627
config.regmap = wm831x->regmap;
drivers/regulator/wm831x-ldo.c
633
dev_err(wm831x->dev, "Failed to register LDO%d: %d\n",
drivers/regulator/wm831x-ldo.c
69
struct wm831x *wm831x = ldo->wm831x;
drivers/regulator/wm831x-ldo.c
76
return wm831x_set_bits(wm831x, reg, WM831X_LDO1_ON_VSEL_MASK, sel);
drivers/regulator/wm831x-ldo.c
82
struct wm831x *wm831x = ldo->wm831x;
drivers/regulator/wm831x-ldo.c
87
ret = wm831x_reg_read(wm831x, on_reg);
drivers/regulator/wm831x-ldo.c
94
ret = wm831x_reg_read(wm831x, ctrl_reg);
drivers/rtc/rtc-wm831x.c
105
ret = wm831x_reg_read(wm831x, WM831X_RTC_WRITE_COUNTER);
drivers/rtc/rtc-wm831x.c
110
dev_warn(wm831x->dev, "Failed to read RTC write counter: %d\n",
drivers/rtc/rtc-wm831x.c
121
struct wm831x *wm831x = wm831x_rtc->wm831x;
drivers/rtc/rtc-wm831x.c
127
ret = wm831x_reg_read(wm831x, WM831X_RTC_CONTROL);
drivers/rtc/rtc-wm831x.c
141
ret = wm831x_bulk_read(wm831x, WM831X_RTC_TIME_1,
drivers/rtc/rtc-wm831x.c
146
ret = wm831x_bulk_read(wm831x, WM831X_RTC_TIME_1,
drivers/rtc/rtc-wm831x.c
171
struct wm831x *wm831x = wm831x_rtc->wm831x;
drivers/rtc/rtc-wm831x.c
179
ret = wm831x_reg_write(wm831x, WM831X_RTC_TIME_1,
drivers/rtc/rtc-wm831x.c
186
ret = wm831x_reg_write(wm831x, WM831X_RTC_TIME_2, time & 0xffff);
drivers/rtc/rtc-wm831x.c
198
ret = wm831x_reg_read(wm831x, WM831X_RTC_CONTROL);
drivers/rtc/rtc-wm831x.c
237
ret = wm831x_bulk_read(wm831x_rtc->wm831x, WM831X_RTC_ALARM_1,
drivers/rtc/rtc-wm831x.c
248
ret = wm831x_reg_read(wm831x_rtc->wm831x, WM831X_RTC_CONTROL);
drivers/rtc/rtc-wm831x.c
266
return wm831x_set_bits(wm831x_rtc->wm831x, WM831X_RTC_CONTROL,
drivers/rtc/rtc-wm831x.c
274
return wm831x_set_bits(wm831x_rtc->wm831x, WM831X_RTC_CONTROL,
drivers/rtc/rtc-wm831x.c
281
struct wm831x *wm831x = wm831x_rtc->wm831x;
drivers/rtc/rtc-wm831x.c
293
ret = wm831x_reg_write(wm831x, WM831X_RTC_ALARM_1,
drivers/rtc/rtc-wm831x.c
300
ret = wm831x_reg_write(wm831x, WM831X_RTC_ALARM_2, time & 0xffff);
drivers/rtc/rtc-wm831x.c
357
ret = wm831x_set_bits(wm831x_rtc->wm831x, WM831X_RTC_CONTROL,
drivers/rtc/rtc-wm831x.c
388
ret = wm831x_set_bits(wm831x_rtc->wm831x, WM831X_RTC_CONTROL,
drivers/rtc/rtc-wm831x.c
403
struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent);
drivers/rtc/rtc-wm831x.c
405
int alm_irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "ALM"));
drivers/rtc/rtc-wm831x.c
413
wm831x_rtc->wm831x = wm831x;
drivers/rtc/rtc-wm831x.c
415
ret = wm831x_reg_read(wm831x, WM831X_RTC_CONTROL);
drivers/rtc/rtc-wm831x.c
446
wm831x_rtc_add_randomness(wm831x);
drivers/rtc/rtc-wm831x.c
90
struct wm831x *wm831x;
drivers/rtc/rtc-wm831x.c
95
static void wm831x_rtc_add_randomness(struct wm831x *wm831x)
drivers/video/backlight/wm831x_bl.c
111
struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent);
drivers/video/backlight/wm831x_bl.c
162
ret = wm831x_reg_unlock(wm831x);
drivers/video/backlight/wm831x_bl.c
166
ret = wm831x_set_bits(wm831x, WM831X_DC4_CONTROL, WM831X_DC4_FBSRC,
drivers/video/backlight/wm831x_bl.c
169
wm831x_reg_lock(wm831x);
drivers/video/backlight/wm831x_bl.c
177
data->wm831x = wm831x;
drivers/video/backlight/wm831x_bl.c
196
wm831x_set_bits(wm831x, WM831X_DCDC_ENABLE, WM831X_DC4_ENA, 0);
drivers/video/backlight/wm831x_bl.c
20
struct wm831x *wm831x;
drivers/video/backlight/wm831x_bl.c
28
struct wm831x *wm831x = data->wm831x;
drivers/video/backlight/wm831x_bl.c
35
ret = wm831x_set_bits(wm831x, data->isink_reg,
drivers/video/backlight/wm831x_bl.c
41
ret = wm831x_set_bits(wm831x, WM831X_DCDC_ENABLE,
drivers/video/backlight/wm831x_bl.c
49
ret = wm831x_set_bits(wm831x, WM831X_DCDC_ENABLE,
drivers/video/backlight/wm831x_bl.c
55
ret = wm831x_set_bits(wm831x, data->isink_reg,
drivers/video/backlight/wm831x_bl.c
62
ret = wm831x_set_bits(wm831x, data->isink_reg,
drivers/video/backlight/wm831x_bl.c
69
ret = wm831x_set_bits(wm831x, data->isink_reg,
drivers/video/backlight/wm831x_bl.c
84
wm831x_set_bits(wm831x, WM831X_DCDC_ENABLE, WM831X_DC4_ENA, 0);
drivers/video/backlight/wm831x_bl.c
85
wm831x_set_bits(wm831x, data->isink_reg, WM831X_CS1_ENA, 0);
drivers/watchdog/wm831x_wdt.c
104
reg = wm831x_reg_read(wm831x, WM831X_WATCHDOG);
drivers/watchdog/wm831x_wdt.c
107
dev_err(wm831x->dev, "Hardware watchdog update unsupported\n");
drivers/watchdog/wm831x_wdt.c
114
ret = wm831x_reg_unlock(wm831x);
drivers/watchdog/wm831x_wdt.c
116
ret = wm831x_reg_write(wm831x, WM831X_WATCHDOG, reg);
drivers/watchdog/wm831x_wdt.c
117
wm831x_reg_lock(wm831x);
drivers/watchdog/wm831x_wdt.c
119
dev_err(wm831x->dev, "Failed to unlock security key: %d\n",
drivers/watchdog/wm831x_wdt.c
133
struct wm831x *wm831x = driver_data->wm831x;
drivers/watchdog/wm831x_wdt.c
142
ret = wm831x_reg_unlock(wm831x);
drivers/watchdog/wm831x_wdt.c
144
ret = wm831x_set_bits(wm831x, WM831X_WATCHDOG,
drivers/watchdog/wm831x_wdt.c
147
wm831x_reg_lock(wm831x);
drivers/watchdog/wm831x_wdt.c
149
dev_err(wm831x->dev, "Failed to unlock security key: %d\n",
drivers/watchdog/wm831x_wdt.c
174
struct wm831x *wm831x = dev_get_drvdata(dev->parent);
drivers/watchdog/wm831x_wdt.c
181
ret = wm831x_reg_read(wm831x, WM831X_WATCHDOG);
drivers/watchdog/wm831x_wdt.c
183
dev_err(wm831x->dev, "Failed to read watchdog status: %d\n",
drivers/watchdog/wm831x_wdt.c
190
dev_warn(wm831x->dev, "Watchdog is paused\n");
drivers/watchdog/wm831x_wdt.c
197
driver_data->wm831x = wm831x;
drivers/watchdog/wm831x_wdt.c
207
reg = wm831x_reg_read(wm831x, WM831X_WATCHDOG);
drivers/watchdog/wm831x_wdt.c
213
dev_warn(wm831x->dev,
drivers/watchdog/wm831x_wdt.c
232
ret = wm831x_reg_unlock(wm831x);
drivers/watchdog/wm831x_wdt.c
234
ret = wm831x_reg_write(wm831x, WM831X_WATCHDOG, reg);
drivers/watchdog/wm831x_wdt.c
235
wm831x_reg_lock(wm831x);
drivers/watchdog/wm831x_wdt.c
237
dev_err(wm831x->dev,
drivers/watchdog/wm831x_wdt.c
29
struct wm831x *wm831x;
drivers/watchdog/wm831x_wdt.c
52
struct wm831x *wm831x = driver_data->wm831x;
drivers/watchdog/wm831x_wdt.c
57
ret = wm831x_reg_unlock(wm831x);
drivers/watchdog/wm831x_wdt.c
59
ret = wm831x_set_bits(wm831x, WM831X_WATCHDOG,
drivers/watchdog/wm831x_wdt.c
61
wm831x_reg_lock(wm831x);
drivers/watchdog/wm831x_wdt.c
63
dev_err(wm831x->dev, "Failed to unlock security key: %d\n",
drivers/watchdog/wm831x_wdt.c
75
struct wm831x *wm831x = driver_data->wm831x;
drivers/watchdog/wm831x_wdt.c
80
ret = wm831x_reg_unlock(wm831x);
drivers/watchdog/wm831x_wdt.c
82
ret = wm831x_set_bits(wm831x, WM831X_WATCHDOG,
drivers/watchdog/wm831x_wdt.c
84
wm831x_reg_lock(wm831x);
drivers/watchdog/wm831x_wdt.c
86
dev_err(wm831x->dev, "Failed to unlock security key: %d\n",
drivers/watchdog/wm831x_wdt.c
98
struct wm831x *wm831x = driver_data->wm831x;
include/linux/mfd/wm831x/auxadc.h
13
struct wm831x;
include/linux/mfd/wm831x/auxadc.h
210
int wm831x_auxadc_read(struct wm831x *wm831x, enum wm831x_auxadc input);
include/linux/mfd/wm831x/auxadc.h
211
int wm831x_auxadc_read_uv(struct wm831x *wm831x, enum wm831x_auxadc input);
include/linux/mfd/wm831x/core.h
355
struct wm831x;
include/linux/mfd/wm831x/core.h
357
typedef int (*wm831x_auxadc_read_fn)(struct wm831x *wm831x,
include/linux/mfd/wm831x/core.h
405
int wm831x_reg_read(struct wm831x *wm831x, unsigned short reg);
include/linux/mfd/wm831x/core.h
406
int wm831x_reg_write(struct wm831x *wm831x, unsigned short reg,
include/linux/mfd/wm831x/core.h
408
void wm831x_reg_lock(struct wm831x *wm831x);
include/linux/mfd/wm831x/core.h
409
int wm831x_reg_unlock(struct wm831x *wm831x);
include/linux/mfd/wm831x/core.h
410
int wm831x_set_bits(struct wm831x *wm831x, unsigned short reg,
include/linux/mfd/wm831x/core.h
412
int wm831x_bulk_read(struct wm831x *wm831x, unsigned short reg,
include/linux/mfd/wm831x/core.h
415
int wm831x_device_init(struct wm831x *wm831x, int irq);
include/linux/mfd/wm831x/core.h
416
int wm831x_device_suspend(struct wm831x *wm831x);
include/linux/mfd/wm831x/core.h
417
void wm831x_device_shutdown(struct wm831x *wm831x);
include/linux/mfd/wm831x/core.h
418
int wm831x_irq_init(struct wm831x *wm831x, int irq);
include/linux/mfd/wm831x/core.h
419
void wm831x_irq_exit(struct wm831x *wm831x);
include/linux/mfd/wm831x/core.h
420
void wm831x_auxadc_init(struct wm831x *wm831x);
include/linux/mfd/wm831x/core.h
422
static inline int wm831x_irq(struct wm831x *wm831x, int irq)
include/linux/mfd/wm831x/core.h
424
return irq_create_mapping(wm831x->irq_domain, irq);
include/linux/mfd/wm831x/otp.h
13
int wm831x_otp_init(struct wm831x *wm831x);
include/linux/mfd/wm831x/otp.h
14
void wm831x_otp_exit(struct wm831x *wm831x);
include/linux/mfd/wm831x/pdata.h
109
int (*pre_init)(struct wm831x *wm831x);
include/linux/mfd/wm831x/pdata.h
111
int (*post_init)(struct wm831x *wm831x);
include/linux/mfd/wm831x/pdata.h
13
struct wm831x;