• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/mfd/

Lines Matching defs:reg

70 static int wm8350_phys_read(struct wm8350 *wm8350, u8 reg, int num_regs,
77 ret = wm8350->read_dev(wm8350, reg, bytes, (char *)dest);
79 for (i = reg; i < reg + num_regs; i++) {
81 dest[i - reg] = be16_to_cpu(dest[i - reg]);
84 dest[i - reg] &= wm8350_reg_io_map[i].readable;
92 static int wm8350_read(struct wm8350 *wm8350, u8 reg, int num_regs, u16 *dest)
95 int end = reg + num_regs;
102 if ((reg + num_regs - 1) > WM8350_MAX_REGISTER) {
103 dev_err(wm8350->dev, "invalid reg %x\n",
104 reg + num_regs - 1);
109 "%s R%d(0x%2.2x) %d regs\n", __func__, reg, reg, num_regs);
113 for (i = reg; i < end; i++) {
116 "reg R%d is not readable\n", i);
121 for (i = reg; i < end; i++)
123 return wm8350_phys_read(wm8350, reg, num_regs, dest);
127 memcpy(dest, &wm8350->reg_cache[reg], bytes);
132 static inline int is_reg_locked(struct wm8350 *wm8350, u8 reg)
134 if (reg == WM8350_SECURITY ||
138 if ((reg >= WM8350_GPIO_FUNCTION_SELECT_1 &&
139 reg <= WM8350_GPIO_FUNCTION_SELECT_4) ||
140 (reg >= WM8350_BATTERY_CHARGER_CONTROL_1 &&
141 reg <= WM8350_BATTERY_CHARGER_CONTROL_3))
146 static int wm8350_write(struct wm8350 *wm8350, u8 reg, int num_regs, u16 *src)
149 int end = reg + num_regs;
155 if ((reg + num_regs - 1) > WM8350_MAX_REGISTER) {
156 dev_err(wm8350->dev, "invalid reg %x\n",
157 reg + num_regs - 1);
162 for (i = reg; i < end; i++) {
165 "attempted write to read only reg R%d\n", i);
171 "attempted write to locked reg R%d\n", i);
175 src[i - reg] &= wm8350_reg_io_map[i].writable;
179 | src[i - reg];
181 src[i - reg] = cpu_to_be16(src[i - reg]);
185 return wm8350->write_dev(wm8350, reg, bytes, (char *)src);
191 int wm8350_clear_bits(struct wm8350 *wm8350, u16 reg, u16 mask)
197 err = wm8350_read(wm8350, reg, 1, &data);
199 dev_err(wm8350->dev, "read from reg R%d failed\n", reg);
204 err = wm8350_write(wm8350, reg, 1, &data);
206 dev_err(wm8350->dev, "write to reg R%d failed\n", reg);
213 int wm8350_set_bits(struct wm8350 *wm8350, u16 reg, u16 mask)
219 err = wm8350_read(wm8350, reg, 1, &data);
221 dev_err(wm8350->dev, "read from reg R%d failed\n", reg);
226 err = wm8350_write(wm8350, reg, 1, &data);
228 dev_err(wm8350->dev, "write to reg R%d failed\n", reg);
235 u16 wm8350_reg_read(struct wm8350 *wm8350, int reg)
241 err = wm8350_read(wm8350, reg, 1, &data);
243 dev_err(wm8350->dev, "read from reg R%d failed\n", reg);
250 int wm8350_reg_write(struct wm8350 *wm8350, int reg, u16 val)
256 ret = wm8350_write(wm8350, reg, 1, &data);
258 dev_err(wm8350->dev, "write to reg R%d failed\n", reg);
342 u16 reg, result = 0;
353 reg = wm8350_reg_read(wm8350, WM8350_POWER_MGMT_5);
354 wm8350_reg_write(wm8350, WM8350_POWER_MGMT_5, reg | WM8350_AUXADC_ENA);
357 reg = scale << 13;
358 reg |= vref << 12;
359 wm8350_reg_write(wm8350, WM8350_AUX1_READBACK + channel, reg);
362 reg = wm8350_reg_read(wm8350, WM8350_DIGITISER_CONTROL_1);
363 reg |= 1 << channel | WM8350_AUXADC_POLL;
364 wm8350_reg_write(wm8350, WM8350_DIGITISER_CONTROL_1, reg);
375 reg = wm8350_reg_read(wm8350, WM8350_DIGITISER_CONTROL_1);
376 if (reg & WM8350_AUXADC_POLL)
383 reg = wm8350_reg_read(wm8350, WM8350_POWER_MGMT_5);
385 reg & ~WM8350_AUXADC_ENA);