ti_dac 65 drivers/iio/dac/ti-dac082s085.c static int ti_dac_cmd(struct ti_dac_chip *ti_dac, u8 cmd, u16 val) ti_dac 67 drivers/iio/dac/ti-dac082s085.c u8 shift = 12 - ti_dac->resolution; ti_dac 69 drivers/iio/dac/ti-dac082s085.c ti_dac->buf[0] = cmd | (val >> (8 - shift)); ti_dac 70 drivers/iio/dac/ti-dac082s085.c ti_dac->buf[1] = (val << shift) & 0xff; ti_dac 71 drivers/iio/dac/ti-dac082s085.c return spi_sync(ti_dac->mesg.spi, &ti_dac->mesg); ti_dac 81 drivers/iio/dac/ti-dac082s085.c struct ti_dac_chip *ti_dac = iio_priv(indio_dev); ti_dac 83 drivers/iio/dac/ti-dac082s085.c return ti_dac->powerdown_mode; ti_dac 90 drivers/iio/dac/ti-dac082s085.c struct ti_dac_chip *ti_dac = iio_priv(indio_dev); ti_dac 93 drivers/iio/dac/ti-dac082s085.c if (ti_dac->powerdown_mode == mode) ti_dac 96 drivers/iio/dac/ti-dac082s085.c mutex_lock(&ti_dac->lock); ti_dac 97 drivers/iio/dac/ti-dac082s085.c if (ti_dac->powerdown) { ti_dac 98 drivers/iio/dac/ti-dac082s085.c ret = ti_dac_cmd(ti_dac, POWERDOWN(mode), 0); ti_dac 102 drivers/iio/dac/ti-dac082s085.c ti_dac->powerdown_mode = mode; ti_dac 105 drivers/iio/dac/ti-dac082s085.c mutex_unlock(&ti_dac->lock); ti_dac 121 drivers/iio/dac/ti-dac082s085.c struct ti_dac_chip *ti_dac = iio_priv(indio_dev); ti_dac 123 drivers/iio/dac/ti-dac082s085.c return sprintf(buf, "%d\n", ti_dac->powerdown); ti_dac 131 drivers/iio/dac/ti-dac082s085.c struct ti_dac_chip *ti_dac = iio_priv(indio_dev); ti_dac 139 drivers/iio/dac/ti-dac082s085.c if (ti_dac->powerdown == powerdown) ti_dac 142 drivers/iio/dac/ti-dac082s085.c mutex_lock(&ti_dac->lock); ti_dac 144 drivers/iio/dac/ti-dac082s085.c ret = ti_dac_cmd(ti_dac, POWERDOWN(ti_dac->powerdown_mode), 0); ti_dac 146 drivers/iio/dac/ti-dac082s085.c ret = ti_dac_cmd(ti_dac, WRITE_AND_UPDATE(0), ti_dac->val[0]); ti_dac 148 drivers/iio/dac/ti-dac082s085.c ti_dac->powerdown = powerdown; ti_dac 149 drivers/iio/dac/ti-dac082s085.c mutex_unlock(&ti_dac->lock); ti_dac 189 drivers/iio/dac/ti-dac082s085.c struct ti_dac_chip *ti_dac = iio_priv(indio_dev); ti_dac 194 drivers/iio/dac/ti-dac082s085.c *val = ti_dac->val[chan->channel]; ti_dac 199 drivers/iio/dac/ti-dac082s085.c ret = regulator_get_voltage(ti_dac->vref); ti_dac 204 drivers/iio/dac/ti-dac082s085.c *val2 = ti_dac->resolution; ti_dac 219 drivers/iio/dac/ti-dac082s085.c struct ti_dac_chip *ti_dac = iio_priv(indio_dev); ti_dac 224 drivers/iio/dac/ti-dac082s085.c if (ti_dac->val[chan->channel] == val) ti_dac 227 drivers/iio/dac/ti-dac082s085.c if (val >= (1 << ti_dac->resolution) || val < 0) ti_dac 230 drivers/iio/dac/ti-dac082s085.c if (ti_dac->powerdown) ti_dac 233 drivers/iio/dac/ti-dac082s085.c mutex_lock(&ti_dac->lock); ti_dac 234 drivers/iio/dac/ti-dac082s085.c ret = ti_dac_cmd(ti_dac, WRITE_AND_UPDATE(chan->channel), val); ti_dac 236 drivers/iio/dac/ti-dac082s085.c ti_dac->val[chan->channel] = val; ti_dac 237 drivers/iio/dac/ti-dac082s085.c mutex_unlock(&ti_dac->lock); ti_dac 263 drivers/iio/dac/ti-dac082s085.c struct ti_dac_chip *ti_dac; ti_dac 267 drivers/iio/dac/ti-dac082s085.c indio_dev = devm_iio_device_alloc(dev, sizeof(*ti_dac)); ti_dac 278 drivers/iio/dac/ti-dac082s085.c ti_dac = iio_priv(indio_dev); ti_dac 279 drivers/iio/dac/ti-dac082s085.c ti_dac->xfer.tx_buf = &ti_dac->buf; ti_dac 280 drivers/iio/dac/ti-dac082s085.c ti_dac->xfer.len = sizeof(ti_dac->buf); ti_dac 281 drivers/iio/dac/ti-dac082s085.c spi_message_init_with_transfers(&ti_dac->mesg, &ti_dac->xfer, 1); ti_dac 282 drivers/iio/dac/ti-dac082s085.c ti_dac->mesg.spi = spi; ti_dac 286 drivers/iio/dac/ti-dac082s085.c ti_dac->resolution = spec->resolution; ti_dac 288 drivers/iio/dac/ti-dac082s085.c ti_dac->vref = devm_regulator_get(dev, "vref"); ti_dac 289 drivers/iio/dac/ti-dac082s085.c if (IS_ERR(ti_dac->vref)) ti_dac 290 drivers/iio/dac/ti-dac082s085.c return PTR_ERR(ti_dac->vref); ti_dac 292 drivers/iio/dac/ti-dac082s085.c ret = regulator_enable(ti_dac->vref); ti_dac 296 drivers/iio/dac/ti-dac082s085.c mutex_init(&ti_dac->lock); ti_dac 298 drivers/iio/dac/ti-dac082s085.c ret = ti_dac_cmd(ti_dac, WRITE_ALL_UPDATE, 0); ti_dac 311 drivers/iio/dac/ti-dac082s085.c mutex_destroy(&ti_dac->lock); ti_dac 312 drivers/iio/dac/ti-dac082s085.c regulator_disable(ti_dac->vref); ti_dac 319 drivers/iio/dac/ti-dac082s085.c struct ti_dac_chip *ti_dac = iio_priv(indio_dev); ti_dac 322 drivers/iio/dac/ti-dac082s085.c mutex_destroy(&ti_dac->lock); ti_dac 323 drivers/iio/dac/ti-dac082s085.c regulator_disable(ti_dac->vref); ti_dac 58 drivers/iio/dac/ti-dac7311.c static u8 ti_dac_get_power(struct ti_dac_chip *ti_dac, bool powerdown) ti_dac 61 drivers/iio/dac/ti-dac7311.c return ti_dac->powerdown_mode + 1; ti_dac 66 drivers/iio/dac/ti-dac7311.c static int ti_dac_cmd(struct ti_dac_chip *ti_dac, u8 power, u16 val) ti_dac 68 drivers/iio/dac/ti-dac7311.c u8 shift = 14 - ti_dac->resolution; ti_dac 70 drivers/iio/dac/ti-dac7311.c ti_dac->buf[0] = (val << shift) & 0xFF; ti_dac 71 drivers/iio/dac/ti-dac7311.c ti_dac->buf[1] = (power << 6) | (val >> (8 - shift)); ti_dac 72 drivers/iio/dac/ti-dac7311.c return spi_write(ti_dac->spi, ti_dac->buf, 2); ti_dac 84 drivers/iio/dac/ti-dac7311.c struct ti_dac_chip *ti_dac = iio_priv(indio_dev); ti_dac 86 drivers/iio/dac/ti-dac7311.c return ti_dac->powerdown_mode; ti_dac 93 drivers/iio/dac/ti-dac7311.c struct ti_dac_chip *ti_dac = iio_priv(indio_dev); ti_dac 95 drivers/iio/dac/ti-dac7311.c ti_dac->powerdown_mode = mode; ti_dac 111 drivers/iio/dac/ti-dac7311.c struct ti_dac_chip *ti_dac = iio_priv(indio_dev); ti_dac 113 drivers/iio/dac/ti-dac7311.c return sprintf(buf, "%d\n", ti_dac->powerdown); ti_dac 121 drivers/iio/dac/ti-dac7311.c struct ti_dac_chip *ti_dac = iio_priv(indio_dev); ti_dac 130 drivers/iio/dac/ti-dac7311.c power = ti_dac_get_power(ti_dac, powerdown); ti_dac 132 drivers/iio/dac/ti-dac7311.c mutex_lock(&ti_dac->lock); ti_dac 133 drivers/iio/dac/ti-dac7311.c ret = ti_dac_cmd(ti_dac, power, 0); ti_dac 135 drivers/iio/dac/ti-dac7311.c ti_dac->powerdown = powerdown; ti_dac 136 drivers/iio/dac/ti-dac7311.c mutex_unlock(&ti_dac->lock); ti_dac 170 drivers/iio/dac/ti-dac7311.c struct ti_dac_chip *ti_dac = iio_priv(indio_dev); ti_dac 175 drivers/iio/dac/ti-dac7311.c *val = ti_dac->val; ti_dac 179 drivers/iio/dac/ti-dac7311.c ret = regulator_get_voltage(ti_dac->vref); ti_dac 184 drivers/iio/dac/ti-dac7311.c *val2 = ti_dac->resolution; ti_dac 195 drivers/iio/dac/ti-dac7311.c struct ti_dac_chip *ti_dac = iio_priv(indio_dev); ti_dac 196 drivers/iio/dac/ti-dac7311.c u8 power = ti_dac_get_power(ti_dac, ti_dac->powerdown); ti_dac 201 drivers/iio/dac/ti-dac7311.c if (ti_dac->val == val) ti_dac 204 drivers/iio/dac/ti-dac7311.c if (val >= (1 << ti_dac->resolution) || val < 0) ti_dac 207 drivers/iio/dac/ti-dac7311.c if (ti_dac->powerdown) ti_dac 210 drivers/iio/dac/ti-dac7311.c mutex_lock(&ti_dac->lock); ti_dac 211 drivers/iio/dac/ti-dac7311.c ret = ti_dac_cmd(ti_dac, power, val); ti_dac 213 drivers/iio/dac/ti-dac7311.c ti_dac->val = val; ti_dac 214 drivers/iio/dac/ti-dac7311.c mutex_unlock(&ti_dac->lock); ti_dac 240 drivers/iio/dac/ti-dac7311.c struct ti_dac_chip *ti_dac; ti_dac 244 drivers/iio/dac/ti-dac7311.c indio_dev = devm_iio_device_alloc(dev, sizeof(*ti_dac)); ti_dac 262 drivers/iio/dac/ti-dac7311.c ti_dac = iio_priv(indio_dev); ti_dac 263 drivers/iio/dac/ti-dac7311.c ti_dac->powerdown = false; ti_dac 264 drivers/iio/dac/ti-dac7311.c ti_dac->spi = spi; ti_dac 268 drivers/iio/dac/ti-dac7311.c ti_dac->resolution = spec->resolution; ti_dac 270 drivers/iio/dac/ti-dac7311.c ti_dac->vref = devm_regulator_get(dev, "vref"); ti_dac 271 drivers/iio/dac/ti-dac7311.c if (IS_ERR(ti_dac->vref)) { ti_dac 273 drivers/iio/dac/ti-dac7311.c return PTR_ERR(ti_dac->vref); ti_dac 276 drivers/iio/dac/ti-dac7311.c ret = regulator_enable(ti_dac->vref); ti_dac 282 drivers/iio/dac/ti-dac7311.c mutex_init(&ti_dac->lock); ti_dac 293 drivers/iio/dac/ti-dac7311.c mutex_destroy(&ti_dac->lock); ti_dac 294 drivers/iio/dac/ti-dac7311.c regulator_disable(ti_dac->vref); ti_dac 301 drivers/iio/dac/ti-dac7311.c struct ti_dac_chip *ti_dac = iio_priv(indio_dev); ti_dac 304 drivers/iio/dac/ti-dac7311.c mutex_destroy(&ti_dac->lock); ti_dac 305 drivers/iio/dac/ti-dac7311.c regulator_disable(ti_dac->vref);