* [PATCH] gpiolib: cdev: add GPIO_V2_LINE_FLAG_EDGE_BOTH and use it in edge_irq_thread()
@ 2020-10-29 8:48 Kent Gibson
2020-10-30 14:53 ` Bartosz Golaszewski
0 siblings, 1 reply; 2+ messages in thread
From: Kent Gibson @ 2020-10-29 8:48 UTC (permalink / raw)
To: linux-kernel, linux-gpio, bgolaszewski, linus.walleij
Cc: Kent Gibson, Andy Shevchenko
Add GPIO_V2_LINE_FLAG_EDGE_BOTH macro and use it in edge_irq_thread() to
improve readability of edge handling cases.
Suggested-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Kent Gibson <warthog618@gmail.com>
---
drivers/gpio/gpiolib-cdev.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/gpio/gpiolib-cdev.c b/drivers/gpio/gpiolib-cdev.c
index ea787eb3810d..5eb4435afa64 100644
--- a/drivers/gpio/gpiolib-cdev.c
+++ b/drivers/gpio/gpiolib-cdev.c
@@ -510,6 +510,8 @@ struct linereq {
(GPIO_V2_LINE_FLAG_EDGE_RISING | \
GPIO_V2_LINE_FLAG_EDGE_FALLING)
+#define GPIO_V2_LINE_FLAG_EDGE_BOTH GPIO_V2_LINE_EDGE_FLAGS
+
#define GPIO_V2_LINE_VALID_FLAGS \
(GPIO_V2_LINE_FLAG_ACTIVE_LOW | \
GPIO_V2_LINE_DIRECTION_FLAGS | \
@@ -569,8 +571,7 @@ static irqreturn_t edge_irq_thread(int irq, void *p)
line->timestamp_ns = 0;
eflags = READ_ONCE(line->eflags);
- if (eflags == (GPIO_V2_LINE_FLAG_EDGE_RISING |
- GPIO_V2_LINE_FLAG_EDGE_FALLING)) {
+ if (eflags == GPIO_V2_LINE_FLAG_EDGE_BOTH) {
int level = gpiod_get_value_cansleep(line->desc);
if (level)
--
2.29.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] gpiolib: cdev: add GPIO_V2_LINE_FLAG_EDGE_BOTH and use it in edge_irq_thread()
2020-10-29 8:48 [PATCH] gpiolib: cdev: add GPIO_V2_LINE_FLAG_EDGE_BOTH and use it in edge_irq_thread() Kent Gibson
@ 2020-10-30 14:53 ` Bartosz Golaszewski
0 siblings, 0 replies; 2+ messages in thread
From: Bartosz Golaszewski @ 2020-10-30 14:53 UTC (permalink / raw)
To: Kent Gibson; +Cc: LKML, linux-gpio, Linus Walleij, Andy Shevchenko
On Thu, Oct 29, 2020 at 9:48 AM Kent Gibson <warthog618@gmail.com> wrote:
>
> Add GPIO_V2_LINE_FLAG_EDGE_BOTH macro and use it in edge_irq_thread() to
> improve readability of edge handling cases.
>
> Suggested-by: Andy Shevchenko <andy.shevchenko@gmail.com>
> Signed-off-by: Kent Gibson <warthog618@gmail.com>
> ---
> drivers/gpio/gpiolib-cdev.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpio/gpiolib-cdev.c b/drivers/gpio/gpiolib-cdev.c
> index ea787eb3810d..5eb4435afa64 100644
> --- a/drivers/gpio/gpiolib-cdev.c
> +++ b/drivers/gpio/gpiolib-cdev.c
> @@ -510,6 +510,8 @@ struct linereq {
> (GPIO_V2_LINE_FLAG_EDGE_RISING | \
> GPIO_V2_LINE_FLAG_EDGE_FALLING)
>
> +#define GPIO_V2_LINE_FLAG_EDGE_BOTH GPIO_V2_LINE_EDGE_FLAGS
> +
> #define GPIO_V2_LINE_VALID_FLAGS \
> (GPIO_V2_LINE_FLAG_ACTIVE_LOW | \
> GPIO_V2_LINE_DIRECTION_FLAGS | \
> @@ -569,8 +571,7 @@ static irqreturn_t edge_irq_thread(int irq, void *p)
> line->timestamp_ns = 0;
>
> eflags = READ_ONCE(line->eflags);
> - if (eflags == (GPIO_V2_LINE_FLAG_EDGE_RISING |
> - GPIO_V2_LINE_FLAG_EDGE_FALLING)) {
> + if (eflags == GPIO_V2_LINE_FLAG_EDGE_BOTH) {
> int level = gpiod_get_value_cansleep(line->desc);
>
> if (level)
> --
> 2.29.0
>
Applied, thanks!
Bartosz
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-10-30 14:54 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-29 8:48 [PATCH] gpiolib: cdev: add GPIO_V2_LINE_FLAG_EDGE_BOTH and use it in edge_irq_thread() Kent Gibson
2020-10-30 14:53 ` Bartosz Golaszewski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).