[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f68eed56-35b8-737e-008d-a8e993c7f6f1@gmail.com>
Date: Mon, 19 Jun 2017 14:13:52 -0700
From: Florian Fainelli <f.fainelli@...il.com>
To: Phil Elwell <phil@...pberrypi.org>,
Thomas Gleixner <tglx@...utronix.de>,
Jason Cooper <jason@...edaemon.net>,
Marc Zyngier <marc.zyngier@....com>,
Rob Herring <robh+dt@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Stefan Wahren <stefan.wahren@...e.com>,
Eric Anholt <eric@...olt.net>,
Russell King <linux@...linux.org.uk>,
Michael Turquette <mturquette@...libre.com>,
Stephen Boyd <sboyd@...eaurora.org>,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-rpi-kernel@...ts.infradead.org, linux-clk@...r.kernel.org
Subject: Re: [PATCH v3 3/4] irqchip: Add BCM2835 AUX interrupt controller
On 06/14/2017 09:29 AM, Phil Elwell wrote:
> Devices in the BCM2835 AUX block share a common interrupt line, with a
> register indicating which devices have active IRQs. Expose this as a
> nested interrupt controller to avoid IRQ sharing problems (easily
> observed if UART1 and SPI1/2 are enabled simultaneously).
>
> Signed-off-by: Phil Elwell <phil@...pberrypi.org>
> ---
> +/*
> + * The irq_mask and irq_unmask function pointers are used without
> + * validity checks, so they must not be NULL. Create a dummy function
> + * with the expected type for use as a no-op.
> + */
> +static void bcm2835_aux_irq_dummy(struct irq_data *data)
> +{
> +}
> +
> +static struct irq_chip bcm2835_aux_irq_chip = {
> + .name = "bcm2835-aux_irq",
> + .irq_mask = bcm2835_aux_irq_dummy,
> + .irq_unmask = bcm2835_aux_irq_dummy,
> +};
So how are the interrupt enabled/disabled if this interrupt controller
just returns their pending state?
--
Florian
Powered by blists - more mailing lists