Re: [PATCH] iio: tsl2563: Use the correct channel2 member

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

 





On 18/01/14 11:37, Jonathan Cameron wrote:


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@xxxxxxxxx>

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@xxxxxxxxxx>
Applied to the fixes-togreg branch of iio.git  - initially pushed out as testing
for the autobuilders to thoroughly hammer.
I'm dozing this morning.  This of course the fixes-togreg branch which doesn't get
separately pushed out for autobuilding fun and goes straight out as fixes-togreg!



---
  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);


--
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