From patchwork Fri Sep 2 15:03:05 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Ujfalusi X-Patchwork-Id: 1122522 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter1.kernel.org (8.14.4/8.14.4) with ESMTP id p82F4GHf008121 for ; Fri, 2 Sep 2011 15:04:18 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753072Ab1IBPEL (ORCPT ); Fri, 2 Sep 2011 11:04:11 -0400 Received: from na3sys009aog111.obsmtp.com ([74.125.149.205]:33491 "EHLO na3sys009aog111.obsmtp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752899Ab1IBPDn (ORCPT ); Fri, 2 Sep 2011 11:03:43 -0400 Received: from mail-fx0-f42.google.com ([209.85.161.42]) (using TLSv1) by na3sys009aob111.postini.com ([74.125.148.12]) with SMTP ID DSNKTmDwTWnSZGgVxM5mm/yMZAPopHXPPb2L@postini.com; Fri, 02 Sep 2011 08:03:42 PDT Received: by mail-fx0-f42.google.com with SMTP id 23so1773500fxe.15 for ; Fri, 02 Sep 2011 08:03:41 -0700 (PDT) Received: by 10.223.7.10 with SMTP id b10mr1880300fab.76.1314975821632; Fri, 02 Sep 2011 08:03:41 -0700 (PDT) Received: from barack.localdomain (a91-153-205-41.elisa-laajakaista.fi [91.153.205.41]) by mx.google.com with ESMTPS id s13sm959143fad.18.2011.09.02.08.03.40 (version=SSLv3 cipher=OTHER); Fri, 02 Sep 2011 08:03:41 -0700 (PDT) From: Peter Ujfalusi To: Samuel Ortiz , Dmitry Torokhov , Misael Lopez Cruz Cc: linux-input@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 4/4] MFD: twl6040: Fix power on GPIO handling Date: Fri, 2 Sep 2011 18:03:05 +0300 Message-Id: <1314975785-25081-5-git-send-email-peter.ujfalusi@ti.com> X-Mailer: git-send-email 1.7.6.1 In-Reply-To: <1314975785-25081-1-git-send-email-peter.ujfalusi@ti.com> References: <1314975785-25081-1-git-send-email-peter.ujfalusi@ti.com> Sender: linux-input-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-input@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.6 (demeter1.kernel.org [140.211.167.41]); Fri, 02 Sep 2011 15:04:19 +0000 (UTC) Avoid requesting the audpwron gpio in case of ES1.0 revision. In the past we requested the gpio, but we did not free it up, since we made the check for the revision later. This results later checks for gpio validity to fail, leaving the gpio reserved (even after the driver has been removed). Signed-off-by: Peter Ujfalusi --- drivers/mfd/twl6040-core.c | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/mfd/twl6040-core.c b/drivers/mfd/twl6040-core.c index 51c3b47..7dc8c47 100644 --- a/drivers/mfd/twl6040-core.c +++ b/drivers/mfd/twl6040-core.c @@ -470,7 +470,6 @@ static int __devinit twl6040_probe(struct platform_device *pdev) platform_set_drvdata(pdev, twl6040); twl6040->dev = &pdev->dev; - twl6040->audpwron = pdata->audpwron_gpio; twl6040->irq = pdata->naudint_irq; twl6040->irq_base = pdata->irq_base; @@ -480,6 +479,12 @@ static int __devinit twl6040_probe(struct platform_device *pdev) twl6040->rev = twl6040_reg_read(twl6040, TWL6040_REG_ASICREV); + /* ERRATA: Automatic power-up is not possible in ES1.0 */ + if (twl6040_get_revid(twl6040) > TWL6040_REV_ES1_0) + twl6040->audpwron = pdata->audpwron_gpio; + else + twl6040->audpwron = -EINVAL; + if (gpio_is_valid(twl6040->audpwron)) { ret = gpio_request(twl6040->audpwron, "audpwron"); if (ret) @@ -490,10 +495,6 @@ static int __devinit twl6040_probe(struct platform_device *pdev) goto gpio2_err; } - /* ERRATA: Automatic power-up is not possible in ES1.0 */ - if (twl6040_get_revid(twl6040) == TWL6040_REV_ES1_0) - twl6040->audpwron = -EINVAL; - /* codec interrupt */ ret = twl6040_irq_init(twl6040); if (ret)