From: Thomas Richard <thomas.richard@bootlin.com>
To: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: Linus Walleij <linus.walleij@linaro.org>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Bartosz Golaszewski <brgl@bgdev.pl>,
Geert Uytterhoeven <geert+renesas@glider.be>,
Kees Cook <kees@kernel.org>, Andy Shevchenko <andy@kernel.org>,
linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org,
thomas.petazzoni@bootlin.com, DanieleCleri@aaeon.eu,
GaryWang@aaeon.com.tw, linux-hardening@vger.kernel.org
Subject: Re: [PATCH v5 09/12] gpio: aggregator: handle runtime registration of gpio_desc in gpiochip_fwd
Date: Wed, 7 May 2025 12:10:44 +0200 [thread overview]
Message-ID: <c3b9c494-599e-4d99-8645-589c1c0c106c@bootlin.com> (raw)
In-Reply-To: <CAHp75Vdg2LE885+qjpYLkQrdNqaahJc3=Ki7op=6jJUJfJM+sw@mail.gmail.com>
Hi Andy,
Thanks again for the review.
On 5/7/25 08:34, Andy Shevchenko wrote:
> On Tue, May 6, 2025 at 6:21 PM Thomas Richard
> <thomas.richard@bootlin.com> wrote:
>>
>> Add request() callback to check if the GPIO descriptor was well registered
>> in the gpiochip_fwd before using it. This is done to handle the case where
>> GPIO descriptor is added at runtime in the forwarder.
>>
>> If at least one GPIO descriptor was not added before the forwarder
>> registration, we assume the forwarder can sleep as if a GPIO is added at
>> runtime it may sleep.
>
> ...
>
>> {
>> struct gpiochip_fwd *fwd = gpiochip_get_data(chip);
>>
>> + /*
>> + * get_direction() is called during gpiochip registration, return input
>> + * direction if there is no descriptor for the line.
>> + */
>> + if (!test_bit(offset, fwd->valid_mask))
>> + return GPIO_LINE_DIRECTION_IN;
>
> Can you remind me why we choose a valid return for invalid line? From
> a pure code perspective this should return an error.
I reproduced gpiolib behavior. During gpiochip registration, we get the
direction of all lines. In the case the line is not valid, it is marked
as input if direction_input operation exists, otherwise it is marked as
output. [1]
But in fact we could return an error and the core will mark the line as
input. Maybe ENODEV ?
[1]
https://elixir.bootlin.com/linux/v6.15-rc5/source/drivers/gpio/gpiolib.c#L1105-L1123
Regards,
Thomas
next prev parent reply other threads:[~2025-05-07 10:10 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-06 15:21 [PATCH v5 00/12] Add pinctrl support for the AAEON UP board FPGA Thomas Richard
2025-05-06 15:21 ` [PATCH v5 01/12] gpiolib: add support to register sparse pin range Thomas Richard
2025-05-07 17:49 ` kernel test robot
2025-05-06 15:21 ` [PATCH v5 02/12] pinctrl: remove extern specifier for functions in machine.h Thomas Richard
2025-05-13 12:59 ` Linus Walleij
2025-05-06 15:21 ` [PATCH v5 03/12] pinctrl: core: add devm_pinctrl_register_mappings() Thomas Richard
2025-05-06 15:21 ` [PATCH v5 04/12] gpio: aggregator: move GPIO forwarder allocation in a dedicated function Thomas Richard
2025-05-09 8:05 ` Geert Uytterhoeven
2025-05-06 15:21 ` [PATCH v5 05/12] gpio: aggregator: refactor the code to add GPIO desc in the forwarder Thomas Richard
2025-05-07 6:22 ` Andy Shevchenko
2025-05-09 8:38 ` Geert Uytterhoeven
2025-05-09 8:43 ` Geert Uytterhoeven
2025-05-06 15:21 ` [PATCH v5 06/12] gpio: aggregator: refactor the forwarder registration part Thomas Richard
2025-05-09 8:50 ` Geert Uytterhoeven
2025-05-06 15:21 ` [PATCH v5 07/12] gpio: aggregator: update gpiochip_fwd_setup_delay_line() parameters Thomas Richard
2025-05-09 8:53 ` Geert Uytterhoeven
2025-05-06 15:21 ` [PATCH v5 08/12] gpio: aggregator: export symbols of the GPIO forwarder library Thomas Richard
2025-05-07 6:29 ` Andy Shevchenko
2025-05-07 14:53 ` Thomas Richard
2025-05-07 15:21 ` Andy Shevchenko
2025-05-07 15:23 ` Andy Shevchenko
2025-05-07 15:29 ` Thomas Richard
2025-05-08 7:23 ` Geert Uytterhoeven
2025-05-09 9:07 ` Geert Uytterhoeven
2025-05-12 14:08 ` Thomas Richard
2025-05-12 14:11 ` Andy Shevchenko
2025-05-12 14:30 ` Thomas Richard
2025-05-12 14:42 ` Geert Uytterhoeven
2025-05-12 14:39 ` Geert Uytterhoeven
2025-05-12 15:00 ` Thomas Richard
2025-05-12 15:14 ` Geert Uytterhoeven
2025-05-12 15:33 ` Thomas Richard
2025-05-06 15:21 ` [PATCH v5 09/12] gpio: aggregator: handle runtime registration of gpio_desc in gpiochip_fwd Thomas Richard
2025-05-07 6:34 ` Andy Shevchenko
2025-05-07 10:10 ` Thomas Richard [this message]
2025-05-07 13:24 ` Andy Shevchenko
2025-05-07 13:54 ` Thomas Richard
2025-05-07 15:24 ` Andy Shevchenko
2025-05-09 13:33 ` Bartosz Golaszewski
2025-05-09 9:29 ` Geert Uytterhoeven
2025-05-06 15:21 ` [PATCH v5 10/12] gpio: aggregator: add possibility to attach data to the forwarder Thomas Richard
2025-05-09 9:32 ` Geert Uytterhoeven
2025-05-06 15:21 ` [PATCH v5 11/12] lib/string_choices: Add str_input_output() helper Thomas Richard
2025-05-06 15:21 ` [PATCH v5 12/12] pinctrl: Add pin controller driver for AAEON UP boards Thomas Richard
2025-05-07 6:57 ` Andy Shevchenko
2025-05-07 13:34 ` Thomas Richard
2025-05-07 6:59 ` [PATCH v5 00/12] Add pinctrl support for the AAEON UP board FPGA Andy Shevchenko
2025-05-13 13:02 ` Linus Walleij
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=c3b9c494-599e-4d99-8645-589c1c0c106c@bootlin.com \
--to=thomas.richard@bootlin.com \
--cc=DanieleCleri@aaeon.eu \
--cc=GaryWang@aaeon.com.tw \
--cc=andriy.shevchenko@linux.intel.com \
--cc=andy.shevchenko@gmail.com \
--cc=andy@kernel.org \
--cc=brgl@bgdev.pl \
--cc=geert+renesas@glider.be \
--cc=kees@kernel.org \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-hardening@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=thomas.petazzoni@bootlin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®