/** * struct ad5761_chip_info - chip specific information * @int_vref: Value of the internal reference voltage in mV - 0 if external * reference voltage is used * @channel: channel specification
*/
/** * struct ad5761_state - driver instance specific data * @spi: spi_device * @use_intref: true when the internal voltage reference is used * @vref: actual voltage reference in mVolts * @range: output range mode used * @lock: lock to protect the data buffer during SPI ops * @data: cache aligned spi buffer
*/ struct ad5761_state { struct spi_device *spi; struct mutex lock;
bool use_intref; int vref; enum ad5761_voltage_range range;
/* * DMA (thus cache coherency maintenance) may require the * transfer buffers to live in their own cache lines.
*/ union {
__be32 d32;
u8 d8[4];
} data[3] __aligned(IIO_DMA_MINALIGN);
};
iio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st)); if (!iio_dev) return -ENOMEM;
st = iio_priv(iio_dev);
st->spi = spi;
ret = devm_regulator_get_enable_read_voltage(&spi->dev, "vref"); if (ret < 0 && ret != -ENODEV) return dev_err_probe(&spi->dev, ret, "Failed to get voltage reference value\n"); if (ret == -ENODEV) { /* Use Internal regulator */ if (!chip_info->int_vref) return dev_err_probe(&spi->dev, -EIO, "Voltage reference not found\n");
st->use_intref = true;
st->vref = chip_info->int_vref;
} else { if (ret < 2000000 || ret > 3000000) return dev_err_probe(&spi->dev, -EIO, "Invalid external voltage ref. value %d uV\n",
ret);
st->use_intref = false;
st->vref = ret / 1000;
}
if (pdata)
voltage_range = pdata->voltage_range;
mutex_init(&st->lock);
ret = ad5761_spi_set_range(st, voltage_range); if (ret) return ret;
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.3Bemerkung:
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.