Commit eb4f07a5 authored by Mircea Caprioru's avatar Mircea Caprioru Committed by Jonathan Cameron

staging: iio: adc: ad7192: Convert platform data to DT properties

This patch will remove platform data members and replace them with device
tree properties. These properties will be subject to further modifications
and probably replaced with other functionalities at some point in time.
Signed-off-by: default avatarMircea Caprioru <mircea.caprioru@analog.com>
Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent 6be4f554
...@@ -250,10 +250,11 @@ static int ad7192_of_clock_select(struct ad7192_state *st) ...@@ -250,10 +250,11 @@ static int ad7192_of_clock_select(struct ad7192_state *st)
return clock_sel; return clock_sel;
} }
static int ad7192_setup(struct ad7192_state *st, static int ad7192_setup(struct ad7192_state *st, struct device_node *np)
const struct ad7192_platform_data *pdata)
{ {
struct iio_dev *indio_dev = spi_get_drvdata(st->sd.spi); struct iio_dev *indio_dev = spi_get_drvdata(st->sd.spi);
bool rej60_en, sinc3_en, refin2_en, chop_en;
bool buf_en, bipolar, burnout_curr_en;
unsigned long long scale_uv; unsigned long long scale_uv;
int i, ret, id; int i, ret, id;
...@@ -280,18 +281,22 @@ static int ad7192_setup(struct ad7192_state *st, ...@@ -280,18 +281,22 @@ static int ad7192_setup(struct ad7192_state *st,
st->conf = AD7192_CONF_GAIN(0); st->conf = AD7192_CONF_GAIN(0);
if (pdata->rej60_en) rej60_en = of_property_read_bool(np, "adi,rejection-60-Hz-enable");
if (rej60_en)
st->mode |= AD7192_MODE_REJ60; st->mode |= AD7192_MODE_REJ60;
if (pdata->sinc3_en) sinc3_en = of_property_read_bool(np, "adi,sinc3-filter-enable");
if (sinc3_en)
st->mode |= AD7192_MODE_SINC3; st->mode |= AD7192_MODE_SINC3;
if (pdata->refin2_en && st->devid != ID_AD7195) refin2_en = of_property_read_bool(np, "adi,refin2-pins-enable");
if (refin2_en && st->devid != ID_AD7195)
st->conf |= AD7192_CONF_REFSEL; st->conf |= AD7192_CONF_REFSEL;
if (pdata->chop_en) { chop_en = of_property_read_bool(np, "adi,chop-enable");
if (chop_en) {
st->conf |= AD7192_CONF_CHOP; st->conf |= AD7192_CONF_CHOP;
if (pdata->sinc3_en) if (sinc3_en)
st->f_order = 3; /* SINC 3rd order */ st->f_order = 3; /* SINC 3rd order */
else else
st->f_order = 4; /* SINC 4th order */ st->f_order = 4; /* SINC 4th order */
...@@ -299,15 +304,19 @@ static int ad7192_setup(struct ad7192_state *st, ...@@ -299,15 +304,19 @@ static int ad7192_setup(struct ad7192_state *st,
st->f_order = 1; st->f_order = 1;
} }
if (pdata->buf_en) buf_en = of_property_read_bool(np, "adi,buffer-enable");
if (buf_en)
st->conf |= AD7192_CONF_BUF; st->conf |= AD7192_CONF_BUF;
if (pdata->unipolar_en) bipolar = of_property_read_bool(np, "bipolar");
if (!bipolar)
st->conf |= AD7192_CONF_UNIPOLAR; st->conf |= AD7192_CONF_UNIPOLAR;
if (pdata->burnout_curr_en && pdata->buf_en && !pdata->chop_en) { burnout_curr_en = of_property_read_bool(np,
"adi,burnout-currents-enable");
if (burnout_curr_en && buf_en && !chop_en) {
st->conf |= AD7192_CONF_BURN; st->conf |= AD7192_CONF_BURN;
} else if (pdata->burnout_curr_en) { } else if (burnout_curr_en) {
dev_warn(&st->sd.spi->dev, dev_warn(&st->sd.spi->dev,
"Can't enable burnout currents: see CHOP or buffer\n"); "Can't enable burnout currents: see CHOP or buffer\n");
} }
...@@ -735,7 +744,7 @@ static int ad7192_probe(struct spi_device *spi) ...@@ -735,7 +744,7 @@ static int ad7192_probe(struct spi_device *spi)
} }
} }
ret = ad7192_setup(st, pdata); ret = ad7192_setup(st, spi->dev.of_node);
if (ret) if (ret)
goto error_disable_clk; goto error_disable_clk;
......
...@@ -33,13 +33,6 @@ ...@@ -33,13 +33,6 @@
struct ad7192_platform_data { struct ad7192_platform_data {
u16 vref_mv; u16 vref_mv;
bool refin2_en;
bool rej60_en;
bool sinc3_en;
bool chop_en;
bool buf_en;
bool unipolar_en;
bool burnout_curr_en;
}; };
#endif /* IIO_ADC_AD7192_H_ */ #endif /* IIO_ADC_AD7192_H_ */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment