2019-06-14 16:52:09

by Melissa Wen

[permalink] [raw]
Subject: [PATCH] staging: iio: ad7150: use ternary operating to ensure 0/1 value

Remove idiom and use ternary operator for consistently trigger 0/1 value
on variable declaration.

Signed-off-by: Melissa Wen <[email protected]>
---
drivers/staging/iio/cdc/ad7150.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/iio/cdc/ad7150.c b/drivers/staging/iio/cdc/ad7150.c
index 8234da4b8c65..25598bf124fb 100644
--- a/drivers/staging/iio/cdc/ad7150.c
+++ b/drivers/staging/iio/cdc/ad7150.c
@@ -350,8 +350,8 @@ static ssize_t ad7150_show_timeout(struct device *dev,

/* use the event code for consistency reasons */
int chan = IIO_EVENT_CODE_EXTRACT_CHAN(this_attr->address);
- int rising = !!(IIO_EVENT_CODE_EXTRACT_DIR(this_attr->address)
- == IIO_EV_DIR_RISING);
+ int rising = (IIO_EVENT_CODE_EXTRACT_DIR(this_attr->address)
+ == IIO_EV_DIR_RISING) ? 1 : 0;

switch (IIO_EVENT_CODE_EXTRACT_TYPE(this_attr->address)) {
case IIO_EV_TYPE_MAG_ADAPTIVE:
--
2.20.1


2019-06-16 10:15:53

by Jonathan Cameron

[permalink] [raw]
Subject: Re: [PATCH] staging: iio: ad7150: use ternary operating to ensure 0/1 value

On Fri, 14 Jun 2019 13:50:59 -0300
Melissa Wen <[email protected]> wrote:

> Remove idiom and use ternary operator for consistently trigger 0/1 value
> on variable declaration.
>
> Signed-off-by: Melissa Wen <[email protected]>
Hi Melissa,

In general I would consider this unnecessary churn as, whilst
it's no longer a favoured idiom, it is extremely common in the
kernel. However, as this is a staging cleanup, fair enough to
make it as 'nice as possible'!

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/cdc/ad7150.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/staging/iio/cdc/ad7150.c b/drivers/staging/iio/cdc/ad7150.c
> index 8234da4b8c65..25598bf124fb 100644
> --- a/drivers/staging/iio/cdc/ad7150.c
> +++ b/drivers/staging/iio/cdc/ad7150.c
> @@ -350,8 +350,8 @@ static ssize_t ad7150_show_timeout(struct device *dev,
>
> /* use the event code for consistency reasons */
> int chan = IIO_EVENT_CODE_EXTRACT_CHAN(this_attr->address);
> - int rising = !!(IIO_EVENT_CODE_EXTRACT_DIR(this_attr->address)
> - == IIO_EV_DIR_RISING);
> + int rising = (IIO_EVENT_CODE_EXTRACT_DIR(this_attr->address)
> + == IIO_EV_DIR_RISING) ? 1 : 0;
>
> switch (IIO_EVENT_CODE_EXTRACT_TYPE(this_attr->address)) {
> case IIO_EV_TYPE_MAG_ADAPTIVE:

2019-06-17 08:42:16

by Dan Carpenter

[permalink] [raw]
Subject: Re: [PATCH] staging: iio: ad7150: use ternary operating to ensure 0/1 value

On Sun, Jun 16, 2019 at 11:15:16AM +0100, Jonathan Cameron wrote:
> On Fri, 14 Jun 2019 13:50:59 -0300
> Melissa Wen <[email protected]> wrote:
>
> > Remove idiom and use ternary operator for consistently trigger 0/1 value
> > on variable declaration.
> >
> > Signed-off-by: Melissa Wen <[email protected]>
> Hi Melissa,
>
> In general I would consider this unnecessary churn as, whilst
> it's no longer a favoured idiom, it is extremely common in the
> kernel.

It's still my favourite... Why wouldn't people like it? It feels like
last week I just saw someone send a bunch of:

- foo = (bar == baz) ? 1 : 0;
+ foo = (bar == baz);

patches and I thought it was an improvement at the time...

regards,
dan carpenter

2019-06-22 10:59:25

by Jonathan Cameron

[permalink] [raw]
Subject: Re: [PATCH] staging: iio: ad7150: use ternary operating to ensure 0/1 value

On Mon, 17 Jun 2019 11:40:34 +0300
Dan Carpenter <[email protected]> wrote:

> On Sun, Jun 16, 2019 at 11:15:16AM +0100, Jonathan Cameron wrote:
> > On Fri, 14 Jun 2019 13:50:59 -0300
> > Melissa Wen <[email protected]> wrote:
> >
> > > Remove idiom and use ternary operator for consistently trigger 0/1 value
> > > on variable declaration.
> > >
> > > Signed-off-by: Melissa Wen <[email protected]>
> > Hi Melissa,
> >
> > In general I would consider this unnecessary churn as, whilst
> > it's no longer a favoured idiom, it is extremely common in the
> > kernel.
>
> It's still my favourite... Why wouldn't people like it? It feels like
> last week I just saw someone send a bunch of:
>
> - foo = (bar == baz) ? 1 : 0;
> + foo = (bar == baz);
>
> patches and I thought it was an improvement at the time...

That one is nice enough, it's the !! that Linus came out fairly
strongly against though not sure I can find the particular email.
That one is a fairly kernel specific idiom that I'll be honest I've
rarely seen elsewhere ;) I remember wincing at the thread
on this as it was an idiom I personally rather liked.

In cases where it doesn't matter because foo doesn't need to 1 or
0 then what you have is nice and clean.

I can't say it's one I care that much about, but I am happy if code
that happens to be under cleanup anyway has this little bit made
the 'preferred style'. There is something to said for consistency.

Jonathan


>
> regards,
> dan carpenter
>