diff mbox

[v3,2/2] Input: ads7846: use gpio_request_one to configure pendown_gpio

Message ID 20110204133250.GB2070@m-desktop (mailing list archive)
State Awaiting Upstream, archived
Headers show

Commit Message

manjugk manjugk Feb. 4, 2011, 1:32 p.m. UTC
None
diff mbox

Patch

diff --git a/drivers/input/touchscreen/ads7846.c
b/drivers/input/touchscreen/ads7846.c
index 14ea54b..940967b 100644
--- a/drivers/input/touchscreen/ads7846.c
+++ b/drivers/input/touchscreen/ads7846.c
@@ -941,29 +941,30 @@  static int __devinit ads7846_setup_pendown(struct
spi_device *spi, struct ads784
 	struct ads7846_platform_data *pdata = spi->dev.platform_data;
 	int err;
 
-	/* REVISIT when the irq can be triggered active-low, or if for
	some
+	/*
+	 * REVISIT when the irq can be triggered active-low, or if for
some
 	 * reason the touchscreen isn't hooked up, we don't need to
 	 * access
 	 * the pendown state.
 	 */
-	if (!pdata->get_pendown_state &&
	!gpio_is_valid(pdata->gpio_pendown)) {
-		dev_err(&spi->dev, "no get_pendown_state nor
		gpio_pendown?\n");
-		return -EINVAL;
-	}
 
 	if (pdata->get_pendown_state) {
 		ts->get_pendown_state = pdata->get_pendown_state;
-		return 0;
-	}
+	} else if (gpio_is_valid(pdata->gpio_pendown)) {
+
+		err = gpio_request_one(pdata->gpio_pendown,
GPIOF_DIR_IN,
+
"ads7846_pendown");
+		if (err) {
+			dev_err(&spi->dev, "failed to request pendown
GPIO%d\n",
+				pdata->gpio_pendown);
+			return err;
+		}
 
-	err = gpio_request(pdata->gpio_pendown, "ads7846_pendown");
-	if (err) {
-		dev_err(&spi->dev, "failed to request pendown GPIO%d\n",