From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755107AbbBBUWP (ORCPT ); Mon, 2 Feb 2015 15:22:15 -0500 Received: from smtp01.smtpout.orange.fr ([80.12.242.123]:29048 "EHLO smtp.smtpout.orange.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753260AbbBBUWO (ORCPT ); Mon, 2 Feb 2015 15:22:14 -0500 X-ME-Helo: beldin X-ME-Date: Mon, 02 Feb 2015 21:22:07 +0100 X-ME-IP: 92.136.77.170 From: Robert Jarzmik To: Daniel Mack , Haojian Zhuang Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2] ARM: pxa: fix pxa interrupts handling in DT References: <1422743783-32511-1-git-send-email-robert.jarzmik@free.fr> <1422814816-23887-1-git-send-email-robert.jarzmik@free.fr> X-URL: http://belgarath.falguerolles.org/ Date: Mon, 02 Feb 2015 21:22:01 +0100 In-Reply-To: <1422814816-23887-1-git-send-email-robert.jarzmik@free.fr> (Robert Jarzmik's message of "Sun, 1 Feb 2015 19:20:16 +0100") Message-ID: <87wq409i8m.fsf@free.fr> User-Agent: Gnus/5.130008 (Ma Gnus v0.8) Emacs/24.3.92 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Robert Jarzmik writes: > @@ -66,18 +67,20 @@ static inline void __iomem *irq_base(int i) > void pxa_mask_irq(struct irq_data *d) > { > void __iomem *base = irq_data_get_irq_chip_data(d); > + irq_hw_number_t irq = irqd_to_hwirq(d); > uint32_t icmr = __raw_readl(base + ICMR); > > - icmr &= ~(1 << IRQ_BIT(d->irq)); > + icmr &= ~BIT(irq); This should be : icmr &= ~BIT(irq & 0x1f); > __raw_writel(icmr, base + ICMR); > } > > void pxa_unmask_irq(struct irq_data *d) > { > void __iomem *base = irq_data_get_irq_chip_data(d); > + irq_hw_number_t irq = irqd_to_hwirq(d); > uint32_t icmr = __raw_readl(base + ICMR); > > - icmr |= 1 << IRQ_BIT(d->irq); > + icmr |= BIT(irq); Ditto. > +void __init pxa_init_irq(int irq_nr, int (*fn)(struct irq_data *, unsigned int)) > +{ > + BUG_ON(irq_nr > MAX_INTERNAL_IRQS); > + > + pxa_irq_base = io_p2v(0x40d00000); > + cpu_has_ipr = !cpu_is_pxa25x(); > + pxa_init_irq_common(NULL, irq_nr, fn); > +} This requires "select IRQ_DOMAIN" in arch/arm/Kconfig in ARCH_PXA. -- Robert