Re: Linux logs new warning `gpio gpiochip0: gpiochip_add_data_with_key: get_direction failed: -22`

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

 



Dear Andy, dear Bartosz,


Am 26.02.25 um 15:22 schrieb Andy Shevchenko:
On Wed, Feb 26, 2025 at 03:14:24PM +0100, Bartosz Golaszewski wrote:
On Wed, 26 Feb 2025 at 14:47, Andy Shevchenko wrote:
On Wed, Feb 26, 2025 at 03:37:47PM +0200, Andy Shevchenko wrote:
On Tue, Feb 25, 2025 at 10:25:00PM +0100, Linus Walleij wrote:
On Mon, Feb 24, 2025 at 9:51 AM <brgl@xxxxxxxx> wrote:

In any case: Linus: what should be our policy here? There are some pinctrl
drivers which return EINVAL if the pin in question is not in GPIO mode. I don't
think this is an error. Returning errors should be reserved for read failures
and so on. Are you fine with changing the logic here to explicitly default to
INPUT as until recently all errors would be interpreted as such anyway?

Oh hm I guess. There was no defined semantic until now anyway. Maybe
Andy has something to say about it though, it's very much his pin controller.

Driver is doing correct things. If you want to be pedantic, we need to return
all possible pin states (which are currently absent from GPIO get_direction()
perspective) and even though it's not possible to tell from the pin muxer
p.o.v. If function is I2C, it's open-drain, if some other, it may be completely
different, but pin muxer might only guesstimate the state of the particular
function is and I do not think guesstimation is a right approach.

We may use the specific error code, though. and document that semantics.

Brief looking at the error descriptions and the practical use the best (and
unique enough) choice may be EBADSLT.

In any case, I proposed to revert to the previous behavior in
gpiochip_add_data() in my follow-up series so the issue should soon go
away.

Yes, I noted. The above is a material to discuss. We can make that semantics
documented and strict and then one may filter out those errors if/when
required.

I am still seeing this with 6.14.0-rc6-00022-gb7f94fcf5546. Do you know, if the reverts are going to be in the final 6.14 release?


Kind regards,

Paul




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux