Re: [PATCH 07/22] staging:iio:ad7793: Remove unused platform_data from device state struct

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 15/08/12 10:03, Lars-Peter Clausen wrote:
On 08/14/2012 10:19 PM, Jonathan Cameron wrote:
On 08/14/2012 08:39 PM, Jonathan Cameron wrote:
On 08/10/2012 05:36 PM, Lars-Peter Clausen wrote:
The platform data for the device is only used from within the drivers probe
callback, so there is no need to keep it around in the devices state struct.

While we are at it mark the platform data struct as const.

There a couple of obvious bugs in this patch....
More than just the comma issue?
Yup, you missed a few uses of pdata. Again in stuff that was removed by later patches...

My plan with these is to first send a series to Greg with the
fixes in it (not including this which is merely a cleanup?)
Once that shows up in his trees I'll do a second pull request with
this + the sigma delta cleanups.
Sounds good.

It is probably the cleanest approach and we aren't pressed for time
at the moment.  To show what will be in there I will push out
a new branch to kernel.org shortly togreg-postfixes.

Lars-Peter, please verify that my fixup of this is correct
(all I've done is build tested it).
Will do, thanks.


Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
---
  drivers/staging/iio/adc/ad7793.c |   14 ++++++--------
  1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/drivers/staging/iio/adc/ad7793.c b/drivers/staging/iio/adc/ad7793.c
index 112e2b7..0ba598e 100644
--- a/drivers/staging/iio/adc/ad7793.c
+++ b/drivers/staging/iio/adc/ad7793.c
@@ -44,7 +44,6 @@ struct ad7793_state {
  	struct iio_trigger		*trig;
  	const struct ad7793_chip_info	*chip_info;
  	struct regulator		*reg;
-	struct ad7793_platform_data	*pdata;
  	wait_queue_head_t		wq_data_avail;
  	bool				done;
  	bool				irq_dis;
@@ -253,7 +252,8 @@ out:
  	return ret;
  }
-static int ad7793_setup(struct ad7793_state *st)
+static int ad7793_setup(struct ad7793_state *st
+	const struct ad7793_platform_data *pdata)
Really odd.  There's a missing comma between the arguments here...
I'll fixup.
  {
  	int i, ret = -1;
  	unsigned long long scale_uv;
@@ -277,9 +277,9 @@ static int ad7793_setup(struct ad7793_state *st)
  		goto out;
  	}
- st->mode = (st->pdata->mode & ~AD7793_MODE_SEL(-1)) |
+	st->mode  = (pdata->mode & ~AD7793_MODE_SEL(-1)) |
  			AD7793_MODE_SEL(AD7793_MODE_IDLE);
-	st->conf  = st->pdata->conf & ~AD7793_CONF_CHAN(-1);
+	st->conf  = pdata->conf & ~AD7793_CONF_CHAN(-1);
ret = ad7793_write_reg(st, AD7793_REG_MODE, sizeof(st->mode), st->mode);
  	if (ret)
@@ -882,7 +882,7 @@ static const struct ad7793_chip_info ad7793_chip_info_tbl[] = {
static int __devinit ad7793_probe(struct spi_device *spi)
  {
-	struct ad7793_platform_data *pdata = spi->dev.platform_data;
+	const struct ad7793_platform_data *pdata = spi->dev.platform_data;
  	struct ad7793_state *st;
  	struct iio_dev *indio_dev;
  	int ret, voltage_uv = 0;
@@ -915,8 +915,6 @@ static int __devinit ad7793_probe(struct spi_device *spi)
  	st->chip_info =
  		&ad7793_chip_info_tbl[spi_get_device_id(spi)->driver_data];
- st->pdata = pdata;
-
  	if (pdata && pdata->vref_mv)
  		st->int_vref_mv = pdata->vref_mv;
  	else if (voltage_uv)
@@ -944,7 +942,7 @@ static int __devinit ad7793_probe(struct spi_device *spi)
  	if (ret)
  		goto error_unreg_ring;
- ret = ad7793_setup(st);
+	ret = ad7793_setup(st, pdata);
  	if (ret)
  		goto error_remove_trigger;
--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux