[PATCH 00/10] sh-pfc: Fix GPIO to IRQ mapping
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Thu Dec 12 08:15:35 EST 2013
Hi Simon,
On Thursday 12 December 2013 22:11:39 Simon Horman wrote:
> On Wed, Dec 11, 2013 at 04:26:20AM +0100, Laurent Pinchart wrote:
> > Hello,
> >
> > This patch set fixes conversion from a GPIO number to an IRQ number in the
> > sh-pfc driver in the device tree case.
> >
> > Patches 01/10 to 05/10 clean up the driver to prepare it for the core fix
> > in patch 06/10. As explained in patch 06/10 commit message, on non-DT
> > platforms IRQ controllers associated with the GPIOs have a fixed IRQ base
> > value known at compile time. The sh-pfc driver translates GPIO number to
> > IRQ numbers using a hardcoded table. This mechanism breaks on DT
> > platforms, as the IRQ base values are dynamic in that case.
> >
> > The patch set fixes this by specifying IRQs associated with GPIOs in IRQ
> > resources, populated automatically from the device tree. When IRQ
> > resources
> > are specified the driver requires one IRQ resource per GPIO able to
> > generate an interrupt, and uses the translation table to compute the IRQ
> > resource offset instead of the IRQ number.
> >
> > Patches 07/10 to 09/10 then add PFC interrupts in DT for the SH73A0,
> > R8A73A4 and R9A7740 SoCs. The only missing platform here is SH7372 due to
> > its very uncomplete DT support. All other Renesas ARM platforms use a
> > standaline GPIO driver and are thus not affected.
>
> s/uncomplete/incomplete/
>
> > Patch 10/10 finally adds a gpio-keys device to the Armadillo board DTS,
> > allowing the whole patch set to the tested.
> >
> > The sh-pfc changes need to be merged first. Linus, could you please
> > provide a stable branch with the first 6 patches when you will apply them
> > to your tree ?
>
> It seems to me that if Linus applies the pfc changes the
> shmobile changes could be applied independently. Am I missing
> and do the shmobile patches have build-dependencies on the pfc patches?
The DTS patches will result in the PFC platform device having IRQ resources.
The sh-pfc driver currently supports MEM resources only and will crash.
> > Laurent Pinchart (10):
> > sh-pfc: Turn unsigned indices into unsigned int
> > sh-pfc: Terminate gpios array by -1
> > sh-pfc: sh73a0: Add missing IRQ15
> > sh-pfc: sh73a0: Sort IRQ entries by IRQ number
> > sh-pfc: Rename sh_pfc window field to windows
> > sh-pfc: Support GPIO to IRQ mapping specified IRQ resources
> > ARM: shmobile: r8a73a4: Specify PFC interrupts in DT
> > ARM: shmobile: r8a7740: Specify PFC interrupts in DT
> > ARM: shmobile: sh73a0: Specify PFC interrupts in DT
> > ARM: shmobile: armadillo: dts: Add gpio-keys device
> >
> > .../bindings/pinctrl/renesas,pfc-pinctrl.txt | 14 ++++
> > arch/arm/boot/dts/r8a73a4.dtsi | 16 +++++
> > .../boot/dts/r8a7740-armadillo800eva-reference.dts | 29 +++++++++
> > arch/arm/boot/dts/r8a7740.dtsi | 9 +++
> > arch/arm/boot/dts/sh73a0.dtsi | 9 +++
> > drivers/pinctrl/sh-pfc/core.c | 76 +++++++++++------
> > drivers/pinctrl/sh-pfc/core.h | 4 +-
> > drivers/pinctrl/sh-pfc/gpio.c | 24 +++++--
> > drivers/pinctrl/sh-pfc/pfc-r8a73a4.c | 4 +-
> > drivers/pinctrl/sh-pfc/pfc-r8a7740.c | 2 +-
> > drivers/pinctrl/sh-pfc/pfc-sh7372.c | 2 +-
> > drivers/pinctrl/sh-pfc/pfc-sh73a0.c | 54 +++++++--------
> > drivers/pinctrl/sh-pfc/sh_pfc.h | 4 +-
> > 13 files changed, 188 insertions(+), 59 deletions(-)
--
Regards,
Laurent Pinchart
More information about the linux-arm-kernel
mailing list