From patchwork Thu Oct 4 03:15:06 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fabio Estevam X-Patchwork-Id: 1544561 Return-Path: X-Original-To: patchwork-linux-input@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork2.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork2.kernel.org (Postfix) with ESMTP id AE6DEDFF71 for ; Thu, 4 Oct 2012 03:17:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754896Ab2JDDQ6 (ORCPT ); Wed, 3 Oct 2012 23:16:58 -0400 Received: from mail-yx0-f174.google.com ([209.85.213.174]:54509 "EHLO mail-yx0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752195Ab2JDDPx (ORCPT ); Wed, 3 Oct 2012 23:15:53 -0400 Received: by mail-yx0-f174.google.com with SMTP id m12so6725yen.19 for ; Wed, 03 Oct 2012 20:15:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references; bh=jPoJwHAjX2jCV4MPD2d3idQOLQafoPGs7iHu1Pp+qeo=; b=Au5qpY5wmGAvOpjGE/z0ldiwtTIGx+1O2aNcE8owaD/NG3ohoa4Yp0dWi681JzhBJY CGk1HLYH2zjHUuQq1Rp84kardHuC6YnrL2utbrh5a7xkMdi3y1ERumj5nUiHJuSjwt2x LHzdGt2h85mwWUKYW+otuHtIw5AEHfejy+ZRywSUOmU+3mQR5gkwFdTYG3e2LJt3iXQr yfnPxixcP6GOTXRwIB0f29w9ThPacHQJUcP1W8Hw3brUhHw6ofs+h96G95rKalvt54ZA 2qMc3ssnQ5TOsl3t2UJSCUMkl4MV6InGv4FDqSFEd6kQ7qJtLxgQRS5xD+w3/nJYczeU AgkQ== Received: by 10.236.184.9 with SMTP id r9mr3870345yhm.18.1349320552790; Wed, 03 Oct 2012 20:15:52 -0700 (PDT) Received: from fabio-Latitude-E6410.cps.virtua.com.br ([201.82.136.72]) by mx.google.com with ESMTPS id m51sm8388237yhh.16.2012.10.03.20.15.50 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 03 Oct 2012 20:15:52 -0700 (PDT) From: Fabio Estevam To: sameo@linux.intel.com Cc: broonie@opensource.wolfsonmicro.com, ashish.jangam@kpitcummins.com, dchen@diasemi.com, arnd@arndb.de, kernel@pengutronix.de, linux-kernel@vger.kernel.org, Fabio Estevam , Dmitry Torokhov , Subject: [PATCH 3/6] Input: da9052_tsi.c: Fix interrupt handling Date: Thu, 4 Oct 2012 00:15:06 -0300 Message-Id: <1349320509-26930-3-git-send-email-festevam@gmail.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1349320509-26930-1-git-send-email-festevam@gmail.com> References: <1349320509-26930-1-git-send-email-festevam@gmail.com> Sender: linux-input-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-input@vger.kernel.org From: Fabio Estevam Currently da9062_tsi does not probe and it fails as follows: da9052 1-0048: Unable to determine device interrupts Use the new da9052 irq functions and allow the driver to probe and operate correctly. Tested on mx53qsb board using 'evtest' tool. Cc: Dmitry Torokhov Cc: Signed-off-by: Fabio Estevam --- drivers/input/touchscreen/da9052_tsi.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/drivers/input/touchscreen/da9052_tsi.c b/drivers/input/touchscreen/da9052_tsi.c index 71f6165..33fd3fa 100644 --- a/drivers/input/touchscreen/da9052_tsi.c +++ b/drivers/input/touchscreen/da9052_tsi.c @@ -274,16 +274,16 @@ static int __devinit da9052_ts_probe(struct platform_device *pdev) /* Disable ADC */ da9052_ts_adc_toggle(tsi, false); - error = da9052_request_irq(tsi->da9052, DA9052_IRQ_PENDOWN, "pendown-irq", - da9052_ts_pendwn_irq, tsi); + error = da9052_request_irq(tsi->da9052, DA9052_IRQ_PENDOWN, + "pendown-irq", da9052_ts_pendwn_irq, tsi); if (error) { dev_err(tsi->da9052->dev, "Failed to register PENDWN IRQ: %d\n", error); goto err_free_mem; } - error = da9052_request_irq(tsi->da9052, DA9052_IRQ_TSIREADY, "tsiready-irq", - da9052_ts_datardy_irq, tsi); + error = da9052_request_irq(tsi->da9052, DA9052_IRQ_TSIREADY, + "tsiready-irq", da9052_ts_datardy_irq, tsi); if (error) { dev_err(tsi->da9052->dev, "Failed to register TSIRDY IRQ :%d\n", error); @@ -307,9 +307,9 @@ static int __devinit da9052_ts_probe(struct platform_device *pdev) return 0; err_free_datardy_irq: - da9052_free_irq(da9052, DA9052_IRQ_TSIREADY, da9052); + da9052_free_irq(tsi->da9052, DA9052_IRQ_TSIREADY, tsi); err_free_pendwn_irq: - da9052_free_irq(da9052, DA9052_IRQ_PENDOWN, da9052); + da9052_free_irq(tsi->da9052, DA9052_IRQ_PENDOWN, tsi); err_free_mem: kfree(tsi); input_free_device(input_dev); @@ -320,12 +320,11 @@ err_free_mem: static int __devexit da9052_ts_remove(struct platform_device *pdev) { struct da9052_tsi *tsi = platform_get_drvdata(pdev); - struct da9052 *da9052 = dev_get_drvdata(pdev->dev.parent); da9052_reg_write(tsi->da9052, DA9052_LDO9_REG, 0x19); - da9052_free_irq(da9052, DA9052_IRQ_TSIREADY, da9052); - da9052_free_irq(da9052, DA9052_IRQ_PENDOWN, da9052); + da9052_free_irq(tsi->da9052, DA9052_IRQ_TSIREADY, tsi); + da9052_free_irq(tsi->da9052, DA9052_IRQ_PENDOWN, tsi); input_unregister_device(tsi->dev); kfree(tsi);