Re: [PATCH v2] pinctrl: bcm63268: add gpio function

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

 



El vie, 3 ene 2025 a las 4:04, Kyle Hendry (<kylehendrydev@xxxxxxxxx>) escribió:
>
> On 2024-12-30 08:42, Jonas Gorski wrote:
> > Hi,
> >
> > On Tue, Dec 24, 2024 at 11:41 AM Álvaro Fernández Rojas
> > <noltari@xxxxxxxxx> wrote:
> >> From: Kyle Hendry <kylehendrydev@xxxxxxxxx>
> >>
> >> There is no guarantee that the bootloader will leave the pin configuration
> >> in a known default state, so pinctrl needs to be explicitly set in some
> >> cases. This patch adds a gpio function for drivers that need it, i.e.
> >> gpio-leds.
> >>
> >> Signed-off-by: Kyle Hendry <kylehendrydev@xxxxxxxxx>
> >> Signed-off-by: Álvaro Fernández Rojas <noltari@xxxxxxxxx>
> >
> > bcm63268-pinctrl implements pinmux_ops::gpio_request_enable(), which
> > should automatically set any requested GPIO pin to the GPIO function,
> > so explicitly requesting the gpio function for a pin should not be
> > needed. Is this not enough?
> >
> > Best Regards,
> > Jonas
> >
> >
> I assumed that as well, but nothing I tried worked with gpio-leds.
> gpiochip_generic_request() does call gpio_request_enable(), but gpio-leds
> uses devm_fwnode_gpiod_get() which looks like a different code path. The
> only place it seems to be configuring the gpio is in create_gpio_led()
> where it needs a pinctl node in the device tree. That's just my reading
> of the code, though. I haven't set up a ftrace to verify it.
>
> Best Regards,
> Kyle

As Kyle pointed out it's not enough and gpio_request_enable() doesn't
get called from gpio-leds.
I will try to investigate this and report back.

Best regards,
Álvaro.





[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