Lines Matching refs:dac
24 * | '---' dac output voltage
56 struct dpot_dac *dac = iio_priv(indio_dev);
62 return iio_read_channel_raw(dac->dpot, val);
65 ret = iio_read_channel_scale(dac->dpot, val, val2);
69 do_div(tmp, dac->max_ohms);
70 tmp *= regulator_get_voltage(dac->vref) / 1000;
84 *val *= regulator_get_voltage(dac->vref) / 1000;
85 *val2 *= dac->max_ohms;
100 struct dpot_dac *dac = iio_priv(indio_dev);
105 return iio_read_avail_channel_raw(dac->dpot, vals, length);
115 struct dpot_dac *dac = iio_priv(indio_dev);
119 return iio_write_channel_raw(dac->dpot, val);
134 struct dpot_dac *dac = iio_priv(indio_dev);
141 ret = iio_read_max_channel_raw(dac->dpot, &max);
147 switch (iio_read_channel_scale(dac->dpot, &val, &val2)) {
169 struct dpot_dac *dac;
173 indio_dev = devm_iio_device_alloc(dev, sizeof(*dac));
178 dac = iio_priv(indio_dev);
186 dac->vref = devm_regulator_get(dev, "vref");
187 if (IS_ERR(dac->vref))
188 return dev_err_probe(&pdev->dev, PTR_ERR(dac->vref),
191 dac->dpot = devm_iio_channel_get(dev, "dpot");
192 if (IS_ERR(dac->dpot))
193 return dev_err_probe(&pdev->dev, PTR_ERR(dac->dpot),
196 ret = iio_get_channel_type(dac->dpot, &type);
208 dac->max_ohms = ret;
210 ret = regulator_enable(dac->vref);
225 regulator_disable(dac->vref);
232 struct dpot_dac *dac = iio_priv(indio_dev);
235 regulator_disable(dac->vref);
241 { .compatible = "dpot-dac" },
250 .name = "iio-dpot-dac",