Re: [PATCH 2/2] core: Removing unnecessary check for monitoring multiple lines.

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

 



sob., 8 lut 2020 o 11:01 Daniel Mor <dmlinuxnewbie@xxxxxxxxx> napisał(a):
>
> In case when needed to monitor multiple line`s on different chip`s
> function gpiod_line_event_wait_bulk() blocking it, by checking if
> the line`s in a bulk from same chip.
> In current state the API forsing the user to wait for notification on multiple threads.
>
> Signed-off-by: Daniel Mor <dmlinuxnewbie@xxxxxxxxx>
> ---
>  lib/core.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/core.c b/lib/core.c
> index ed63012..2a46074 100644
> --- a/lib/core.c
> +++ b/lib/core.c
> @@ -977,7 +977,7 @@ int gpiod_line_event_wait_bulk(struct gpiod_line_bulk *bulk,
>         struct gpiod_line *line;
>         int rv;
>
> -       if (!line_bulk_same_chip(bulk) || !line_bulk_all_requested(bulk))
> +       if (!line_bulk_all_requested(bulk))
>                 return -1;
>
>         memset(fds, 0, sizeof(fds));
> --
> 2.17.1
>

The subject tag suggests there's another patch in this series but I
never got anything and don't see anything on patchwork. For the
future: please also add [libgpiod] tag before [PATCH] to make it
easier to spot user-space patches on the list.

I specifically made this function only accept lines from a single chip
- this is the same for all gpiod_line_bulk operations. To do otherwise
would lead to redundant code as you would have to retrieve the chip
reference from the line every time there's a new event and compare it
to something to know which one this is. If you need to modify lines
from several chips - please just retrieve the associated file
descriptor and use poll() or select() and then you can easily map
descriptor numbers to specific lines.

Bartosz




[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux