Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752165AbdFSVN7 (ORCPT ); Mon, 19 Jun 2017 17:13:59 -0400 Received: from mail-qt0-f193.google.com ([209.85.216.193]:34999 "EHLO mail-qt0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750903AbdFSVN5 (ORCPT ); Mon, 19 Jun 2017 17:13:57 -0400 Subject: Re: [PATCH v3 3/4] irqchip: Add BCM2835 AUX interrupt controller To: Phil Elwell , Thomas Gleixner , Jason Cooper , Marc Zyngier , Rob Herring , Mark Rutland , Stefan Wahren , Eric Anholt , Russell King , Michael Turquette , Stephen Boyd , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, linux-clk@vger.kernel.org References: <4ceb6c92-f752-180e-6a6e-a94dcd120737@raspberrypi.org> <1497457750-35585-1-git-send-email-phil@raspberrypi.org> <1497457750-35585-4-git-send-email-phil@raspberrypi.org> From: Florian Fainelli Message-ID: Date: Mon, 19 Jun 2017 14:13:52 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 MIME-Version: 1.0 In-Reply-To: <1497457750-35585-4-git-send-email-phil@raspberrypi.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 941 Lines: 28 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 > --- > +/* > + * 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