Messages in this thread | | | Date | Sat, 18 Jan 2014 11:37:45 +0000 | From | Jonathan Cameron <> | Subject | Re: [PATCH] iio: tsl2563: Use the correct channel2 member |
| |
On 13/01/14 21:25, Peter Meerwald wrote: > >> Use the correct channel2 member instead of channel when dealing with sysfs >> reads/writes > >> Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com> > > as a bonus, m is renamed to mask Which would have been relevant back when it was a mask. Still it doesn't make things worse, so never mind ;) One day someone might be bored enough to clean up all the places in read_raw etc where the variable is called mask but is infact a straight number. > > Acked-by: Peter Meerwald <pmeerw@pmeerw.net> Applied to the fixes-togreg branch of iio.git - initially pushed out as testing for the autobuilders to thoroughly hammer. > >> --- >> drivers/iio/light/tsl2563.c | 16 ++++++++++------ >> 1 files changed, 10 insertions(+), 6 deletions(-) >> >> diff --git a/drivers/iio/light/tsl2563.c b/drivers/iio/light/tsl2563.c >> index 5e5d9de..2be6df3 100644 >> --- a/drivers/iio/light/tsl2563.c >> +++ b/drivers/iio/light/tsl2563.c >> @@ -460,10 +460,14 @@ static int tsl2563_write_raw(struct iio_dev *indio_dev, >> { >> struct tsl2563_chip *chip = iio_priv(indio_dev); >> >> - if (chan->channel == IIO_MOD_LIGHT_BOTH) >> + if (mask != IIO_CHAN_INFO_CALIBSCALE) >> + return -EINVAL; >> + if (chan->channel2 == IIO_MOD_LIGHT_BOTH) >> chip->calib0 = calib_from_sysfs(val); >> - else >> + else if (chan->channel2 == IIO_MOD_LIGHT_IR) >> chip->calib1 = calib_from_sysfs(val); >> + else >> + return -EINVAL; >> >> return 0; >> } >> @@ -472,14 +476,14 @@ static int tsl2563_read_raw(struct iio_dev *indio_dev, >> struct iio_chan_spec const *chan, >> int *val, >> int *val2, >> - long m) >> + long mask) >> { >> int ret = -EINVAL; >> u32 calib0, calib1; >> struct tsl2563_chip *chip = iio_priv(indio_dev); >> >> mutex_lock(&chip->lock); >> - switch (m) { >> + switch (mask) { >> case IIO_CHAN_INFO_RAW: >> case IIO_CHAN_INFO_PROCESSED: >> switch (chan->type) { >> @@ -498,7 +502,7 @@ static int tsl2563_read_raw(struct iio_dev *indio_dev, >> ret = tsl2563_get_adc(chip); >> if (ret) >> goto error_ret; >> - if (chan->channel == 0) >> + if (chan->channel2 == IIO_MOD_LIGHT_BOTH) >> *val = chip->data0; >> else >> *val = chip->data1; >> @@ -510,7 +514,7 @@ static int tsl2563_read_raw(struct iio_dev *indio_dev, >> break; >> >> case IIO_CHAN_INFO_CALIBSCALE: >> - if (chan->channel == 0) >> + if (chan->channel2 == IIO_MOD_LIGHT_BOTH) >> *val = calib_to_sysfs(chip->calib0); >> else >> *val = calib_to_sysfs(chip->calib1); >> >
| |