2021-05-19 17:06:01

by Andy Shevchenko

[permalink] [raw]
Subject: [PATCH v1 1/1] gpiolib: Make use of assign_bit() API (part 2)

We have for some time the assign_bit() API to replace open coded

if (foo)
set_bit(n, bar);
else
clear_bit(n, bar);

Use this API in GPIO library code.

Signed-off-by: Andy Shevchenko <[email protected]>
---
drivers/gpio/gpiolib-sysfs.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/gpio/gpiolib-sysfs.c b/drivers/gpio/gpiolib-sysfs.c
index 41b3b782bf3f..7c5afd999210 100644
--- a/drivers/gpio/gpiolib-sysfs.c
+++ b/drivers/gpio/gpiolib-sysfs.c
@@ -312,10 +312,7 @@ static int gpio_sysfs_set_active_low(struct device *dev, int value)
if (!!test_bit(FLAG_ACTIVE_LOW, &desc->flags) == !!value)
return 0;

- if (value)
- set_bit(FLAG_ACTIVE_LOW, &desc->flags);
- else
- clear_bit(FLAG_ACTIVE_LOW, &desc->flags);
+ assign_bit(FLAG_ACTIVE_LOW, &desc->flags, value);

/* reconfigure poll(2) support if enabled on one edge only */
if (flags == GPIO_IRQF_TRIGGER_FALLING ||
--
2.30.2



2021-05-19 18:49:43

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH v1 1/1] gpiolib: Make use of assign_bit() API (part 2)

On Tue, May 18, 2021 at 10:46 AM Andy Shevchenko
<[email protected]> wrote:

> We have for some time the assign_bit() API to replace open coded
>
> if (foo)
> set_bit(n, bar);
> else
> clear_bit(n, bar);
>
> Use this API in GPIO library code.
>
> Signed-off-by: Andy Shevchenko <[email protected]>

Now I understand what assign_bit() is for...
Reviewed-by: Linus Walleij <[email protected]>

Yours,
Linus Walleij

2021-05-21 20:16:21

by Bartosz Golaszewski

[permalink] [raw]
Subject: Re: [PATCH v1 1/1] gpiolib: Make use of assign_bit() API (part 2)

On Tue, May 18, 2021 at 10:46 AM Andy Shevchenko
<[email protected]> wrote:
>
> We have for some time the assign_bit() API to replace open coded
>
> if (foo)
> set_bit(n, bar);
> else
> clear_bit(n, bar);
>
> Use this API in GPIO library code.
>
> Signed-off-by: Andy Shevchenko <[email protected]>
> ---
> drivers/gpio/gpiolib-sysfs.c | 5 +----
> 1 file changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/drivers/gpio/gpiolib-sysfs.c b/drivers/gpio/gpiolib-sysfs.c
> index 41b3b782bf3f..7c5afd999210 100644
> --- a/drivers/gpio/gpiolib-sysfs.c
> +++ b/drivers/gpio/gpiolib-sysfs.c
> @@ -312,10 +312,7 @@ static int gpio_sysfs_set_active_low(struct device *dev, int value)
> if (!!test_bit(FLAG_ACTIVE_LOW, &desc->flags) == !!value)
> return 0;
>
> - if (value)
> - set_bit(FLAG_ACTIVE_LOW, &desc->flags);
> - else
> - clear_bit(FLAG_ACTIVE_LOW, &desc->flags);
> + assign_bit(FLAG_ACTIVE_LOW, &desc->flags, value);
>
> /* reconfigure poll(2) support if enabled on one edge only */
> if (flags == GPIO_IRQF_TRIGGER_FALLING ||
> --
> 2.30.2
>

Patch applied, thanks!

Bartosz