Lines Matching defs:ti_dac
58 static u8 ti_dac_get_power(struct ti_dac_chip *ti_dac, bool powerdown)
61 return ti_dac->powerdown_mode + 1;
66 static int ti_dac_cmd(struct ti_dac_chip *ti_dac, u8 power, u16 val)
68 u8 shift = 14 - ti_dac->resolution;
70 ti_dac->buf[0] = (val << shift) & 0xFF;
71 ti_dac->buf[1] = (power << 6) | (val >> (8 - shift));
72 return spi_write(ti_dac->spi, ti_dac->buf, 2);
84 struct ti_dac_chip *ti_dac = iio_priv(indio_dev);
86 return ti_dac->powerdown_mode;
93 struct ti_dac_chip *ti_dac = iio_priv(indio_dev);
95 ti_dac->powerdown_mode = mode;
111 struct ti_dac_chip *ti_dac = iio_priv(indio_dev);
113 return sprintf(buf, "%d\n", ti_dac->powerdown);
121 struct ti_dac_chip *ti_dac = iio_priv(indio_dev);
130 power = ti_dac_get_power(ti_dac, powerdown);
132 mutex_lock(&ti_dac->lock);
133 ret = ti_dac_cmd(ti_dac, power, 0);
135 ti_dac->powerdown = powerdown;
136 mutex_unlock(&ti_dac->lock);
170 struct ti_dac_chip *ti_dac = iio_priv(indio_dev);
175 *val = ti_dac->val;
179 ret = regulator_get_voltage(ti_dac->vref);
184 *val2 = ti_dac->resolution;
195 struct ti_dac_chip *ti_dac = iio_priv(indio_dev);
196 u8 power = ti_dac_get_power(ti_dac, ti_dac->powerdown);
201 if (ti_dac->val == val)
204 if (val >= (1 << ti_dac->resolution) || val < 0)
207 if (ti_dac->powerdown)
210 mutex_lock(&ti_dac->lock);
211 ret = ti_dac_cmd(ti_dac, power, val);
213 ti_dac->val = val;
214 mutex_unlock(&ti_dac->lock);
240 struct ti_dac_chip *ti_dac;
244 indio_dev = devm_iio_device_alloc(dev, sizeof(*ti_dac));
260 ti_dac = iio_priv(indio_dev);
261 ti_dac->powerdown = false;
262 ti_dac->spi = spi;
266 ti_dac->resolution = spec->resolution;
268 ti_dac->vref = devm_regulator_get(dev, "vref");
269 if (IS_ERR(ti_dac->vref)) {
271 return PTR_ERR(ti_dac->vref);
274 ret = regulator_enable(ti_dac->vref);
280 mutex_init(&ti_dac->lock);
291 mutex_destroy(&ti_dac->lock);
292 regulator_disable(ti_dac->vref);
299 struct ti_dac_chip *ti_dac = iio_priv(indio_dev);
302 mutex_destroy(&ti_dac->lock);
303 regulator_disable(ti_dac->vref);