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);