On 29/08/18 09:30, Linus Walleij wrote: > On Mon, Aug 27, 2018 at 3:06 PM Hans Verkuil <hverkuil@xxxxxxxxx> wrote: > >> From: Hans Verkuil <hans.verkuil@xxxxxxxxx> >> >> Remove all calls to gpiochip_(un)lock_as_irq from drivers as this >> is now done by gpiolib. >> >> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> > >> drivers/gpio/gpio-bcm-kona.c | 24 ------------------ >> drivers/gpio/gpio-dwapb.c | 27 -------------------- >> drivers/gpio/gpio-em.c | 24 ------------------ >> drivers/gpio/gpio-tegra.c | 19 -------------- >> drivers/gpio/gpio-thunderx.c | 15 +++-------- >> drivers/gpio/gpio-uniphier.c | 20 --------------- >> drivers/gpio/gpio-vr41xx.c | 11 -------- >> drivers/pinctrl/mediatek/mtk-eint.c | 9 ------- >> drivers/pinctrl/samsung/pinctrl-exynos.c | 10 -------- >> drivers/pinctrl/stm32/pinctrl-stm32.c | 16 ------------ >> drivers/pinctrl/sunxi/pinctrl-sunxi.c | 19 -------------- > > Are you sure about these? This driver does not use GPIOLIB_IRQCHIP > (no select GPIOLIB_IRQCHIP in Kconfig). Ah, I hadn't realized that. So in that case these drivers should call gpiochip_(un)lock_as_irq in their iri_dis/enable hooks, not in the req/relres hooks. Otherwise we'll have the same limitation for these drivers. Regards, Hans > > Notice that gpiochip_lock_as_irq() used to be outside of > #define CONFIG_GPIOLIB_IRQCHIP so these drivers can > lock the IRQ without the help of the gpiolib IRQCHIP library, > as they implement their own irqchips. > > I think this and similar drivers simply have to assign their .startup() > and .shutdown() etc hooks locally in the driver, becuase since > gpiochip_add_irqchip() is not called, they do not get set up by the > gpiolib core. > >> drivers/gpio/gpio-xgene-sb.c | 10 -------- >> drivers/hid/hid-cp2112.c | 14 ++--------- >> drivers/pinctrl/pinctrl-st.c | 10 +------- > > This is fine (uses GPIOLIB_IRQCHIP) > >> drivers/gpio/gpiolib-acpi.c | 13 ++-------- > > Uncertain about this one. > >> drivers/gpio/gpiolib-sysfs.c | 18 +------------ > > OK > >> drivers/pinctrl/intel/pinctrl-intel.c | 32 ------------------------ > > I think this is fine, but check. > > Yours, > Linus Walleij >