From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752641AbbBWVmH (ORCPT ); Mon, 23 Feb 2015 16:42:07 -0500 Received: from smtp02.smtpout.orange.fr ([80.12.242.124]:46009 "EHLO smtp.smtpout.orange.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751959AbbBWVmF (ORCPT ); Mon, 23 Feb 2015 16:42:05 -0500 X-ME-Helo: beldin X-ME-Date: Mon, 23 Feb 2015 22:42:02 +0100 X-ME-IP: 109.222.213.148 From: Robert Jarzmik To: Daniel Mack Cc: Haojian Zhuang , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v3] ARM: pxa: fix pxa interrupts handling in DT References: <1423950116-23856-1-git-send-email-robert.jarzmik@free.fr> X-URL: http://belgarath.falguerolles.org/ Date: Mon, 23 Feb 2015 22:41:57 +0100 In-Reply-To: <1423950116-23856-1-git-send-email-robert.jarzmik@free.fr> (Robert Jarzmik's message of "Sat, 14 Feb 2015 22:41:56 +0100") Message-ID: <87wq384862.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: > The commit "ARM: pxa: arbitrarily set first interrupt number" changed > the first pxa interrupt to 16. > > As a consequence, device-tree builds got broken, because : > - pxa_mask_irq() and pxa_unmask_irq() are using IRQ_BIT() > - IRQ_BIT(x) calculates the interrupts as : x - PXA_IRQ(0) > > Before the commit, the first interrupt shift, PXA_IRQ(0) was 0, > therefore IRQ_BIT(x) was x. After the change, it is necessary that the > same shift of 16 is applied between the virtual interrupt number and the > hardware irq number. > > This situation comes from the common irq_chip shared between legacy > platform builds and device-tree builds. > > Fix the broken interrupts in DT case by adding this shift in the DT case > too. > > As a consequence of the IRQ_BIT() is removed alltogether from interrupts > handling, even in the platform data types of platforms : > - a legacy irq domain is used > - the irq_chip handles hardware interrupts > - the virtual to hardware interrupt conversion is fully handled by irq > domain mechanics > > Signed-off-by: Robert Jarzmik Queued in pxa/fixes. -- Robert