From patchwork Thu Jun 24 11:13:36 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luotao Fu X-Patchwork-Id: 107835 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.4/8.14.3) with ESMTP id o5OBFlLl018705 for ; Thu, 24 Jun 2010 11:15:47 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755026Ab0FXLOM (ORCPT ); Thu, 24 Jun 2010 07:14:12 -0400 Received: from metis.ext.pengutronix.de ([92.198.50.35]:52562 "EHLO metis.ext.pengutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754945Ab0FXLOL (ORCPT ); Thu, 24 Jun 2010 07:14:11 -0400 Received: from octopus.hi.pengutronix.de ([2001:6f8:1178:2:215:17ff:fe12:23b0] helo=localhost) by metis.ext.pengutronix.de with esmtp (Exim 4.71) (envelope-from ) id 1ORkNg-0004SH-C9; Thu, 24 Jun 2010 13:14:04 +0200 From: Luotao Fu To: Rabin VINCENT , Samuel Ortiz , Dmitry Torokhov Cc: Linus WALLEIJ , linux-kernel@vger.kernel.org, linux-input@vger.kernel.org, STEricsson_nomadik_linux , Luotao Fu Subject: [PATCH 1/6] gpio/stmpe-gpio: set GPIO alternate function while requesting Date: Thu, 24 Jun 2010 13:13:36 +0200 Message-Id: <1277378021-16802-2-git-send-email-l.fu@pengutronix.de> X-Mailer: git-send-email 1.7.1 In-Reply-To: <20100622135635.GA30720@bnru02.bnr.st.com> References: <20100622135635.GA30720@bnru02.bnr.st.com> X-SA-Exim-Connect-IP: 2001:6f8:1178:2:215:17ff:fe12:23b0 X-SA-Exim-Mail-From: l.fu@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-input@vger.kernel.org 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.3 (demeter.kernel.org [140.211.167.41]); Thu, 24 Jun 2010 11:15:47 +0000 (UTC) diff --git a/drivers/gpio/stmpe-gpio.c b/drivers/gpio/stmpe-gpio.c index bd49a3a..a4de271 100644 --- a/drivers/gpio/stmpe-gpio.c +++ b/drivers/gpio/stmpe-gpio.c @@ -98,6 +98,14 @@ static int stmpe_gpio_to_irq(struct gpio_chip *chip, unsigned offset) return stmpe_gpio->irq_base + offset; } +static int stmpe_gpio_request(struct gpio_chip *chip, unsigned offset) +{ + struct stmpe_gpio *stmpe_gpio = to_stmpe_gpio(chip); + struct stmpe *stmpe = stmpe_gpio->stmpe; + + return stmpe_set_altfunc(stmpe, 1 << offset, STMPE_BLOCK_GPIO); +} + static struct gpio_chip template_chip = { .label = "stmpe", .owner = THIS_MODULE, @@ -106,6 +114,7 @@ static struct gpio_chip template_chip = { .direction_output = stmpe_gpio_direction_output, .set = stmpe_gpio_set, .to_irq = stmpe_gpio_to_irq, + .request = stmpe_gpio_request, .can_sleep = 1, };