* [PATCH 1/1] drivers:iio:light:isl29125: added macros for sensing range
@ 2016-06-24 11:16 Bijosh Thykkoottathil
2016-06-26 13:56 ` Jonathan Cameron
0 siblings, 1 reply; 3+ messages in thread
From: Bijosh Thykkoottathil @ 2016-06-24 11:16 UTC (permalink / raw)
To: jic23, knaack.h, lars, pmeerw, k.kozlowski; +Cc: linux-iio, linux-kernel
Added macros for sensing range as the corresponding magic numbers
were used at multiple places.
- SENSING_RANGE_0 for 375 lux full range
- SENSING_RANGE_1 for 10k lux full range
Signed-off-by: Bijosh Thykkoottathil <bijosh.t@hotmail.com>
---
drivers/iio/light/isl29125.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/drivers/iio/light/isl29125.c b/drivers/iio/light/isl29125.c
index e2945a2..83a5a7a 100644
--- a/drivers/iio/light/isl29125.c
+++ b/drivers/iio/light/isl29125.c
@@ -44,6 +44,9 @@
#define ISL29125_MODE_B 0x3
#define ISL29125_MODE_RGB 0x5
=20
+#define SENSING_RANGE_0 5722 /* 375 lux full range */
+#define SENSING_RANGE_1 152590 /* 10k lux full range */
+
#define ISL29125_MODE_RANGE BIT(3)
=20
#define ISL29125_STATUS_CONV BIT(1)
@@ -140,9 +143,9 @@ static int isl29125_read_raw(struct iio_dev *indio_dev,
case IIO_CHAN_INFO_SCALE:
*val =3D 0;
if (data->conf1 & ISL29125_MODE_RANGE)
- *val2 =3D 152590; /* 10k lux full range */
+ *val2 =3D SENSING_RANGE_1; /* 10k lux full range */
else
- *val2 =3D 5722; /* 375 lux full range */
+ *val2 =3D SENSING_RANGE_0; /* 375 lux full range */
return IIO_VAL_INT_PLUS_MICRO;
}
return -EINVAL;
@@ -158,9 +161,9 @@ static int isl29125_write_raw(struct iio_dev *indio_dev=
,
case IIO_CHAN_INFO_SCALE:
if (val !=3D 0)
return -EINVAL;
- if (val2 =3D=3D 152590)
+ if (val2 =3D=3D SENSING_RANGE_1)
data->conf1 |=3D ISL29125_MODE_RANGE;
- else if (val2 =3D=3D 5722)
+ else if (val2 =3D=3D SENSING_RANGE_0)
data->conf1 &=3D ~ISL29125_MODE_RANGE;
else
return -EINVAL;
--=20
2.1.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH 1/1] drivers:iio:light:isl29125: added macros for sensing range
2016-06-24 11:16 [PATCH 1/1] drivers:iio:light:isl29125: added macros for sensing range Bijosh Thykkoottathil
@ 2016-06-26 13:56 ` Jonathan Cameron
2016-06-27 13:56 ` Peter Meerwald-Stadler
0 siblings, 1 reply; 3+ messages in thread
From: Jonathan Cameron @ 2016-06-26 13:56 UTC (permalink / raw)
To: Bijosh Thykkoottathil, knaack.h, lars, pmeerw, k.kozlowski
Cc: linux-iio, linux-kernel
On 24/06/16 12:16, Bijosh Thykkoottathil wrote:
> Added macros for sensing range as the corresponding magic numbers
> were used at multiple places.
> - SENSING_RANGE_0 for 375 lux full range
> - SENSING_RANGE_1 for 10k lux full range
>
> Signed-off-by: Bijosh Thykkoottathil <bijosh.t@hotmail.com>
Hi Bijosh,
Macros are great for making cases of 'magic numbers' more readable.
However here we are wrapping up 'real' numbers in macros that actually
obscure what they are...
Now the fact they are used twice does make it a little more worthwhile.
Peter, what do you think? Your driver so up to you ;)
*one buck passed*
> ---
> drivers/iio/light/isl29125.c | 11 +++++++----
> 1 file changed, 7 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/iio/light/isl29125.c b/drivers/iio/light/isl29125.c
> index e2945a2..83a5a7a 100644
> --- a/drivers/iio/light/isl29125.c
> +++ b/drivers/iio/light/isl29125.c
> @@ -44,6 +44,9 @@
> #define ISL29125_MODE_B 0x3
> #define ISL29125_MODE_RGB 0x5
>
> +#define SENSING_RANGE_0 5722 /* 375 lux full range */
> +#define SENSING_RANGE_1 152590 /* 10k lux full range */
> +
> #define ISL29125_MODE_RANGE BIT(3)
>
> #define ISL29125_STATUS_CONV BIT(1)
> @@ -140,9 +143,9 @@ static int isl29125_read_raw(struct iio_dev *indio_dev,
> case IIO_CHAN_INFO_SCALE:
> *val = 0;
> if (data->conf1 & ISL29125_MODE_RANGE)
> - *val2 = 152590; /* 10k lux full range */
> + *val2 = SENSING_RANGE_1; /* 10k lux full range */
> else
> - *val2 = 5722; /* 375 lux full range */
> + *val2 = SENSING_RANGE_0; /* 375 lux full range */
> return IIO_VAL_INT_PLUS_MICRO;
> }
> return -EINVAL;
> @@ -158,9 +161,9 @@ static int isl29125_write_raw(struct iio_dev *indio_dev,
> case IIO_CHAN_INFO_SCALE:
> if (val != 0)
> return -EINVAL;
> - if (val2 == 152590)
> + if (val2 == SENSING_RANGE_1)
> data->conf1 |= ISL29125_MODE_RANGE;
> - else if (val2 == 5722)
> + else if (val2 == SENSING_RANGE_0)
> data->conf1 &= ~ISL29125_MODE_RANGE;
> else
> return -EINVAL;
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 1/1] drivers:iio:light:isl29125: added macros for sensing range
2016-06-26 13:56 ` Jonathan Cameron
@ 2016-06-27 13:56 ` Peter Meerwald-Stadler
0 siblings, 0 replies; 3+ messages in thread
From: Peter Meerwald-Stadler @ 2016-06-27 13:56 UTC (permalink / raw)
To: Bijosh Thykkoottathil, Jonathan Cameron
Cc: knaack.h, lars, k.kozlowski, linux-iio, linux-kernel
> On 24/06/16 12:16, Bijosh Thykkoottathil wrote:
> > Added macros for sensing range as the corresponding magic numbers
> > were used at multiple places.
> > - SENSING_RANGE_0 for 375 lux full range
> > - SENSING_RANGE_1 for 10k lux full range
> Macros are great for making cases of 'magic numbers' more readable.
> However here we are wrapping up 'real' numbers in macros that actually
> obscure what they are...
>
> Now the fact they are used twice does make it a little more worthwhile.
> Peter, what do you think? Your driver so up to you ;)
I'm fine with the proposed change, but a proper prefix is required, hence
ISL29125_SENSING_RANGE_0 and _1
regards, p.
> > ---
> > drivers/iio/light/isl29125.c | 11 +++++++----
> > 1 file changed, 7 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/iio/light/isl29125.c b/drivers/iio/light/isl29125.c
> > index e2945a2..83a5a7a 100644
> > --- a/drivers/iio/light/isl29125.c
> > +++ b/drivers/iio/light/isl29125.c
> > @@ -44,6 +44,9 @@
> > #define ISL29125_MODE_B 0x3
> > #define ISL29125_MODE_RGB 0x5
> >
> > +#define SENSING_RANGE_0 5722 /* 375 lux full range */
> > +#define SENSING_RANGE_1 152590 /* 10k lux full range */
> > +
> > #define ISL29125_MODE_RANGE BIT(3)
> >
> > #define ISL29125_STATUS_CONV BIT(1)
> > @@ -140,9 +143,9 @@ static int isl29125_read_raw(struct iio_dev *indio_dev,
> > case IIO_CHAN_INFO_SCALE:
> > *val = 0;
> > if (data->conf1 & ISL29125_MODE_RANGE)
> > - *val2 = 152590; /* 10k lux full range */
> > + *val2 = SENSING_RANGE_1; /* 10k lux full range */
> > else
> > - *val2 = 5722; /* 375 lux full range */
> > + *val2 = SENSING_RANGE_0; /* 375 lux full range */
> > return IIO_VAL_INT_PLUS_MICRO;
> > }
> > return -EINVAL;
> > @@ -158,9 +161,9 @@ static int isl29125_write_raw(struct iio_dev *indio_dev,
> > case IIO_CHAN_INFO_SCALE:
> > if (val != 0)
> > return -EINVAL;
> > - if (val2 == 152590)
> > + if (val2 == SENSING_RANGE_1)
> > data->conf1 |= ISL29125_MODE_RANGE;
> > - else if (val2 == 5722)
> > + else if (val2 == SENSING_RANGE_0)
> > data->conf1 &= ~ISL29125_MODE_RANGE;
> > else
> > return -EINVAL;
> >
>
--
Peter Meerwald-Stadler
+43-664-2444418 (mobile)
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-06-27 13:56 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-24 11:16 [PATCH 1/1] drivers:iio:light:isl29125: added macros for sensing range Bijosh Thykkoottathil
2016-06-26 13:56 ` Jonathan Cameron
2016-06-27 13:56 ` Peter Meerwald-Stadler
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.