From patchwork Sat Jul 8 22:44:12 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Grygorii Strashko X-Patchwork-Id: 785865 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3x4mlg73dkz9s7F for ; Sun, 9 Jul 2017 08:45:35 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=ti.com header.i=@ti.com header.b="pyRcBuaE"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752037AbdGHWoX (ORCPT ); Sat, 8 Jul 2017 18:44:23 -0400 Received: from lelnx194.ext.ti.com ([198.47.27.80]:50925 "EHLO lelnx194.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751817AbdGHWoU (ORCPT ); Sat, 8 Jul 2017 18:44:20 -0400 Received: from dlelxv90.itg.ti.com ([172.17.2.17]) by lelnx194.ext.ti.com (8.15.1/8.15.1) with ESMTP id v68MiF1m009060; Sat, 8 Jul 2017 17:44:15 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ti.com; s=ti-com-17Q1; t=1499553855; bh=JKar6tWvlPG7Os0iooNMDccAFLK2ebw5ffcUbbwFfQ4=; h=From:To:CC:Subject:Date:In-Reply-To:References; b=pyRcBuaEr4Ue1a05sC2WeuvhMv67GdH5Iah/jV5tTZ0EJcoDTj4eN9g4Fhj+eTghM DuLAl9YlWCr5sfHBzmfQqM4bHhB3l/QkO/ptDypf1RF2Z/4p3USHLotS/t0NQSNVIe sQxy9Wq2d58M1VfAOAWZtyjeS8IxVwd3lLsncehU= Received: from DLEE70.ent.ti.com (dlee70.ent.ti.com [157.170.170.113]) by dlelxv90.itg.ti.com (8.14.3/8.13.8) with ESMTP id v68MiFuD023624; Sat, 8 Jul 2017 17:44:15 -0500 Received: from dlep33.itg.ti.com (157.170.170.75) by DLEE70.ent.ti.com (157.170.170.113) with Microsoft SMTP Server id 14.3.294.0; Sat, 8 Jul 2017 17:44:15 -0500 Received: from legion.dal.design.ti.com (legion.dal.design.ti.com [128.247.22.53]) by dlep33.itg.ti.com (8.14.3/8.13.8) with ESMTP id v68MiFqi030204; Sat, 8 Jul 2017 17:44:15 -0500 Received: from localhost (uda0226610.dhcp.ti.com [128.247.59.147]) by legion.dal.design.ti.com (8.11.7p1+Sun/8.11.7) with ESMTP id v68MiE316131; Sat, 8 Jul 2017 17:44:15 -0500 (CDT) From: Grygorii Strashko To: Robert Jarzmik , Linus Walleij , Thierry Reding , Jonathan Hunter , CC: , , Jerome Brunet , Grygorii Strashko Subject: [RFC/RFT PATCH 2/3] gpio: pxa: remove gpio_to_irq() from hw irq handlers Date: Sat, 8 Jul 2017 17:44:12 -0500 Message-ID: <20170708224413.18281-3-grygorii.strashko@ti.com> X-Mailer: git-send-email 2.10.1 In-Reply-To: <20170708224413.18281-1-grygorii.strashko@ti.com> References: <20170708224413.18281-1-grygorii.strashko@ti.com> MIME-Version: 1.0 Sender: linux-tegra-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-tegra@vger.kernel.org gpio_to_irq() API expected to be used by GPIO consumers and not drivers and there are no guarantee that its gpiolib implementation is irq safe. Signed-off-by: Grygorii Strashko --- drivers/gpio/gpio-pxa.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/gpio/gpio-pxa.c b/drivers/gpio/gpio-pxa.c index 832f3e4..6029899 100644 --- a/drivers/gpio/gpio-pxa.c +++ b/drivers/gpio/gpio-pxa.c @@ -451,7 +451,9 @@ static irqreturn_t pxa_gpio_demux_handler(int in_irq, void *d) for_each_set_bit(n, &gedr, BITS_PER_LONG) { loop = 1; - generic_handle_irq(gpio_to_irq(gpio + n)); + generic_handle_irq( + irq_find_mapping(pchip->irqdomain, + gpio + n)); } } handled += loop; @@ -465,9 +467,9 @@ static irqreturn_t pxa_gpio_direct_handler(int in_irq, void *d) struct pxa_gpio_chip *pchip = d; if (in_irq == pchip->irq0) { - generic_handle_irq(gpio_to_irq(0)); + generic_handle_irq(irq_find_mapping(pchip->irqdomain, 0)); } else if (in_irq == pchip->irq1) { - generic_handle_irq(gpio_to_irq(1)); + generic_handle_irq(irq_find_mapping(pchip->irqdomain, 1)); } else { pr_err("%s() unknown irq %d\n", __func__, in_irq); return IRQ_NONE;