Message ID | 06caedbbe394a76feedbc77edb0df2c6109217bd.1544292845.git.marcelo.schmitt1@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add devicetree support for ad5933 | expand |
On Sat, 8 Dec 2018 16:19:08 -0200 Marcelo Schmitt <marcelo.schmitt1@gmail.com> wrote: > Set a single voltage regulator for all voltage references. > Remove voltage reference value from default platafrom data struct. > > Signed-off-by: Marcelo Schmitt <marcelo.schmitt1@gmail.com> > Signed-off-by: Gabriel Capella <gabriel@capella.pro> > Co-Developed-by: Gabriel Capella <gabriel@capella.pro> Applied to the togreg branch of iio.git and pushed out as testing for the autobuilders to play with it. Thanks, Jonathan > --- > drivers/staging/iio/impedance-analyzer/ad5933.c | 14 ++++++-------- > 1 file changed, 6 insertions(+), 8 deletions(-) > > diff --git a/drivers/staging/iio/impedance-analyzer/ad5933.c b/drivers/staging/iio/impedance-analyzer/ad5933.c > index 9e52384f5370..730bc397a26b 100644 > --- a/drivers/staging/iio/impedance-analyzer/ad5933.c > +++ b/drivers/staging/iio/impedance-analyzer/ad5933.c > @@ -91,7 +91,6 @@ > > struct ad5933_platform_data { > unsigned long ext_clk_hz; > - unsigned short vref_mv; > }; > > struct ad5933_state { > @@ -113,7 +112,6 @@ struct ad5933_state { > }; > > static struct ad5933_platform_data ad5933_default_pdata = { > - .vref_mv = 3300, > }; > > #define AD5933_CHANNEL(_type, _extend_name, _info_mask_separate, _address, \ > @@ -691,7 +689,7 @@ static void ad5933_work(struct work_struct *work) > static int ad5933_probe(struct i2c_client *client, > const struct i2c_device_id *id) > { > - int ret, voltage_uv = 0; > + int ret; > struct ad5933_platform_data *pdata = dev_get_platdata(&client->dev); > struct ad5933_state *st; > struct iio_dev *indio_dev; > @@ -718,12 +716,12 @@ static int ad5933_probe(struct i2c_client *client, > dev_err(&client->dev, "Failed to enable specified VDD supply\n"); > return ret; > } > - voltage_uv = regulator_get_voltage(st->reg); > + ret = regulator_get_voltage(st->reg); > + > + if (ret < 0) > + goto error_disable_reg; > > - if (voltage_uv) > - st->vref_mv = voltage_uv / 1000; > - else > - st->vref_mv = pdata->vref_mv; > + st->vref_mv = ret / 1000; > > if (pdata->ext_clk_hz) { > st->mclk_hz = pdata->ext_clk_hz;
diff --git a/drivers/staging/iio/impedance-analyzer/ad5933.c b/drivers/staging/iio/impedance-analyzer/ad5933.c index 9e52384f5370..730bc397a26b 100644 --- a/drivers/staging/iio/impedance-analyzer/ad5933.c +++ b/drivers/staging/iio/impedance-analyzer/ad5933.c @@ -91,7 +91,6 @@ struct ad5933_platform_data { unsigned long ext_clk_hz; - unsigned short vref_mv; }; struct ad5933_state { @@ -113,7 +112,6 @@ struct ad5933_state { }; static struct ad5933_platform_data ad5933_default_pdata = { - .vref_mv = 3300, }; #define AD5933_CHANNEL(_type, _extend_name, _info_mask_separate, _address, \ @@ -691,7 +689,7 @@ static void ad5933_work(struct work_struct *work) static int ad5933_probe(struct i2c_client *client, const struct i2c_device_id *id) { - int ret, voltage_uv = 0; + int ret; struct ad5933_platform_data *pdata = dev_get_platdata(&client->dev); struct ad5933_state *st; struct iio_dev *indio_dev; @@ -718,12 +716,12 @@ static int ad5933_probe(struct i2c_client *client, dev_err(&client->dev, "Failed to enable specified VDD supply\n"); return ret; } - voltage_uv = regulator_get_voltage(st->reg); + ret = regulator_get_voltage(st->reg); + + if (ret < 0) + goto error_disable_reg; - if (voltage_uv) - st->vref_mv = voltage_uv / 1000; - else - st->vref_mv = pdata->vref_mv; + st->vref_mv = ret / 1000; if (pdata->ext_clk_hz) { st->mclk_hz = pdata->ext_clk_hz;