Re: [PATCH 1/2] gpio: simplify adding threaded interrupts

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

 



On Thu, Nov 24, 2016 at 01:38:53PM +0100, Linus Walleij wrote:
> This tries to simplify the use of CONFIG_GPIOLIB_IRQCHIP when
> using threaded interrupts: add a new call
> gpiochip_irqchip_add_nested() to indicate that we're dealing
> with a nested rather than a chained irqchip, then create a
> separate gpiochip_set_nested_irqchip() to mirror
> the gpiochip_set_chained_irqchip() call to connect the
> parent and child interrupts.
> 
> In the nested case gpiochip_set_nested_irqchip() does nothing
> more than call irq_set_parent() on each valid child interrupt,
> which has little semantic effect in the kernel, but this is
> probably still formally correct.
> 
> Update all drivers using nested interrupts to use
> gpiochip_irqchip_add_nested() so we can now see clearly
> which these users are.
> 
> The DLN2 driver can drop its specific hack with
> .irq_not_threaded as we now recognize whether a chip is
> threaded or not from its use of gpiochip_irqchip_add_nested()
> signature rather than from inspecting .can_sleep.
> 
> We rename the .irq_parent to .irq_chained_parent since this
> parent IRQ is only really kept around for the chained
> interrupt handlers.
> 
> Cc: Lars Poeschel <poeschel@xxxxxxxxxxx>
> Cc: Octavian Purdila <octavian.purdila@xxxxxxxxx>
> Cc: Daniel Baluta <daniel.baluta@xxxxxxxxx>
> Cc: Bin Gao <bin.gao@xxxxxxxxxxxxxxx>
> Cc: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>

I like this change because now you can immediately see from a driver
which kind of interrupt we are dealing with.

Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[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