Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753623AbbHFNg0 (ORCPT ); Thu, 6 Aug 2015 09:36:26 -0400 Received: from vps0.lunn.ch ([178.209.37.122]:43307 "EHLO vps0.lunn.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752673AbbHFNgZ (ORCPT ); Thu, 6 Aug 2015 09:36:25 -0400 Date: Thu, 6 Aug 2015 15:29:26 +0200 From: Andrew Lunn To: raghu MG Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Thomas Petazzoni , Sebastian Hesselbarth Subject: Re: Armadaxp GPIO interrupts Message-ID: <20150806132926.GB19896@lunn.ch> References: <20150804153439.GA28673@lunn.ch> <20150805162155.GE32760@lunn.ch> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1045 Lines: 26 > mvebu_gpio_irq_handler is only called if I register a another handler > at irq=82/83/84/85/87/88/89/90/92. I am registering this handler using > minimal kernel module. This is totally wrong. The gpio driver needs these interrupts, and will register a chained interrupt handle for these. Don't mess around with them. Here is the code in the driver: /* Setup the interrupt handlers. Each chip can have up to 4 * interrupt handlers, with each handler dealing with 8 GPIO * pins. */ for (i = 0; i < 4; i++) { int irq = platform_get_irq(pdev, i); if (irq < 0) continue; irq_set_handler_data(irq, mvchip); irq_set_chained_handler(irq, mvebu_gpio_irq_handler); } Andrew -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/