wm831x 514 arch/arm/mach-s3c64xx/mach-smdk6410.c static int wm1192_pre_init(struct wm831x *wm831x) wm831x 523 arch/arm/mach-s3c64xx/mach-smdk6410.c dev_err(wm831x->dev, "Failed to add PMIC LED: %d\n", ret); wm831x 18 drivers/clk/clk-wm831x.c struct wm831x *wm831x; wm831x 70 drivers/clk/clk-wm831x.c struct wm831x *wm831x = clkdata->wm831x; wm831x 73 drivers/clk/clk-wm831x.c ret = wm831x_reg_read(wm831x, WM831X_FLL_CONTROL_1); wm831x 75 drivers/clk/clk-wm831x.c dev_err(wm831x->dev, "Unable to read FLL_CONTROL_1: %d\n", wm831x 87 drivers/clk/clk-wm831x.c struct wm831x *wm831x = clkdata->wm831x; wm831x 90 drivers/clk/clk-wm831x.c ret = wm831x_set_bits(wm831x, WM831X_FLL_CONTROL_1, wm831x 93 drivers/clk/clk-wm831x.c dev_crit(wm831x->dev, "Failed to enable FLL: %d\n", ret); wm831x 105 drivers/clk/clk-wm831x.c struct wm831x *wm831x = clkdata->wm831x; wm831x 108 drivers/clk/clk-wm831x.c ret = wm831x_set_bits(wm831x, WM831X_FLL_CONTROL_1, WM831X_FLL_ENA, 0); wm831x 110 drivers/clk/clk-wm831x.c dev_crit(wm831x->dev, "Failed to disable FLL: %d\n", ret); wm831x 118 drivers/clk/clk-wm831x.c struct wm831x *wm831x = clkdata->wm831x; wm831x 121 drivers/clk/clk-wm831x.c ret = wm831x_reg_read(wm831x, WM831X_CLOCK_CONTROL_2); wm831x 123 drivers/clk/clk-wm831x.c dev_err(wm831x->dev, "Unable to read CLOCK_CONTROL_2: %d\n", wm831x 131 drivers/clk/clk-wm831x.c dev_err(wm831x->dev, "FLL only supported in AUTO mode\n"); wm831x 155 drivers/clk/clk-wm831x.c struct wm831x *wm831x = clkdata->wm831x; wm831x 167 drivers/clk/clk-wm831x.c return wm831x_set_bits(wm831x, WM831X_CLOCK_CONTROL_2, wm831x 180 drivers/clk/clk-wm831x.c struct wm831x *wm831x = clkdata->wm831x; wm831x 184 drivers/clk/clk-wm831x.c ret = wm831x_reg_read(wm831x, WM831X_CLOCK_CONTROL_2); wm831x 186 drivers/clk/clk-wm831x.c dev_err(wm831x->dev, "Unable to read CLOCK_CONTROL_2: %d\n", wm831x 194 drivers/clk/clk-wm831x.c ret = wm831x_reg_read(wm831x, WM831X_FLL_CONTROL_5); wm831x 196 drivers/clk/clk-wm831x.c dev_err(wm831x->dev, "Unable to read FLL_CONTROL_5: %d\n", wm831x 207 drivers/clk/clk-wm831x.c dev_err(wm831x->dev, "Unsupported FLL clock source %d\n", wm831x 235 drivers/clk/clk-wm831x.c struct wm831x *wm831x = clkdata->wm831x; wm831x 238 drivers/clk/clk-wm831x.c ret = wm831x_reg_read(wm831x, WM831X_CLOCK_CONTROL_1); wm831x 240 drivers/clk/clk-wm831x.c dev_err(wm831x->dev, "Unable to read CLOCK_CONTROL_1: %d\n", wm831x 252 drivers/clk/clk-wm831x.c struct wm831x *wm831x = clkdata->wm831x; wm831x 255 drivers/clk/clk-wm831x.c ret = wm831x_reg_unlock(wm831x); wm831x 257 drivers/clk/clk-wm831x.c dev_crit(wm831x->dev, "Failed to lock registers: %d\n", ret); wm831x 261 drivers/clk/clk-wm831x.c ret = wm831x_set_bits(wm831x, WM831X_CLOCK_CONTROL_1, wm831x 264 drivers/clk/clk-wm831x.c dev_crit(wm831x->dev, "Failed to enable CLKOUT: %d\n", ret); wm831x 266 drivers/clk/clk-wm831x.c wm831x_reg_lock(wm831x); wm831x 275 drivers/clk/clk-wm831x.c struct wm831x *wm831x = clkdata->wm831x; wm831x 278 drivers/clk/clk-wm831x.c ret = wm831x_reg_unlock(wm831x); wm831x 280 drivers/clk/clk-wm831x.c dev_crit(wm831x->dev, "Failed to lock registers: %d\n", ret); wm831x 284 drivers/clk/clk-wm831x.c ret = wm831x_set_bits(wm831x, WM831X_CLOCK_CONTROL_1, wm831x 287 drivers/clk/clk-wm831x.c dev_crit(wm831x->dev, "Failed to disable CLKOUT: %d\n", ret); wm831x 289 drivers/clk/clk-wm831x.c wm831x_reg_lock(wm831x); wm831x 301 drivers/clk/clk-wm831x.c struct wm831x *wm831x = clkdata->wm831x; wm831x 304 drivers/clk/clk-wm831x.c ret = wm831x_reg_read(wm831x, WM831X_CLOCK_CONTROL_1); wm831x 306 drivers/clk/clk-wm831x.c dev_err(wm831x->dev, "Unable to read CLOCK_CONTROL_1: %d\n", wm831x 321 drivers/clk/clk-wm831x.c struct wm831x *wm831x = clkdata->wm831x; wm831x 323 drivers/clk/clk-wm831x.c return wm831x_set_bits(wm831x, WM831X_CLOCK_CONTROL_1, wm831x 346 drivers/clk/clk-wm831x.c struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent); wm831x 354 drivers/clk/clk-wm831x.c clkdata->wm831x = wm831x; wm831x 357 drivers/clk/clk-wm831x.c ret = wm831x_reg_read(wm831x, WM831X_CLOCK_CONTROL_2); wm831x 359 drivers/clk/clk-wm831x.c dev_err(wm831x->dev, "Unable to read CLOCK_CONTROL_2: %d\n", wm831x 25 drivers/gpio/gpio-wm831x.c struct wm831x *wm831x; wm831x 32 drivers/gpio/gpio-wm831x.c struct wm831x *wm831x = wm831x_gpio->wm831x; wm831x 35 drivers/gpio/gpio-wm831x.c if (wm831x->has_gpio_ena) wm831x 38 drivers/gpio/gpio-wm831x.c return wm831x_set_bits(wm831x, WM831X_GPIO1_CONTROL + offset, wm831x 46 drivers/gpio/gpio-wm831x.c struct wm831x *wm831x = wm831x_gpio->wm831x; wm831x 49 drivers/gpio/gpio-wm831x.c ret = wm831x_reg_read(wm831x, WM831X_GPIO_LEVEL); wm831x 62 drivers/gpio/gpio-wm831x.c struct wm831x *wm831x = wm831x_gpio->wm831x; wm831x 64 drivers/gpio/gpio-wm831x.c wm831x_set_bits(wm831x, WM831X_GPIO_LEVEL, 1 << offset, wm831x 72 drivers/gpio/gpio-wm831x.c struct wm831x *wm831x = wm831x_gpio->wm831x; wm831x 76 drivers/gpio/gpio-wm831x.c if (wm831x->has_gpio_ena) wm831x 79 drivers/gpio/gpio-wm831x.c ret = wm831x_set_bits(wm831x, WM831X_GPIO1_CONTROL + offset, wm831x 94 drivers/gpio/gpio-wm831x.c struct wm831x *wm831x = wm831x_gpio->wm831x; wm831x 96 drivers/gpio/gpio-wm831x.c return irq_create_mapping(wm831x->irq_domain, wm831x 100 drivers/gpio/gpio-wm831x.c static int wm831x_gpio_set_debounce(struct wm831x *wm831x, unsigned offset, wm831x 106 drivers/gpio/gpio-wm831x.c ret = wm831x_reg_read(wm831x, reg); wm831x 126 drivers/gpio/gpio-wm831x.c return wm831x_set_bits(wm831x, reg, WM831X_GPN_FN_MASK, fn); wm831x 133 drivers/gpio/gpio-wm831x.c struct wm831x *wm831x = wm831x_gpio->wm831x; wm831x 138 drivers/gpio/gpio-wm831x.c return wm831x_set_bits(wm831x, reg, wm831x 141 drivers/gpio/gpio-wm831x.c return wm831x_set_bits(wm831x, reg, wm831x 144 drivers/gpio/gpio-wm831x.c return wm831x_gpio_set_debounce(wm831x, offset, wm831x 157 drivers/gpio/gpio-wm831x.c struct wm831x *wm831x = wm831x_gpio->wm831x; wm831x 176 drivers/gpio/gpio-wm831x.c reg = wm831x_reg_read(wm831x, WM831X_GPIO1_CONTROL + i); wm831x 178 drivers/gpio/gpio-wm831x.c dev_err(wm831x->dev, wm831x 227 drivers/gpio/gpio-wm831x.c if (wm831x->has_gpio_ena) wm831x 261 drivers/gpio/gpio-wm831x.c struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent); wm831x 262 drivers/gpio/gpio-wm831x.c struct wm831x_pdata *pdata = &wm831x->pdata; wm831x 271 drivers/gpio/gpio-wm831x.c wm831x_gpio->wm831x = wm831x; wm831x 273 drivers/gpio/gpio-wm831x.c wm831x_gpio->gpio_chip.ngpio = wm831x->num_gpio; wm831x 280 drivers/gpio/gpio-wm831x.c wm831x_gpio->gpio_chip.of_node = wm831x->dev->of_node; wm831x 33 drivers/hwmon/wm831x-hwmon.c struct wm831x *wm831x = dev_get_drvdata(dev); wm831x 37 drivers/hwmon/wm831x-hwmon.c ret = wm831x_auxadc_read_uv(wm831x, channel); wm831x 47 drivers/hwmon/wm831x-hwmon.c struct wm831x *wm831x = dev_get_drvdata(dev); wm831x 51 drivers/hwmon/wm831x-hwmon.c ret = wm831x_auxadc_read(wm831x, channel); wm831x 128 drivers/hwmon/wm831x-hwmon.c ATTRIBUTE_GROUPS(wm831x); wm831x 132 drivers/hwmon/wm831x-hwmon.c struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent); wm831x 136 drivers/hwmon/wm831x-hwmon.c wm831x, wm831x 33 drivers/input/misc/wm831x-on.c struct wm831x *wm831x; wm831x 44 drivers/input/misc/wm831x-on.c struct wm831x *wm831x = wm831x_on->wm831x; wm831x 47 drivers/input/misc/wm831x-on.c ret = wm831x_reg_read(wm831x, WM831X_ON_PIN_CONTROL); wm831x 54 drivers/input/misc/wm831x-on.c dev_err(wm831x->dev, "Failed to read ON status: %d\n", ret); wm831x 73 drivers/input/misc/wm831x-on.c struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent); wm831x 75 drivers/input/misc/wm831x-on.c int irq = wm831x_irq(wm831x, platform_get_irq(pdev, 0)); wm831x 85 drivers/input/misc/wm831x-on.c wm831x_on->wm831x = wm831x; wm831x 61 drivers/input/touchscreen/wm831x-ts.c struct wm831x *wm831x; wm831x 76 drivers/input/touchscreen/wm831x-ts.c dev_dbg(wm831x_ts->wm831x->dev, "IRQ PD->DATA done\n"); wm831x 79 drivers/input/touchscreen/wm831x-ts.c dev_dbg(wm831x_ts->wm831x->dev, "IRQ DATA->PD done\n"); wm831x 86 drivers/input/touchscreen/wm831x-ts.c struct wm831x *wm831x = wm831x_ts->wm831x; wm831x 97 drivers/input/touchscreen/wm831x-ts.c wm831x_set_bits(wm831x, WM831X_INTERRUPT_STATUS_1, wm831x 100 drivers/input/touchscreen/wm831x-ts.c ret = wm831x_bulk_read(wm831x, WM831X_TOUCH_DATA_X, count, wm831x 103 drivers/input/touchscreen/wm831x-ts.c dev_err(wm831x->dev, "Failed to read touch data: %d\n", wm831x 124 drivers/input/touchscreen/wm831x-ts.c dev_dbg(wm831x->dev, "IRQ DATA->PD\n"); wm831x 129 drivers/input/touchscreen/wm831x-ts.c wm831x_set_bits(wm831x, WM831X_TOUCH_CONTROL_1, wm831x 134 drivers/input/touchscreen/wm831x-ts.c wm831x_set_bits(wm831x, WM831X_INTERRUPT_STATUS_1, wm831x 137 drivers/input/touchscreen/wm831x-ts.c wm831x_bulk_read(wm831x, WM831X_TOUCH_DATA_X, count, data); wm831x 158 drivers/input/touchscreen/wm831x-ts.c struct wm831x *wm831x = wm831x_ts->wm831x; wm831x 170 drivers/input/touchscreen/wm831x-ts.c wm831x_set_bits(wm831x, WM831X_TOUCH_CONTROL_1, wm831x 174 drivers/input/touchscreen/wm831x-ts.c wm831x_set_bits(wm831x, WM831X_INTERRUPT_STATUS_1, wm831x 180 drivers/input/touchscreen/wm831x-ts.c dev_dbg(wm831x->dev, "IRQ PD->DATA\n"); wm831x 189 drivers/input/touchscreen/wm831x-ts.c struct wm831x *wm831x = wm831x_ts->wm831x; wm831x 191 drivers/input/touchscreen/wm831x-ts.c wm831x_set_bits(wm831x, WM831X_TOUCH_CONTROL_1, wm831x 196 drivers/input/touchscreen/wm831x-ts.c wm831x_set_bits(wm831x, WM831X_TOUCH_CONTROL_1, wm831x 205 drivers/input/touchscreen/wm831x-ts.c struct wm831x *wm831x = wm831x_ts->wm831x; wm831x 208 drivers/input/touchscreen/wm831x-ts.c wm831x_set_bits(wm831x, WM831X_TOUCH_CONTROL_1, wm831x 234 drivers/input/touchscreen/wm831x-ts.c struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent); wm831x 251 drivers/input/touchscreen/wm831x-ts.c wm831x_ts->wm831x = wm831x; wm831x 259 drivers/input/touchscreen/wm831x-ts.c wm831x_ts->data_irq = wm831x_irq(wm831x, wm831x 265 drivers/input/touchscreen/wm831x-ts.c wm831x_ts->pd_irq = wm831x_irq(wm831x, wm831x 277 drivers/input/touchscreen/wm831x-ts.c wm831x_set_bits(wm831x, WM831X_TOUCH_CONTROL_2, wm831x 284 drivers/input/touchscreen/wm831x-ts.c wm831x_set_bits(wm831x, WM831X_TOUCH_CONTROL_2, wm831x 296 drivers/input/touchscreen/wm831x-ts.c wm831x_set_bits(wm831x, WM831X_TOUCH_CONTROL_2, wm831x 300 drivers/input/touchscreen/wm831x-ts.c wm831x_set_bits(wm831x, WM831X_TOUCH_CONTROL_2, wm831x 306 drivers/input/touchscreen/wm831x-ts.c wm831x_set_bits(wm831x, WM831X_TOUCH_CONTROL_2, wm831x 310 drivers/input/touchscreen/wm831x-ts.c wm831x_set_bits(wm831x, WM831X_TOUCH_CONTROL_1, wm831x 21 drivers/leds/leds-wm831x-status.c struct wm831x *wm831x; wm831x 61 drivers/leds/leds-wm831x-status.c wm831x_reg_write(led->wm831x, led->reg, led->reg_val); wm831x 210 drivers/leds/leds-wm831x-status.c struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent); wm831x 229 drivers/leds/leds-wm831x-status.c drvdata->wm831x = wm831x; wm831x 232 drivers/leds/leds-wm831x-status.c if (dev_get_platdata(wm831x->dev)) wm831x 233 drivers/leds/leds-wm831x-status.c chip_pdata = dev_get_platdata(wm831x->dev); wm831x 248 drivers/leds/leds-wm831x-status.c drvdata->reg_val = wm831x_reg_read(wm831x, drvdata->reg); wm831x 272 drivers/leds/leds-wm831x-status.c ret = devm_led_classdev_register(wm831x->dev, &drvdata->cdev); wm831x 31 drivers/mfd/wm831x-auxadc.c static int wm831x_auxadc_read_irq(struct wm831x *wm831x, wm831x 46 drivers/mfd/wm831x-auxadc.c mutex_lock(&wm831x->auxadc_lock); wm831x 49 drivers/mfd/wm831x-auxadc.c list_add(&req->list, &wm831x->auxadc_pending); wm831x 51 drivers/mfd/wm831x-auxadc.c ena = !wm831x->auxadc_active; wm831x 54 drivers/mfd/wm831x-auxadc.c ret = wm831x_set_bits(wm831x, WM831X_AUXADC_CONTROL, wm831x 57 drivers/mfd/wm831x-auxadc.c dev_err(wm831x->dev, "Failed to enable AUXADC: %d\n", wm831x 64 drivers/mfd/wm831x-auxadc.c if (!(wm831x->auxadc_active & (1 << input))) { wm831x 65 drivers/mfd/wm831x-auxadc.c ret = wm831x_set_bits(wm831x, WM831X_AUXADC_SOURCE, wm831x 68 drivers/mfd/wm831x-auxadc.c dev_err(wm831x->dev, wm831x 73 drivers/mfd/wm831x-auxadc.c wm831x->auxadc_active |= 1 << input; wm831x 78 drivers/mfd/wm831x-auxadc.c ret = wm831x_set_bits(wm831x, WM831X_AUXADC_CONTROL, wm831x 84 drivers/mfd/wm831x-auxadc.c dev_err(wm831x->dev, "Failed to start AUXADC: %d\n", wm831x 90 drivers/mfd/wm831x-auxadc.c mutex_unlock(&wm831x->auxadc_lock); wm831x 95 drivers/mfd/wm831x-auxadc.c mutex_lock(&wm831x->auxadc_lock); wm831x 101 drivers/mfd/wm831x-auxadc.c mutex_unlock(&wm831x->auxadc_lock); wm831x 110 drivers/mfd/wm831x-auxadc.c struct wm831x *wm831x = irq_data; wm831x 114 drivers/mfd/wm831x-auxadc.c ret = wm831x_reg_read(wm831x, WM831X_AUXADC_DATA); wm831x 116 drivers/mfd/wm831x-auxadc.c dev_err(wm831x->dev, wm831x 129 drivers/mfd/wm831x-auxadc.c mutex_lock(&wm831x->auxadc_lock); wm831x 132 drivers/mfd/wm831x-auxadc.c wm831x_set_bits(wm831x, WM831X_AUXADC_SOURCE, wm831x 134 drivers/mfd/wm831x-auxadc.c wm831x->auxadc_active &= ~(1 << input); wm831x 137 drivers/mfd/wm831x-auxadc.c if (!wm831x->auxadc_active) wm831x 138 drivers/mfd/wm831x-auxadc.c wm831x_reg_write(wm831x, WM831X_AUXADC_CONTROL, 0); wm831x 141 drivers/mfd/wm831x-auxadc.c list_for_each_entry(req, &wm831x->auxadc_pending, list) { wm831x 148 drivers/mfd/wm831x-auxadc.c mutex_unlock(&wm831x->auxadc_lock); wm831x 153 drivers/mfd/wm831x-auxadc.c static int wm831x_auxadc_read_polled(struct wm831x *wm831x, wm831x 158 drivers/mfd/wm831x-auxadc.c mutex_lock(&wm831x->auxadc_lock); wm831x 160 drivers/mfd/wm831x-auxadc.c ret = wm831x_set_bits(wm831x, WM831X_AUXADC_CONTROL, wm831x 163 drivers/mfd/wm831x-auxadc.c dev_err(wm831x->dev, "Failed to enable AUXADC: %d\n", ret); wm831x 169 drivers/mfd/wm831x-auxadc.c ret = wm831x_reg_write(wm831x, WM831X_AUXADC_SOURCE, wm831x 172 drivers/mfd/wm831x-auxadc.c dev_err(wm831x->dev, "Failed to set AUXADC source: %d\n", ret); wm831x 176 drivers/mfd/wm831x-auxadc.c ret = wm831x_set_bits(wm831x, WM831X_AUXADC_CONTROL, wm831x 179 drivers/mfd/wm831x-auxadc.c dev_err(wm831x->dev, "Failed to start AUXADC: %d\n", ret); wm831x 189 drivers/mfd/wm831x-auxadc.c ret = wm831x_reg_read(wm831x, wm831x 192 drivers/mfd/wm831x-auxadc.c dev_err(wm831x->dev, wm831x 199 drivers/mfd/wm831x-auxadc.c wm831x_reg_write(wm831x, wm831x 204 drivers/mfd/wm831x-auxadc.c dev_err(wm831x->dev, wm831x 211 drivers/mfd/wm831x-auxadc.c ret = wm831x_reg_read(wm831x, WM831X_AUXADC_DATA); wm831x 213 drivers/mfd/wm831x-auxadc.c dev_err(wm831x->dev, wm831x 225 drivers/mfd/wm831x-auxadc.c dev_err(wm831x->dev, "Data from source %d not %d\n", wm831x 233 drivers/mfd/wm831x-auxadc.c wm831x_set_bits(wm831x, WM831X_AUXADC_CONTROL, WM831X_AUX_ENA, 0); wm831x 235 drivers/mfd/wm831x-auxadc.c mutex_unlock(&wm831x->auxadc_lock); wm831x 245 drivers/mfd/wm831x-auxadc.c int wm831x_auxadc_read(struct wm831x *wm831x, enum wm831x_auxadc input) wm831x 247 drivers/mfd/wm831x-auxadc.c return wm831x->auxadc_read(wm831x, input); wm831x 257 drivers/mfd/wm831x-auxadc.c int wm831x_auxadc_read_uv(struct wm831x *wm831x, enum wm831x_auxadc input) wm831x 261 drivers/mfd/wm831x-auxadc.c ret = wm831x_auxadc_read(wm831x, input); wm831x 271 drivers/mfd/wm831x-auxadc.c void wm831x_auxadc_init(struct wm831x *wm831x) wm831x 275 drivers/mfd/wm831x-auxadc.c mutex_init(&wm831x->auxadc_lock); wm831x 276 drivers/mfd/wm831x-auxadc.c INIT_LIST_HEAD(&wm831x->auxadc_pending); wm831x 278 drivers/mfd/wm831x-auxadc.c if (wm831x->irq) { wm831x 279 drivers/mfd/wm831x-auxadc.c wm831x->auxadc_read = wm831x_auxadc_read_irq; wm831x 281 drivers/mfd/wm831x-auxadc.c ret = request_threaded_irq(wm831x_irq(wm831x, wm831x 285 drivers/mfd/wm831x-auxadc.c "auxadc", wm831x); wm831x 287 drivers/mfd/wm831x-auxadc.c dev_err(wm831x->dev, "AUXADC IRQ request failed: %d\n", wm831x 289 drivers/mfd/wm831x-auxadc.c wm831x->auxadc_read = NULL; wm831x 293 drivers/mfd/wm831x-auxadc.c if (!wm831x->auxadc_read) wm831x 294 drivers/mfd/wm831x-auxadc.c wm831x->auxadc_read = wm831x_auxadc_read_polled; wm831x 92 drivers/mfd/wm831x-core.c static int wm831x_reg_locked(struct wm831x *wm831x, unsigned short reg) wm831x 94 drivers/mfd/wm831x-core.c if (!wm831x->locked) wm831x 118 drivers/mfd/wm831x-core.c void wm831x_reg_lock(struct wm831x *wm831x) wm831x 122 drivers/mfd/wm831x-core.c ret = wm831x_reg_write(wm831x, WM831X_SECURITY_KEY, 0); wm831x 124 drivers/mfd/wm831x-core.c dev_vdbg(wm831x->dev, "Registers locked\n"); wm831x 126 drivers/mfd/wm831x-core.c mutex_lock(&wm831x->io_lock); wm831x 127 drivers/mfd/wm831x-core.c WARN_ON(wm831x->locked); wm831x 128 drivers/mfd/wm831x-core.c wm831x->locked = 1; wm831x 129 drivers/mfd/wm831x-core.c mutex_unlock(&wm831x->io_lock); wm831x 131 drivers/mfd/wm831x-core.c dev_err(wm831x->dev, "Failed to lock registers: %d\n", ret); wm831x 144 drivers/mfd/wm831x-core.c int wm831x_reg_unlock(struct wm831x *wm831x) wm831x 149 drivers/mfd/wm831x-core.c ret = wm831x_reg_write(wm831x, WM831X_SECURITY_KEY, 0x9716); wm831x 151 drivers/mfd/wm831x-core.c dev_vdbg(wm831x->dev, "Registers unlocked\n"); wm831x 153 drivers/mfd/wm831x-core.c mutex_lock(&wm831x->io_lock); wm831x 154 drivers/mfd/wm831x-core.c WARN_ON(!wm831x->locked); wm831x 155 drivers/mfd/wm831x-core.c wm831x->locked = 0; wm831x 156 drivers/mfd/wm831x-core.c mutex_unlock(&wm831x->io_lock); wm831x 344 drivers/mfd/wm831x-core.c struct wm831x *wm831x = dev_get_drvdata(dev); wm831x 346 drivers/mfd/wm831x-core.c if (wm831x_reg_locked(wm831x, reg)) wm831x 515 drivers/mfd/wm831x-core.c int wm831x_reg_read(struct wm831x *wm831x, unsigned short reg) wm831x 520 drivers/mfd/wm831x-core.c ret = regmap_read(wm831x->regmap, reg, &val); wm831x 537 drivers/mfd/wm831x-core.c int wm831x_bulk_read(struct wm831x *wm831x, unsigned short reg, wm831x 540 drivers/mfd/wm831x-core.c return regmap_bulk_read(wm831x->regmap, reg, buf, count); wm831x 544 drivers/mfd/wm831x-core.c static int wm831x_write(struct wm831x *wm831x, unsigned short reg, wm831x 554 drivers/mfd/wm831x-core.c if (wm831x_reg_locked(wm831x, reg)) wm831x 557 drivers/mfd/wm831x-core.c dev_vdbg(wm831x->dev, "Write %04x to R%d(0x%x)\n", wm831x 559 drivers/mfd/wm831x-core.c ret = regmap_write(wm831x->regmap, reg + i, buf[i]); wm831x 574 drivers/mfd/wm831x-core.c int wm831x_reg_write(struct wm831x *wm831x, unsigned short reg, wm831x 579 drivers/mfd/wm831x-core.c mutex_lock(&wm831x->io_lock); wm831x 581 drivers/mfd/wm831x-core.c ret = wm831x_write(wm831x, reg, 2, &val); wm831x 583 drivers/mfd/wm831x-core.c mutex_unlock(&wm831x->io_lock); wm831x 597 drivers/mfd/wm831x-core.c int wm831x_set_bits(struct wm831x *wm831x, unsigned short reg, wm831x 602 drivers/mfd/wm831x-core.c mutex_lock(&wm831x->io_lock); wm831x 604 drivers/mfd/wm831x-core.c if (!wm831x_reg_locked(wm831x, reg)) wm831x 605 drivers/mfd/wm831x-core.c ret = regmap_update_bits(wm831x->regmap, reg, mask, val); wm831x 609 drivers/mfd/wm831x-core.c mutex_unlock(&wm831x->io_lock); wm831x 1629 drivers/mfd/wm831x-core.c int wm831x_device_init(struct wm831x *wm831x, int irq) wm831x 1631 drivers/mfd/wm831x-core.c struct wm831x_pdata *pdata = &wm831x->pdata; wm831x 1636 drivers/mfd/wm831x-core.c mutex_init(&wm831x->io_lock); wm831x 1637 drivers/mfd/wm831x-core.c mutex_init(&wm831x->key_lock); wm831x 1638 drivers/mfd/wm831x-core.c dev_set_drvdata(wm831x->dev, wm831x); wm831x 1640 drivers/mfd/wm831x-core.c wm831x->soft_shutdown = pdata->soft_shutdown; wm831x 1642 drivers/mfd/wm831x-core.c ret = wm831x_reg_read(wm831x, WM831X_PARENT_ID); wm831x 1644 drivers/mfd/wm831x-core.c dev_err(wm831x->dev, "Failed to read parent ID: %d\n", ret); wm831x 1652 drivers/mfd/wm831x-core.c dev_err(wm831x->dev, "Device is not a WM831x: ID %x\n", ret); wm831x 1657 drivers/mfd/wm831x-core.c ret = wm831x_reg_read(wm831x, WM831X_REVISION); wm831x 1659 drivers/mfd/wm831x-core.c dev_err(wm831x->dev, "Failed to read revision: %d\n", ret); wm831x 1664 drivers/mfd/wm831x-core.c ret = wm831x_reg_read(wm831x, WM831X_RESET_ID); wm831x 1666 drivers/mfd/wm831x-core.c dev_err(wm831x->dev, "Failed to read device ID: %d\n", ret); wm831x 1674 drivers/mfd/wm831x-core.c dev_info(wm831x->dev, "Device is an engineering sample\n"); wm831x 1675 drivers/mfd/wm831x-core.c ret = wm831x->type; wm831x 1681 drivers/mfd/wm831x-core.c wm831x->num_gpio = 16; wm831x 1682 drivers/mfd/wm831x-core.c wm831x->charger_irq_wake = 1; wm831x 1684 drivers/mfd/wm831x-core.c wm831x->has_gpio_ena = 1; wm831x 1685 drivers/mfd/wm831x-core.c wm831x->has_cs_sts = 1; wm831x 1688 drivers/mfd/wm831x-core.c dev_info(wm831x->dev, "WM8310 revision %c\n", 'A' + rev); wm831x 1693 drivers/mfd/wm831x-core.c wm831x->num_gpio = 16; wm831x 1694 drivers/mfd/wm831x-core.c wm831x->charger_irq_wake = 1; wm831x 1696 drivers/mfd/wm831x-core.c wm831x->has_gpio_ena = 1; wm831x 1697 drivers/mfd/wm831x-core.c wm831x->has_cs_sts = 1; wm831x 1700 drivers/mfd/wm831x-core.c dev_info(wm831x->dev, "WM8311 revision %c\n", 'A' + rev); wm831x 1705 drivers/mfd/wm831x-core.c wm831x->num_gpio = 16; wm831x 1706 drivers/mfd/wm831x-core.c wm831x->charger_irq_wake = 1; wm831x 1708 drivers/mfd/wm831x-core.c wm831x->has_gpio_ena = 1; wm831x 1709 drivers/mfd/wm831x-core.c wm831x->has_cs_sts = 1; wm831x 1712 drivers/mfd/wm831x-core.c dev_info(wm831x->dev, "WM8312 revision %c\n", 'A' + rev); wm831x 1717 drivers/mfd/wm831x-core.c wm831x->num_gpio = 12; wm831x 1718 drivers/mfd/wm831x-core.c dev_info(wm831x->dev, "WM8320 revision %c\n", 'A' + rev); wm831x 1723 drivers/mfd/wm831x-core.c wm831x->num_gpio = 12; wm831x 1724 drivers/mfd/wm831x-core.c dev_info(wm831x->dev, "WM8321 revision %c\n", 'A' + rev); wm831x 1729 drivers/mfd/wm831x-core.c wm831x->num_gpio = 12; wm831x 1730 drivers/mfd/wm831x-core.c dev_info(wm831x->dev, "WM8325 revision %c\n", 'A' + rev); wm831x 1735 drivers/mfd/wm831x-core.c wm831x->num_gpio = 12; wm831x 1736 drivers/mfd/wm831x-core.c dev_info(wm831x->dev, "WM8326 revision %c\n", 'A' + rev); wm831x 1740 drivers/mfd/wm831x-core.c dev_err(wm831x->dev, "Unknown WM831x device %04x\n", ret); wm831x 1748 drivers/mfd/wm831x-core.c if (parent != wm831x->type) wm831x 1749 drivers/mfd/wm831x-core.c dev_warn(wm831x->dev, "Device was registered as a WM%x\n", wm831x 1750 drivers/mfd/wm831x-core.c wm831x->type); wm831x 1753 drivers/mfd/wm831x-core.c ret = wm831x_reg_read(wm831x, WM831X_SECURITY_KEY); wm831x 1755 drivers/mfd/wm831x-core.c dev_err(wm831x->dev, "Failed to read security key: %d\n", ret); wm831x 1759 drivers/mfd/wm831x-core.c dev_warn(wm831x->dev, "Security key had non-zero value %x\n", wm831x 1761 drivers/mfd/wm831x-core.c wm831x_reg_write(wm831x, WM831X_SECURITY_KEY, 0); wm831x 1763 drivers/mfd/wm831x-core.c wm831x->locked = 1; wm831x 1766 drivers/mfd/wm831x-core.c ret = pdata->pre_init(wm831x); wm831x 1768 drivers/mfd/wm831x-core.c dev_err(wm831x->dev, "pre_init() failed: %d\n", ret); wm831x 1777 drivers/mfd/wm831x-core.c wm831x_reg_write(wm831x, wm831x 1788 drivers/mfd/wm831x-core.c ret = wm831x_irq_init(wm831x, irq); wm831x 1792 drivers/mfd/wm831x-core.c wm831x_auxadc_init(wm831x); wm831x 1797 drivers/mfd/wm831x-core.c ret = mfd_add_devices(wm831x->dev, wm831x_num, wm831x 1803 drivers/mfd/wm831x-core.c ret = mfd_add_devices(wm831x->dev, wm831x_num, wm831x 1807 drivers/mfd/wm831x-core.c mfd_add_devices(wm831x->dev, wm831x_num, wm831x 1813 drivers/mfd/wm831x-core.c ret = mfd_add_devices(wm831x->dev, wm831x_num, wm831x 1817 drivers/mfd/wm831x-core.c mfd_add_devices(wm831x->dev, wm831x_num, wm831x 1826 drivers/mfd/wm831x-core.c ret = mfd_add_devices(wm831x->dev, wm831x_num, wm831x 1837 drivers/mfd/wm831x-core.c dev_err(wm831x->dev, "Failed to add children\n"); wm831x 1844 drivers/mfd/wm831x-core.c ret = wm831x_reg_read(wm831x, WM831X_CLOCK_CONTROL_2); wm831x 1846 drivers/mfd/wm831x-core.c dev_err(wm831x->dev, "Failed to read clock status: %d\n", ret); wm831x 1851 drivers/mfd/wm831x-core.c ret = mfd_add_devices(wm831x->dev, wm831x_num, wm831x 1855 drivers/mfd/wm831x-core.c dev_err(wm831x->dev, "Failed to add RTC: %d\n", ret); wm831x 1859 drivers/mfd/wm831x-core.c dev_info(wm831x->dev, "32.768kHz clock disabled, no RTC\n"); wm831x 1864 drivers/mfd/wm831x-core.c ret = mfd_add_devices(wm831x->dev, wm831x_num, backlight_devs, wm831x 1868 drivers/mfd/wm831x-core.c dev_err(wm831x->dev, "Failed to add backlight: %d\n", wm831x 1872 drivers/mfd/wm831x-core.c wm831x_otp_init(wm831x); wm831x 1875 drivers/mfd/wm831x-core.c ret = pdata->post_init(wm831x); wm831x 1877 drivers/mfd/wm831x-core.c dev_err(wm831x->dev, "post_init() failed: %d\n", ret); wm831x 1885 drivers/mfd/wm831x-core.c wm831x_irq_exit(wm831x); wm831x 1887 drivers/mfd/wm831x-core.c mfd_remove_devices(wm831x->dev); wm831x 1891 drivers/mfd/wm831x-core.c int wm831x_device_suspend(struct wm831x *wm831x) wm831x 1900 drivers/mfd/wm831x-core.c if (wm831x->charger_irq_wake) { wm831x 1901 drivers/mfd/wm831x-core.c reg = wm831x_reg_read(wm831x, WM831X_INTERRUPT_STATUS_2_MASK); wm831x 1912 drivers/mfd/wm831x-core.c reg = wm831x_reg_read(wm831x, wm831x 1916 drivers/mfd/wm831x-core.c dev_info(wm831x->dev, wm831x 1919 drivers/mfd/wm831x-core.c wm831x_reg_write(wm831x, WM831X_INTERRUPT_STATUS_2, wm831x 1927 drivers/mfd/wm831x-core.c void wm831x_device_shutdown(struct wm831x *wm831x) wm831x 1929 drivers/mfd/wm831x-core.c if (wm831x->soft_shutdown) { wm831x 1930 drivers/mfd/wm831x-core.c dev_info(wm831x->dev, "Initiating shutdown...\n"); wm831x 1931 drivers/mfd/wm831x-core.c wm831x_set_bits(wm831x, WM831X_POWER_STATE, WM831X_CHIP_ON, 0); wm831x 29 drivers/mfd/wm831x-i2c.c struct wm831x *wm831x; wm831x 44 drivers/mfd/wm831x-i2c.c wm831x = devm_kzalloc(&i2c->dev, sizeof(struct wm831x), GFP_KERNEL); wm831x 45 drivers/mfd/wm831x-i2c.c if (wm831x == NULL) wm831x 48 drivers/mfd/wm831x-i2c.c i2c_set_clientdata(i2c, wm831x); wm831x 49 drivers/mfd/wm831x-i2c.c wm831x->dev = &i2c->dev; wm831x 50 drivers/mfd/wm831x-i2c.c wm831x->type = type; wm831x 52 drivers/mfd/wm831x-i2c.c wm831x->regmap = devm_regmap_init_i2c(i2c, &wm831x_regmap_config); wm831x 53 drivers/mfd/wm831x-i2c.c if (IS_ERR(wm831x->regmap)) { wm831x 54 drivers/mfd/wm831x-i2c.c ret = PTR_ERR(wm831x->regmap); wm831x 55 drivers/mfd/wm831x-i2c.c dev_err(wm831x->dev, "Failed to allocate register map: %d\n", wm831x 61 drivers/mfd/wm831x-i2c.c memcpy(&wm831x->pdata, pdata, sizeof(*pdata)); wm831x 63 drivers/mfd/wm831x-i2c.c return wm831x_device_init(wm831x, i2c->irq); wm831x 68 drivers/mfd/wm831x-i2c.c struct wm831x *wm831x = dev_get_drvdata(dev); wm831x 70 drivers/mfd/wm831x-i2c.c return wm831x_device_suspend(wm831x); wm831x 75 drivers/mfd/wm831x-i2c.c struct wm831x *wm831x = dev_get_drvdata(dev); wm831x 77 drivers/mfd/wm831x-i2c.c wm831x_device_shutdown(wm831x); wm831x 324 drivers/mfd/wm831x-irq.c static inline struct wm831x_irq_data *irq_to_wm831x_irq(struct wm831x *wm831x, wm831x 332 drivers/mfd/wm831x-irq.c struct wm831x *wm831x = irq_data_get_irq_chip_data(data); wm831x 334 drivers/mfd/wm831x-irq.c mutex_lock(&wm831x->irq_lock); wm831x 339 drivers/mfd/wm831x-irq.c struct wm831x *wm831x = irq_data_get_irq_chip_data(data); wm831x 342 drivers/mfd/wm831x-irq.c for (i = 0; i < ARRAY_SIZE(wm831x->gpio_update); i++) { wm831x 343 drivers/mfd/wm831x-irq.c if (wm831x->gpio_update[i]) { wm831x 344 drivers/mfd/wm831x-irq.c wm831x_set_bits(wm831x, WM831X_GPIO1_CONTROL + i, wm831x 346 drivers/mfd/wm831x-irq.c wm831x->gpio_update[i]); wm831x 347 drivers/mfd/wm831x-irq.c wm831x->gpio_update[i] = 0; wm831x 351 drivers/mfd/wm831x-irq.c for (i = 0; i < ARRAY_SIZE(wm831x->irq_masks_cur); i++) { wm831x 354 drivers/mfd/wm831x-irq.c if (wm831x->irq_masks_cur[i] != wm831x->irq_masks_cache[i]) { wm831x 355 drivers/mfd/wm831x-irq.c dev_dbg(wm831x->dev, "IRQ mask sync: %x = %x\n", wm831x 357 drivers/mfd/wm831x-irq.c wm831x->irq_masks_cur[i]); wm831x 359 drivers/mfd/wm831x-irq.c wm831x->irq_masks_cache[i] = wm831x->irq_masks_cur[i]; wm831x 360 drivers/mfd/wm831x-irq.c wm831x_reg_write(wm831x, wm831x 362 drivers/mfd/wm831x-irq.c wm831x->irq_masks_cur[i]); wm831x 366 drivers/mfd/wm831x-irq.c mutex_unlock(&wm831x->irq_lock); wm831x 371 drivers/mfd/wm831x-irq.c struct wm831x *wm831x = irq_data_get_irq_chip_data(data); wm831x 372 drivers/mfd/wm831x-irq.c struct wm831x_irq_data *irq_data = irq_to_wm831x_irq(wm831x, wm831x 375 drivers/mfd/wm831x-irq.c wm831x->irq_masks_cur[irq_data->reg - 1] &= ~irq_data->mask; wm831x 380 drivers/mfd/wm831x-irq.c struct wm831x *wm831x = irq_data_get_irq_chip_data(data); wm831x 381 drivers/mfd/wm831x-irq.c struct wm831x_irq_data *irq_data = irq_to_wm831x_irq(wm831x, wm831x 384 drivers/mfd/wm831x-irq.c wm831x->irq_masks_cur[irq_data->reg - 1] |= irq_data->mask; wm831x 389 drivers/mfd/wm831x-irq.c struct wm831x *wm831x = irq_data_get_irq_chip_data(data); wm831x 411 drivers/mfd/wm831x-irq.c wm831x->gpio_level_low[irq] = false; wm831x 412 drivers/mfd/wm831x-irq.c wm831x->gpio_level_high[irq] = false; wm831x 415 drivers/mfd/wm831x-irq.c wm831x->gpio_update[irq] = 0x10000 | WM831X_GPN_INT_MODE; wm831x 418 drivers/mfd/wm831x-irq.c wm831x->gpio_update[irq] = 0x10000 | WM831X_GPN_POL; wm831x 421 drivers/mfd/wm831x-irq.c wm831x->gpio_update[irq] = 0x10000; wm831x 424 drivers/mfd/wm831x-irq.c wm831x->gpio_update[irq] = 0x10000 | WM831X_GPN_POL; wm831x 425 drivers/mfd/wm831x-irq.c wm831x->gpio_level_high[irq] = true; wm831x 428 drivers/mfd/wm831x-irq.c wm831x->gpio_update[irq] = 0x10000; wm831x 429 drivers/mfd/wm831x-irq.c wm831x->gpio_level_low[irq] = true; wm831x 451 drivers/mfd/wm831x-irq.c struct wm831x *wm831x = data; wm831x 458 drivers/mfd/wm831x-irq.c primary = wm831x_reg_read(wm831x, WM831X_SYSTEM_INTERRUPTS); wm831x 460 drivers/mfd/wm831x-irq.c dev_err(wm831x->dev, "Failed to read system interrupt: %d\n", wm831x 471 drivers/mfd/wm831x-irq.c handle_nested_irq(irq_find_mapping(wm831x->irq_domain, wm831x 474 drivers/mfd/wm831x-irq.c handle_nested_irq(irq_find_mapping(wm831x->irq_domain, wm831x 491 drivers/mfd/wm831x-irq.c *status = wm831x_reg_read(wm831x, status_addr); wm831x 493 drivers/mfd/wm831x-irq.c dev_err(wm831x->dev, wm831x 502 drivers/mfd/wm831x-irq.c *status &= ~wm831x->irq_masks_cur[offset]; wm831x 507 drivers/mfd/wm831x-irq.c wm831x_reg_write(wm831x, status_addr, *status); wm831x 511 drivers/mfd/wm831x-irq.c handle_nested_irq(irq_find_mapping(wm831x->irq_domain, wm831x 518 drivers/mfd/wm831x-irq.c wm831x->gpio_level_high[i - WM831X_IRQ_GPIO_1]) { wm831x 519 drivers/mfd/wm831x-irq.c ret = wm831x_reg_read(wm831x, WM831X_GPIO_LEVEL); wm831x 521 drivers/mfd/wm831x-irq.c handle_nested_irq(irq_find_mapping(wm831x->irq_domain, wm831x 523 drivers/mfd/wm831x-irq.c ret = wm831x_reg_read(wm831x, wm831x 529 drivers/mfd/wm831x-irq.c wm831x->gpio_level_low[i - WM831X_IRQ_GPIO_1]) { wm831x 530 drivers/mfd/wm831x-irq.c ret = wm831x_reg_read(wm831x, WM831X_GPIO_LEVEL); wm831x 532 drivers/mfd/wm831x-irq.c handle_nested_irq(irq_find_mapping(wm831x->irq_domain, wm831x 534 drivers/mfd/wm831x-irq.c ret = wm831x_reg_read(wm831x, wm831x 560 drivers/mfd/wm831x-irq.c int wm831x_irq_init(struct wm831x *wm831x, int irq) wm831x 562 drivers/mfd/wm831x-irq.c struct wm831x_pdata *pdata = &wm831x->pdata; wm831x 566 drivers/mfd/wm831x-irq.c mutex_init(&wm831x->irq_lock); wm831x 569 drivers/mfd/wm831x-irq.c for (i = 0; i < ARRAY_SIZE(wm831x->irq_masks_cur); i++) { wm831x 570 drivers/mfd/wm831x-irq.c wm831x->irq_masks_cur[i] = 0xffff; wm831x 571 drivers/mfd/wm831x-irq.c wm831x->irq_masks_cache[i] = 0xffff; wm831x 572 drivers/mfd/wm831x-irq.c wm831x_reg_write(wm831x, WM831X_INTERRUPT_STATUS_1_MASK + i, wm831x 581 drivers/mfd/wm831x-irq.c dev_warn(wm831x->dev, "Failed to allocate IRQs: %d\n", wm831x 590 drivers/mfd/wm831x-irq.c domain = irq_domain_add_legacy(wm831x->dev->of_node, wm831x 594 drivers/mfd/wm831x-irq.c wm831x); wm831x 596 drivers/mfd/wm831x-irq.c domain = irq_domain_add_linear(wm831x->dev->of_node, wm831x 599 drivers/mfd/wm831x-irq.c wm831x); wm831x 602 drivers/mfd/wm831x-irq.c dev_warn(wm831x->dev, "Failed to allocate IRQ domain\n"); wm831x 611 drivers/mfd/wm831x-irq.c wm831x_set_bits(wm831x, WM831X_IRQ_CONFIG, wm831x 614 drivers/mfd/wm831x-irq.c wm831x->irq = irq; wm831x 615 drivers/mfd/wm831x-irq.c wm831x->irq_domain = domain; wm831x 625 drivers/mfd/wm831x-irq.c dev_warn(wm831x->dev, wm831x 632 drivers/mfd/wm831x-irq.c "wm831x", wm831x); wm831x 634 drivers/mfd/wm831x-irq.c dev_err(wm831x->dev, "Failed to request IRQ %d: %d\n", wm831x 639 drivers/mfd/wm831x-irq.c dev_warn(wm831x->dev, wm831x 644 drivers/mfd/wm831x-irq.c wm831x_reg_write(wm831x, WM831X_SYSTEM_INTERRUPTS_MASK, 0); wm831x 649 drivers/mfd/wm831x-irq.c void wm831x_irq_exit(struct wm831x *wm831x) wm831x 651 drivers/mfd/wm831x-irq.c if (wm831x->irq) wm831x 652 drivers/mfd/wm831x-irq.c free_irq(wm831x->irq, wm831x); wm831x 25 drivers/mfd/wm831x-otp.c static int wm831x_unique_id_read(struct wm831x *wm831x, char *id) wm831x 30 drivers/mfd/wm831x-otp.c val = wm831x_reg_read(wm831x, WM831X_UNIQUE_ID_1 + i); wm831x 44 drivers/mfd/wm831x-otp.c struct wm831x *wm831x = dev_get_drvdata(dev); wm831x 48 drivers/mfd/wm831x-otp.c rval = wm831x_unique_id_read(wm831x, id); wm831x 57 drivers/mfd/wm831x-otp.c int wm831x_otp_init(struct wm831x *wm831x) wm831x 62 drivers/mfd/wm831x-otp.c ret = device_create_file(wm831x->dev, &dev_attr_unique_id); wm831x 64 drivers/mfd/wm831x-otp.c dev_err(wm831x->dev, "Unique ID attribute not created: %d\n", wm831x 67 drivers/mfd/wm831x-otp.c ret = wm831x_unique_id_read(wm831x, uuid); wm831x 71 drivers/mfd/wm831x-otp.c dev_err(wm831x->dev, "Failed to read UUID: %d\n", ret); wm831x 76 drivers/mfd/wm831x-otp.c void wm831x_otp_exit(struct wm831x *wm831x) wm831x 78 drivers/mfd/wm831x-otp.c device_remove_file(wm831x->dev, &dev_attr_unique_id); wm831x 26 drivers/mfd/wm831x-spi.c struct wm831x *wm831x; wm831x 41 drivers/mfd/wm831x-spi.c wm831x = devm_kzalloc(&spi->dev, sizeof(struct wm831x), GFP_KERNEL); wm831x 42 drivers/mfd/wm831x-spi.c if (wm831x == NULL) wm831x 47 drivers/mfd/wm831x-spi.c spi_set_drvdata(spi, wm831x); wm831x 48 drivers/mfd/wm831x-spi.c wm831x->dev = &spi->dev; wm831x 49 drivers/mfd/wm831x-spi.c wm831x->type = type; wm831x 51 drivers/mfd/wm831x-spi.c wm831x->regmap = devm_regmap_init_spi(spi, &wm831x_regmap_config); wm831x 52 drivers/mfd/wm831x-spi.c if (IS_ERR(wm831x->regmap)) { wm831x 53 drivers/mfd/wm831x-spi.c ret = PTR_ERR(wm831x->regmap); wm831x 54 drivers/mfd/wm831x-spi.c dev_err(wm831x->dev, "Failed to allocate register map: %d\n", wm831x 60 drivers/mfd/wm831x-spi.c memcpy(&wm831x->pdata, pdata, sizeof(*pdata)); wm831x 62 drivers/mfd/wm831x-spi.c return wm831x_device_init(wm831x, spi->irq); wm831x 67 drivers/mfd/wm831x-spi.c struct wm831x *wm831x = dev_get_drvdata(dev); wm831x 69 drivers/mfd/wm831x-spi.c return wm831x_device_suspend(wm831x); wm831x 74 drivers/mfd/wm831x-spi.c struct wm831x *wm831x = dev_get_drvdata(dev); wm831x 76 drivers/mfd/wm831x-spi.c wm831x_device_shutdown(wm831x); wm831x 20 drivers/power/supply/wm831x_backup.c struct wm831x *wm831x; wm831x 26 drivers/power/supply/wm831x_backup.c static int wm831x_backup_read_voltage(struct wm831x *wm831x, wm831x 32 drivers/power/supply/wm831x_backup.c ret = wm831x_auxadc_read_uv(wm831x, src); wm831x 43 drivers/power/supply/wm831x_backup.c static void wm831x_config_backup(struct wm831x *wm831x) wm831x 45 drivers/power/supply/wm831x_backup.c struct wm831x_pdata *wm831x_pdata = wm831x->dev->platform_data; wm831x 50 drivers/power/supply/wm831x_backup.c dev_warn(wm831x->dev, wm831x 71 drivers/power/supply/wm831x_backup.c dev_err(wm831x->dev, "Invalid backup voltage limit %dmV\n", wm831x 88 drivers/power/supply/wm831x_backup.c dev_err(wm831x->dev, "Invalid backup current limit %duA\n", wm831x 92 drivers/power/supply/wm831x_backup.c ret = wm831x_reg_unlock(wm831x); wm831x 94 drivers/power/supply/wm831x_backup.c dev_err(wm831x->dev, "Failed to unlock registers: %d\n", ret); wm831x 98 drivers/power/supply/wm831x_backup.c ret = wm831x_set_bits(wm831x, WM831X_BACKUP_CHARGER_CONTROL, wm831x 106 drivers/power/supply/wm831x_backup.c dev_err(wm831x->dev, wm831x 109 drivers/power/supply/wm831x_backup.c wm831x_reg_lock(wm831x); wm831x 117 drivers/power/supply/wm831x_backup.c struct wm831x *wm831x = devdata->wm831x; wm831x 120 drivers/power/supply/wm831x_backup.c ret = wm831x_reg_read(wm831x, WM831X_BACKUP_CHARGER_CONTROL); wm831x 133 drivers/power/supply/wm831x_backup.c ret = wm831x_backup_read_voltage(wm831x, WM831X_AUX_BKUP_BATT, wm831x 164 drivers/power/supply/wm831x_backup.c struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent); wm831x 165 drivers/power/supply/wm831x_backup.c struct wm831x_pdata *wm831x_pdata = wm831x->dev->platform_data; wm831x 173 drivers/power/supply/wm831x_backup.c devdata->wm831x = wm831x; wm831x 180 drivers/power/supply/wm831x_backup.c wm831x_config_backup(wm831x); wm831x 21 drivers/power/supply/wm831x_power.c struct wm831x *wm831x; wm831x 36 drivers/power/supply/wm831x_power.c static int wm831x_power_check_online(struct wm831x *wm831x, int supply, wm831x 41 drivers/power/supply/wm831x_power.c ret = wm831x_reg_read(wm831x, WM831X_SYSTEM_STATUS); wm831x 53 drivers/power/supply/wm831x_power.c static int wm831x_power_read_voltage(struct wm831x *wm831x, wm831x 59 drivers/power/supply/wm831x_power.c ret = wm831x_auxadc_read_uv(wm831x, src); wm831x 74 drivers/power/supply/wm831x_power.c struct wm831x *wm831x = wm831x_power->wm831x; wm831x 79 drivers/power/supply/wm831x_power.c ret = wm831x_power_check_online(wm831x, WM831X_PWR_WALL, val); wm831x 82 drivers/power/supply/wm831x_power.c ret = wm831x_power_read_voltage(wm831x, WM831X_AUX_WALL, val); wm831x 105 drivers/power/supply/wm831x_power.c struct wm831x *wm831x = wm831x_power->wm831x; wm831x 110 drivers/power/supply/wm831x_power.c ret = wm831x_power_check_online(wm831x, WM831X_PWR_USB, val); wm831x 113 drivers/power/supply/wm831x_power.c ret = wm831x_power_read_voltage(wm831x, WM831X_AUX_USB, val); wm831x 156 drivers/power/supply/wm831x_power.c dev_dbg(wm831x_power->wm831x->dev, wm831x 159 drivers/power/supply/wm831x_power.c wm831x_set_bits(wm831x_power->wm831x, WM831X_POWER_STATE, wm831x 237 drivers/power/supply/wm831x_power.c static void wm831x_battey_apply_config(struct wm831x *wm831x, wm831x 248 drivers/power/supply/wm831x_power.c dev_err(wm831x->dev, "Invalid %s %d%s\n", wm831x 252 drivers/power/supply/wm831x_power.c dev_dbg(wm831x->dev, "Set %s of %d%s\n", name, val, units); wm831x 256 drivers/power/supply/wm831x_power.c static void wm831x_config_battery(struct wm831x *wm831x) wm831x 258 drivers/power/supply/wm831x_power.c struct wm831x_pdata *wm831x_pdata = wm831x->dev->platform_data; wm831x 263 drivers/power/supply/wm831x_power.c dev_warn(wm831x->dev, wm831x 274 drivers/power/supply/wm831x_power.c dev_info(wm831x->dev, "Battery charger disabled\n"); wm831x 284 drivers/power/supply/wm831x_power.c wm831x_battey_apply_config(wm831x, trickle_ilims, wm831x 289 drivers/power/supply/wm831x_power.c wm831x_battey_apply_config(wm831x, vsels, ARRAY_SIZE(vsels), wm831x 293 drivers/power/supply/wm831x_power.c wm831x_battey_apply_config(wm831x, fast_ilims, ARRAY_SIZE(fast_ilims), wm831x 297 drivers/power/supply/wm831x_power.c wm831x_battey_apply_config(wm831x, eoc_iterms, ARRAY_SIZE(eoc_iterms), wm831x 301 drivers/power/supply/wm831x_power.c wm831x_battey_apply_config(wm831x, chg_times, ARRAY_SIZE(chg_times), wm831x 305 drivers/power/supply/wm831x_power.c ret = wm831x_reg_unlock(wm831x); wm831x 307 drivers/power/supply/wm831x_power.c dev_err(wm831x->dev, "Failed to unlock registers: %d\n", ret); wm831x 311 drivers/power/supply/wm831x_power.c ret = wm831x_set_bits(wm831x, WM831X_CHARGER_CONTROL_1, wm831x 317 drivers/power/supply/wm831x_power.c dev_err(wm831x->dev, "Failed to set charger control 1: %d\n", wm831x 320 drivers/power/supply/wm831x_power.c ret = wm831x_set_bits(wm831x, WM831X_CHARGER_CONTROL_2, wm831x 328 drivers/power/supply/wm831x_power.c dev_err(wm831x->dev, "Failed to set charger control 2: %d\n", wm831x 331 drivers/power/supply/wm831x_power.c wm831x_reg_lock(wm831x); wm831x 334 drivers/power/supply/wm831x_power.c static int wm831x_bat_check_status(struct wm831x *wm831x, int *status) wm831x 338 drivers/power/supply/wm831x_power.c ret = wm831x_reg_read(wm831x, WM831X_SYSTEM_STATUS); wm831x 347 drivers/power/supply/wm831x_power.c ret = wm831x_reg_read(wm831x, WM831X_CHARGER_STATUS); wm831x 368 drivers/power/supply/wm831x_power.c static int wm831x_bat_check_type(struct wm831x *wm831x, int *type) wm831x 372 drivers/power/supply/wm831x_power.c ret = wm831x_reg_read(wm831x, WM831X_CHARGER_STATUS); wm831x 393 drivers/power/supply/wm831x_power.c static int wm831x_bat_check_health(struct wm831x *wm831x, int *health) wm831x 397 drivers/power/supply/wm831x_power.c ret = wm831x_reg_read(wm831x, WM831X_CHARGER_STATUS); wm831x 437 drivers/power/supply/wm831x_power.c struct wm831x *wm831x = wm831x_power->wm831x; wm831x 442 drivers/power/supply/wm831x_power.c ret = wm831x_bat_check_status(wm831x, &val->intval); wm831x 445 drivers/power/supply/wm831x_power.c ret = wm831x_power_check_online(wm831x, WM831X_PWR_SRC_BATT, wm831x 449 drivers/power/supply/wm831x_power.c ret = wm831x_power_read_voltage(wm831x, WM831X_AUX_BATT, val); wm831x 452 drivers/power/supply/wm831x_power.c ret = wm831x_bat_check_health(wm831x, &val->intval); wm831x 455 drivers/power/supply/wm831x_power.c ret = wm831x_bat_check_type(wm831x, &val->intval); wm831x 487 drivers/power/supply/wm831x_power.c struct wm831x *wm831x = wm831x_power->wm831x; wm831x 489 drivers/power/supply/wm831x_power.c dev_dbg(wm831x->dev, "Battery status changed: %d\n", irq); wm831x 507 drivers/power/supply/wm831x_power.c struct wm831x *wm831x = wm831x_power->wm831x; wm831x 511 drivers/power/supply/wm831x_power.c dev_crit(wm831x->dev, "SYSVDD under voltage\n"); wm831x 519 drivers/power/supply/wm831x_power.c struct wm831x *wm831x = wm831x_power->wm831x; wm831x 521 drivers/power/supply/wm831x_power.c dev_dbg(wm831x->dev, "Power source changed\n"); wm831x 534 drivers/power/supply/wm831x_power.c struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent); wm831x 535 drivers/power/supply/wm831x_power.c struct wm831x_pdata *wm831x_pdata = wm831x->dev->platform_data; wm831x 544 drivers/power/supply/wm831x_power.c power->wm831x = wm831x; wm831x 566 drivers/power/supply/wm831x_power.c wm831x_config_battery(wm831x); wm831x 591 drivers/power/supply/wm831x_power.c ret = wm831x_reg_read(wm831x, WM831X_CHARGER_CONTROL_1); wm831x 611 drivers/power/supply/wm831x_power.c irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "SYSLO")); wm831x 621 drivers/power/supply/wm831x_power.c irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "PWR SRC")); wm831x 632 drivers/power/supply/wm831x_power.c irq = wm831x_irq(wm831x, wm831x 682 drivers/power/supply/wm831x_power.c irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "PWR SRC")); wm831x 685 drivers/power/supply/wm831x_power.c irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "SYSLO")); wm831x 701 drivers/power/supply/wm831x_power.c struct wm831x *wm831x = wm831x_power->wm831x; wm831x 710 drivers/power/supply/wm831x_power.c irq = wm831x_irq(wm831x, wm831x 716 drivers/power/supply/wm831x_power.c irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "PWR SRC")); wm831x 719 drivers/power/supply/wm831x_power.c irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "SYSLO")); wm831x 51 drivers/regulator/wm831x-dcdc.c struct wm831x *wm831x; wm831x 63 drivers/regulator/wm831x-dcdc.c struct wm831x *wm831x = dcdc->wm831x; wm831x 67 drivers/regulator/wm831x-dcdc.c val = wm831x_reg_read(wm831x, reg); wm831x 88 drivers/regulator/wm831x-dcdc.c static int wm831x_dcdc_set_mode_int(struct wm831x *wm831x, int reg, wm831x 110 drivers/regulator/wm831x-dcdc.c return wm831x_set_bits(wm831x, reg, WM831X_DC1_ON_MODE_MASK, wm831x 117 drivers/regulator/wm831x-dcdc.c struct wm831x *wm831x = dcdc->wm831x; wm831x 120 drivers/regulator/wm831x-dcdc.c return wm831x_dcdc_set_mode_int(wm831x, reg, mode); wm831x 127 drivers/regulator/wm831x-dcdc.c struct wm831x *wm831x = dcdc->wm831x; wm831x 130 drivers/regulator/wm831x-dcdc.c return wm831x_dcdc_set_mode_int(wm831x, reg, mode); wm831x 136 drivers/regulator/wm831x-dcdc.c struct wm831x *wm831x = dcdc->wm831x; wm831x 140 drivers/regulator/wm831x-dcdc.c ret = wm831x_reg_read(wm831x, WM831X_DCDC_UV_STATUS); wm831x 145 drivers/regulator/wm831x-dcdc.c dev_dbg(wm831x->dev, "DCDC%d under voltage\n", wm831x 153 drivers/regulator/wm831x-dcdc.c dev_dbg(wm831x->dev, "DCDC%d over voltage\n", wm831x 159 drivers/regulator/wm831x-dcdc.c dev_dbg(wm831x->dev, "DCDC%d over current\n", wm831x 166 drivers/regulator/wm831x-dcdc.c ret = wm831x_reg_read(wm831x, WM831X_DCDC_STATUS); wm831x 234 drivers/regulator/wm831x-dcdc.c struct wm831x *wm831x = dcdc->wm831x; wm831x 247 drivers/regulator/wm831x-dcdc.c ret = wm831x_set_bits(wm831x, on_reg, WM831X_DC1_ON_VSEL_MASK, vsel); wm831x 267 drivers/regulator/wm831x-dcdc.c ret = wm831x_set_bits(wm831x, dvs_reg, wm831x 273 drivers/regulator/wm831x-dcdc.c dev_warn(wm831x->dev, wm831x 284 drivers/regulator/wm831x-dcdc.c struct wm831x *wm831x = dcdc->wm831x; wm831x 292 drivers/regulator/wm831x-dcdc.c return wm831x_set_bits(wm831x, reg, WM831X_DC1_SLP_VSEL_MASK, vsel); wm831x 336 drivers/regulator/wm831x-dcdc.c struct wm831x *wm831x = dcdc->wm831x; wm831x 351 drivers/regulator/wm831x-dcdc.c dev_err(wm831x->dev, "Failed to get %s DVS GPIO: %ld\n", wm831x 364 drivers/regulator/wm831x-dcdc.c dev_err(wm831x->dev, "Invalid DVS control source %d for %s\n", wm831x 373 drivers/regulator/wm831x-dcdc.c ret = wm831x_set_bits(wm831x, wm831x 379 drivers/regulator/wm831x-dcdc.c dev_warn(wm831x->dev, "Failed to set DVS_VSEL: %d\n", wm831x 383 drivers/regulator/wm831x-dcdc.c ret = wm831x_set_bits(wm831x, dcdc->base + WM831X_DCDC_DVS_CONTROL, wm831x 386 drivers/regulator/wm831x-dcdc.c dev_err(wm831x->dev, "Failed to set %s DVS source: %d\n", wm831x 393 drivers/regulator/wm831x-dcdc.c struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent); wm831x 394 drivers/regulator/wm831x-dcdc.c struct wm831x_pdata *pdata = dev_get_platdata(wm831x->dev); wm831x 414 drivers/regulator/wm831x-dcdc.c dcdc->wm831x = wm831x; wm831x 445 drivers/regulator/wm831x-dcdc.c ret = wm831x_reg_read(wm831x, dcdc->base + WM831X_DCDC_ON_CONFIG); wm831x 447 drivers/regulator/wm831x-dcdc.c dev_err(wm831x->dev, "Failed to read ON VSEL: %d\n", ret); wm831x 452 drivers/regulator/wm831x-dcdc.c ret = wm831x_reg_read(wm831x, dcdc->base + WM831X_DCDC_DVS_CONTROL); wm831x 454 drivers/regulator/wm831x-dcdc.c dev_err(wm831x->dev, "Failed to read DVS VSEL: %d\n", ret); wm831x 467 drivers/regulator/wm831x-dcdc.c config.regmap = wm831x->regmap; wm831x 473 drivers/regulator/wm831x-dcdc.c dev_err(wm831x->dev, "Failed to register DCDC%d: %d\n", wm831x 478 drivers/regulator/wm831x-dcdc.c irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "UV")); wm831x 489 drivers/regulator/wm831x-dcdc.c irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "HC")); wm831x 522 drivers/regulator/wm831x-dcdc.c struct wm831x *wm831x = dcdc->wm831x; wm831x 530 drivers/regulator/wm831x-dcdc.c return wm831x_set_bits(wm831x, reg, WM831X_DC3_ON_VSEL_MASK, sel); wm831x 551 drivers/regulator/wm831x-dcdc.c struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent); wm831x 552 drivers/regulator/wm831x-dcdc.c struct wm831x_pdata *pdata = dev_get_platdata(wm831x->dev); wm831x 572 drivers/regulator/wm831x-dcdc.c dcdc->wm831x = wm831x; wm831x 605 drivers/regulator/wm831x-dcdc.c config.regmap = wm831x->regmap; wm831x 611 drivers/regulator/wm831x-dcdc.c dev_err(wm831x->dev, "Failed to register DCDC%d: %d\n", wm831x 616 drivers/regulator/wm831x-dcdc.c irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "UV")); wm831x 649 drivers/regulator/wm831x-dcdc.c struct wm831x *wm831x = dcdc->wm831x; wm831x 653 drivers/regulator/wm831x-dcdc.c ret = wm831x_reg_read(wm831x, WM831X_DCDC_UV_STATUS); wm831x 658 drivers/regulator/wm831x-dcdc.c dev_dbg(wm831x->dev, "DCDC%d under voltage\n", wm831x 664 drivers/regulator/wm831x-dcdc.c ret = wm831x_reg_read(wm831x, WM831X_DCDC_STATUS); wm831x 683 drivers/regulator/wm831x-dcdc.c struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent); wm831x 684 drivers/regulator/wm831x-dcdc.c struct wm831x_pdata *pdata = dev_get_platdata(wm831x->dev); wm831x 700 drivers/regulator/wm831x-dcdc.c dcdc->wm831x = wm831x; wm831x 722 drivers/regulator/wm831x-dcdc.c config.regmap = wm831x->regmap; wm831x 728 drivers/regulator/wm831x-dcdc.c dev_err(wm831x->dev, "Failed to register DCDC%d: %d\n", wm831x 733 drivers/regulator/wm831x-dcdc.c irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "UV")); wm831x 775 drivers/regulator/wm831x-dcdc.c struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent); wm831x 776 drivers/regulator/wm831x-dcdc.c struct wm831x_pdata *pdata = dev_get_platdata(wm831x->dev); wm831x 788 drivers/regulator/wm831x-dcdc.c dcdc->wm831x = wm831x; wm831x 806 drivers/regulator/wm831x-dcdc.c config.regmap = wm831x->regmap; wm831x 812 drivers/regulator/wm831x-dcdc.c dev_err(wm831x->dev, "Failed to register EPE%d: %d\n", wm831x 29 drivers/regulator/wm831x-isink.c struct wm831x *wm831x; wm831x 36 drivers/regulator/wm831x-isink.c struct wm831x *wm831x = isink->wm831x; wm831x 40 drivers/regulator/wm831x-isink.c ret = wm831x_set_bits(wm831x, isink->reg, WM831X_CS1_ENA, wm831x 46 drivers/regulator/wm831x-isink.c ret = wm831x_set_bits(wm831x, isink->reg, WM831X_CS1_DRIVE, wm831x 49 drivers/regulator/wm831x-isink.c wm831x_set_bits(wm831x, isink->reg, WM831X_CS1_ENA, 0); wm831x 58 drivers/regulator/wm831x-isink.c struct wm831x *wm831x = isink->wm831x; wm831x 61 drivers/regulator/wm831x-isink.c ret = wm831x_set_bits(wm831x, isink->reg, WM831X_CS1_DRIVE, 0); wm831x 65 drivers/regulator/wm831x-isink.c ret = wm831x_set_bits(wm831x, isink->reg, WM831X_CS1_ENA, 0); wm831x 76 drivers/regulator/wm831x-isink.c struct wm831x *wm831x = isink->wm831x; wm831x 79 drivers/regulator/wm831x-isink.c ret = wm831x_reg_read(wm831x, isink->reg); wm831x 114 drivers/regulator/wm831x-isink.c struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent); wm831x 115 drivers/regulator/wm831x-isink.c struct wm831x_pdata *pdata = dev_get_platdata(wm831x->dev); wm831x 132 drivers/regulator/wm831x-isink.c isink->wm831x = wm831x; wm831x 159 drivers/regulator/wm831x-isink.c config.regmap = wm831x->regmap; wm831x 165 drivers/regulator/wm831x-isink.c dev_err(wm831x->dev, "Failed to register ISINK%d: %d\n", wm831x 170 drivers/regulator/wm831x-isink.c irq = wm831x_irq(wm831x, platform_get_irq(pdev, 0)); wm831x 37 drivers/regulator/wm831x-ldo.c struct wm831x *wm831x; wm831x 71 drivers/regulator/wm831x-ldo.c struct wm831x *wm831x = ldo->wm831x; wm831x 78 drivers/regulator/wm831x-ldo.c return wm831x_set_bits(wm831x, reg, WM831X_LDO1_ON_VSEL_MASK, sel); wm831x 84 drivers/regulator/wm831x-ldo.c struct wm831x *wm831x = ldo->wm831x; wm831x 89 drivers/regulator/wm831x-ldo.c ret = wm831x_reg_read(wm831x, on_reg); wm831x 96 drivers/regulator/wm831x-ldo.c ret = wm831x_reg_read(wm831x, ctrl_reg); wm831x 110 drivers/regulator/wm831x-ldo.c struct wm831x *wm831x = ldo->wm831x; wm831x 118 drivers/regulator/wm831x-ldo.c ret = wm831x_set_bits(wm831x, on_reg, wm831x 125 drivers/regulator/wm831x-ldo.c ret = wm831x_set_bits(wm831x, ctrl_reg, wm831x 130 drivers/regulator/wm831x-ldo.c ret = wm831x_set_bits(wm831x, on_reg, wm831x 138 drivers/regulator/wm831x-ldo.c ret = wm831x_set_bits(wm831x, ctrl_reg, wm831x 144 drivers/regulator/wm831x-ldo.c ret = wm831x_set_bits(wm831x, on_reg, wm831x 161 drivers/regulator/wm831x-ldo.c struct wm831x *wm831x = ldo->wm831x; wm831x 166 drivers/regulator/wm831x-ldo.c ret = wm831x_reg_read(wm831x, WM831X_LDO_STATUS); wm831x 173 drivers/regulator/wm831x-ldo.c ret = wm831x_reg_read(wm831x, WM831X_LDO_UV_STATUS); wm831x 218 drivers/regulator/wm831x-ldo.c struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent); wm831x 219 drivers/regulator/wm831x-ldo.c struct wm831x_pdata *pdata = dev_get_platdata(wm831x->dev); wm831x 238 drivers/regulator/wm831x-ldo.c ldo->wm831x = wm831x; wm831x 273 drivers/regulator/wm831x-ldo.c config.regmap = wm831x->regmap; wm831x 279 drivers/regulator/wm831x-ldo.c dev_err(wm831x->dev, "Failed to register LDO%d: %d\n", wm831x 284 drivers/regulator/wm831x-ldo.c irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "UV")); wm831x 324 drivers/regulator/wm831x-ldo.c struct wm831x *wm831x = ldo->wm831x; wm831x 331 drivers/regulator/wm831x-ldo.c return wm831x_set_bits(wm831x, reg, WM831X_LDO7_ON_VSEL_MASK, sel); wm831x 337 drivers/regulator/wm831x-ldo.c struct wm831x *wm831x = ldo->wm831x; wm831x 341 drivers/regulator/wm831x-ldo.c ret = wm831x_reg_read(wm831x, on_reg); wm831x 355 drivers/regulator/wm831x-ldo.c struct wm831x *wm831x = ldo->wm831x; wm831x 362 drivers/regulator/wm831x-ldo.c ret = wm831x_set_bits(wm831x, on_reg, WM831X_LDO7_ON_MODE, 0); wm831x 368 drivers/regulator/wm831x-ldo.c ret = wm831x_set_bits(wm831x, on_reg, WM831X_LDO7_ON_MODE, wm831x 384 drivers/regulator/wm831x-ldo.c struct wm831x *wm831x = ldo->wm831x; wm831x 389 drivers/regulator/wm831x-ldo.c ret = wm831x_reg_read(wm831x, WM831X_LDO_STATUS); wm831x 396 drivers/regulator/wm831x-ldo.c ret = wm831x_reg_read(wm831x, WM831X_LDO_UV_STATUS); wm831x 428 drivers/regulator/wm831x-ldo.c struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent); wm831x 429 drivers/regulator/wm831x-ldo.c struct wm831x_pdata *pdata = dev_get_platdata(wm831x->dev); wm831x 448 drivers/regulator/wm831x-ldo.c ldo->wm831x = wm831x; wm831x 483 drivers/regulator/wm831x-ldo.c config.regmap = wm831x->regmap; wm831x 489 drivers/regulator/wm831x-ldo.c dev_err(wm831x->dev, "Failed to register LDO%d: %d\n", wm831x 494 drivers/regulator/wm831x-ldo.c irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "UV")); wm831x 530 drivers/regulator/wm831x-ldo.c struct wm831x *wm831x = ldo->wm831x; wm831x 537 drivers/regulator/wm831x-ldo.c return wm831x_set_bits(wm831x, reg, WM831X_LDO11_ON_VSEL_MASK, sel); wm831x 543 drivers/regulator/wm831x-ldo.c struct wm831x *wm831x = ldo->wm831x; wm831x 548 drivers/regulator/wm831x-ldo.c ret = wm831x_reg_read(wm831x, WM831X_LDO_STATUS); wm831x 572 drivers/regulator/wm831x-ldo.c struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent); wm831x 573 drivers/regulator/wm831x-ldo.c struct wm831x_pdata *pdata = dev_get_platdata(wm831x->dev); wm831x 593 drivers/regulator/wm831x-ldo.c ldo->wm831x = wm831x; wm831x 627 drivers/regulator/wm831x-ldo.c config.regmap = wm831x->regmap; wm831x 633 drivers/regulator/wm831x-ldo.c dev_err(wm831x->dev, "Failed to register LDO%d: %d\n", wm831x 90 drivers/rtc/rtc-wm831x.c struct wm831x *wm831x; wm831x 95 drivers/rtc/rtc-wm831x.c static void wm831x_rtc_add_randomness(struct wm831x *wm831x) wm831x 105 drivers/rtc/rtc-wm831x.c ret = wm831x_reg_read(wm831x, WM831X_RTC_WRITE_COUNTER); wm831x 110 drivers/rtc/rtc-wm831x.c dev_warn(wm831x->dev, "Failed to read RTC write counter: %d\n", wm831x 121 drivers/rtc/rtc-wm831x.c struct wm831x *wm831x = wm831x_rtc->wm831x; wm831x 127 drivers/rtc/rtc-wm831x.c ret = wm831x_reg_read(wm831x, WM831X_RTC_CONTROL); wm831x 141 drivers/rtc/rtc-wm831x.c ret = wm831x_bulk_read(wm831x, WM831X_RTC_TIME_1, wm831x 146 drivers/rtc/rtc-wm831x.c ret = wm831x_bulk_read(wm831x, WM831X_RTC_TIME_1, wm831x 171 drivers/rtc/rtc-wm831x.c struct wm831x *wm831x = wm831x_rtc->wm831x; wm831x 179 drivers/rtc/rtc-wm831x.c ret = wm831x_reg_write(wm831x, WM831X_RTC_TIME_1, wm831x 186 drivers/rtc/rtc-wm831x.c ret = wm831x_reg_write(wm831x, WM831X_RTC_TIME_2, time & 0xffff); wm831x 198 drivers/rtc/rtc-wm831x.c ret = wm831x_reg_read(wm831x, WM831X_RTC_CONTROL); wm831x 237 drivers/rtc/rtc-wm831x.c ret = wm831x_bulk_read(wm831x_rtc->wm831x, WM831X_RTC_ALARM_1, wm831x 248 drivers/rtc/rtc-wm831x.c ret = wm831x_reg_read(wm831x_rtc->wm831x, WM831X_RTC_CONTROL); wm831x 266 drivers/rtc/rtc-wm831x.c return wm831x_set_bits(wm831x_rtc->wm831x, WM831X_RTC_CONTROL, wm831x 274 drivers/rtc/rtc-wm831x.c return wm831x_set_bits(wm831x_rtc->wm831x, WM831X_RTC_CONTROL, wm831x 281 drivers/rtc/rtc-wm831x.c struct wm831x *wm831x = wm831x_rtc->wm831x; wm831x 293 drivers/rtc/rtc-wm831x.c ret = wm831x_reg_write(wm831x, WM831X_RTC_ALARM_1, wm831x 300 drivers/rtc/rtc-wm831x.c ret = wm831x_reg_write(wm831x, WM831X_RTC_ALARM_2, time & 0xffff); wm831x 357 drivers/rtc/rtc-wm831x.c ret = wm831x_set_bits(wm831x_rtc->wm831x, WM831X_RTC_CONTROL, wm831x 388 drivers/rtc/rtc-wm831x.c ret = wm831x_set_bits(wm831x_rtc->wm831x, WM831X_RTC_CONTROL, wm831x 403 drivers/rtc/rtc-wm831x.c struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent); wm831x 405 drivers/rtc/rtc-wm831x.c int alm_irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "ALM")); wm831x 413 drivers/rtc/rtc-wm831x.c wm831x_rtc->wm831x = wm831x; wm831x 415 drivers/rtc/rtc-wm831x.c ret = wm831x_reg_read(wm831x, WM831X_RTC_CONTROL); wm831x 446 drivers/rtc/rtc-wm831x.c wm831x_rtc_add_randomness(wm831x); wm831x 21 drivers/video/backlight/wm831x_bl.c struct wm831x *wm831x; wm831x 29 drivers/video/backlight/wm831x_bl.c struct wm831x *wm831x = data->wm831x; wm831x 36 drivers/video/backlight/wm831x_bl.c ret = wm831x_set_bits(wm831x, data->isink_reg, wm831x 42 drivers/video/backlight/wm831x_bl.c ret = wm831x_set_bits(wm831x, WM831X_DCDC_ENABLE, wm831x 50 drivers/video/backlight/wm831x_bl.c ret = wm831x_set_bits(wm831x, WM831X_DCDC_ENABLE, wm831x 56 drivers/video/backlight/wm831x_bl.c ret = wm831x_set_bits(wm831x, data->isink_reg, wm831x 63 drivers/video/backlight/wm831x_bl.c ret = wm831x_set_bits(wm831x, data->isink_reg, wm831x 70 drivers/video/backlight/wm831x_bl.c ret = wm831x_set_bits(wm831x, data->isink_reg, wm831x 85 drivers/video/backlight/wm831x_bl.c wm831x_set_bits(wm831x, WM831X_DCDC_ENABLE, WM831X_DC4_ENA, 0); wm831x 86 drivers/video/backlight/wm831x_bl.c wm831x_set_bits(wm831x, data->isink_reg, WM831X_CS1_ENA, 0); wm831x 123 drivers/video/backlight/wm831x_bl.c struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent); wm831x 174 drivers/video/backlight/wm831x_bl.c ret = wm831x_reg_unlock(wm831x); wm831x 178 drivers/video/backlight/wm831x_bl.c ret = wm831x_set_bits(wm831x, WM831X_DC4_CONTROL, WM831X_DC4_FBSRC, wm831x 181 drivers/video/backlight/wm831x_bl.c wm831x_reg_lock(wm831x); wm831x 189 drivers/video/backlight/wm831x_bl.c data->wm831x = wm831x; wm831x 208 drivers/video/backlight/wm831x_bl.c wm831x_set_bits(wm831x, WM831X_DCDC_ENABLE, WM831X_DC4_ENA, 0); wm831x 30 drivers/watchdog/wm831x_wdt.c struct wm831x *wm831x; wm831x 54 drivers/watchdog/wm831x_wdt.c struct wm831x *wm831x = driver_data->wm831x; wm831x 59 drivers/watchdog/wm831x_wdt.c ret = wm831x_reg_unlock(wm831x); wm831x 61 drivers/watchdog/wm831x_wdt.c ret = wm831x_set_bits(wm831x, WM831X_WATCHDOG, wm831x 63 drivers/watchdog/wm831x_wdt.c wm831x_reg_lock(wm831x); wm831x 65 drivers/watchdog/wm831x_wdt.c dev_err(wm831x->dev, "Failed to unlock security key: %d\n", wm831x 77 drivers/watchdog/wm831x_wdt.c struct wm831x *wm831x = driver_data->wm831x; wm831x 82 drivers/watchdog/wm831x_wdt.c ret = wm831x_reg_unlock(wm831x); wm831x 84 drivers/watchdog/wm831x_wdt.c ret = wm831x_set_bits(wm831x, WM831X_WATCHDOG, wm831x 86 drivers/watchdog/wm831x_wdt.c wm831x_reg_lock(wm831x); wm831x 88 drivers/watchdog/wm831x_wdt.c dev_err(wm831x->dev, "Failed to unlock security key: %d\n", wm831x 100 drivers/watchdog/wm831x_wdt.c struct wm831x *wm831x = driver_data->wm831x; wm831x 114 drivers/watchdog/wm831x_wdt.c reg = wm831x_reg_read(wm831x, WM831X_WATCHDOG); wm831x 117 drivers/watchdog/wm831x_wdt.c dev_err(wm831x->dev, "Hardware watchdog update unsupported\n"); wm831x 124 drivers/watchdog/wm831x_wdt.c ret = wm831x_reg_unlock(wm831x); wm831x 126 drivers/watchdog/wm831x_wdt.c ret = wm831x_reg_write(wm831x, WM831X_WATCHDOG, reg); wm831x 127 drivers/watchdog/wm831x_wdt.c wm831x_reg_lock(wm831x); wm831x 129 drivers/watchdog/wm831x_wdt.c dev_err(wm831x->dev, "Failed to unlock security key: %d\n", wm831x 143 drivers/watchdog/wm831x_wdt.c struct wm831x *wm831x = driver_data->wm831x; wm831x 152 drivers/watchdog/wm831x_wdt.c ret = wm831x_reg_unlock(wm831x); wm831x 154 drivers/watchdog/wm831x_wdt.c ret = wm831x_set_bits(wm831x, WM831X_WATCHDOG, wm831x 157 drivers/watchdog/wm831x_wdt.c wm831x_reg_lock(wm831x); wm831x 159 drivers/watchdog/wm831x_wdt.c dev_err(wm831x->dev, "Failed to unlock security key: %d\n", wm831x 184 drivers/watchdog/wm831x_wdt.c struct wm831x *wm831x = dev_get_drvdata(dev->parent); wm831x 191 drivers/watchdog/wm831x_wdt.c ret = wm831x_reg_read(wm831x, WM831X_WATCHDOG); wm831x 193 drivers/watchdog/wm831x_wdt.c dev_err(wm831x->dev, "Failed to read watchdog status: %d\n", wm831x 200 drivers/watchdog/wm831x_wdt.c dev_warn(wm831x->dev, "Watchdog is paused\n"); wm831x 207 drivers/watchdog/wm831x_wdt.c driver_data->wm831x = wm831x; wm831x 217 drivers/watchdog/wm831x_wdt.c reg = wm831x_reg_read(wm831x, WM831X_WATCHDOG); wm831x 223 drivers/watchdog/wm831x_wdt.c dev_warn(wm831x->dev, wm831x 247 drivers/watchdog/wm831x_wdt.c dev_err(wm831x->dev, wm831x 259 drivers/watchdog/wm831x_wdt.c ret = wm831x_reg_unlock(wm831x); wm831x 261 drivers/watchdog/wm831x_wdt.c ret = wm831x_reg_write(wm831x, WM831X_WATCHDOG, reg); wm831x 262 drivers/watchdog/wm831x_wdt.c wm831x_reg_lock(wm831x); wm831x 264 drivers/watchdog/wm831x_wdt.c dev_err(wm831x->dev, wm831x 13 include/linux/mfd/wm831x/auxadc.h struct wm831x; wm831x 210 include/linux/mfd/wm831x/auxadc.h int wm831x_auxadc_read(struct wm831x *wm831x, enum wm831x_auxadc input); wm831x 211 include/linux/mfd/wm831x/auxadc.h int wm831x_auxadc_read_uv(struct wm831x *wm831x, enum wm831x_auxadc input); wm831x 355 include/linux/mfd/wm831x/core.h struct wm831x; wm831x 357 include/linux/mfd/wm831x/core.h typedef int (*wm831x_auxadc_read_fn)(struct wm831x *wm831x, wm831x 405 include/linux/mfd/wm831x/core.h int wm831x_reg_read(struct wm831x *wm831x, unsigned short reg); wm831x 406 include/linux/mfd/wm831x/core.h int wm831x_reg_write(struct wm831x *wm831x, unsigned short reg, wm831x 408 include/linux/mfd/wm831x/core.h void wm831x_reg_lock(struct wm831x *wm831x); wm831x 409 include/linux/mfd/wm831x/core.h int wm831x_reg_unlock(struct wm831x *wm831x); wm831x 410 include/linux/mfd/wm831x/core.h int wm831x_set_bits(struct wm831x *wm831x, unsigned short reg, wm831x 412 include/linux/mfd/wm831x/core.h int wm831x_bulk_read(struct wm831x *wm831x, unsigned short reg, wm831x 415 include/linux/mfd/wm831x/core.h int wm831x_device_init(struct wm831x *wm831x, int irq); wm831x 416 include/linux/mfd/wm831x/core.h int wm831x_device_suspend(struct wm831x *wm831x); wm831x 417 include/linux/mfd/wm831x/core.h void wm831x_device_shutdown(struct wm831x *wm831x); wm831x 418 include/linux/mfd/wm831x/core.h int wm831x_irq_init(struct wm831x *wm831x, int irq); wm831x 419 include/linux/mfd/wm831x/core.h void wm831x_irq_exit(struct wm831x *wm831x); wm831x 420 include/linux/mfd/wm831x/core.h void wm831x_auxadc_init(struct wm831x *wm831x); wm831x 422 include/linux/mfd/wm831x/core.h static inline int wm831x_irq(struct wm831x *wm831x, int irq) wm831x 424 include/linux/mfd/wm831x/core.h return irq_create_mapping(wm831x->irq_domain, irq); wm831x 13 include/linux/mfd/wm831x/otp.h int wm831x_otp_init(struct wm831x *wm831x); wm831x 14 include/linux/mfd/wm831x/otp.h void wm831x_otp_exit(struct wm831x *wm831x); wm831x 13 include/linux/mfd/wm831x/pdata.h struct wm831x; wm831x 110 include/linux/mfd/wm831x/pdata.h int (*pre_init)(struct wm831x *wm831x); wm831x 112 include/linux/mfd/wm831x/pdata.h int (*post_init)(struct wm831x *wm831x);