diff options
Diffstat (limited to 'drivers/input/touchscreen/ads7846.c')
-rw-r--r-- | drivers/input/touchscreen/ads7846.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/drivers/input/touchscreen/ads7846.c b/drivers/input/touchscreen/ads7846.c index 5196861b86ef..d507b9b67806 100644 --- a/drivers/input/touchscreen/ads7846.c +++ b/drivers/input/touchscreen/ads7846.c | |||
@@ -967,17 +967,12 @@ static int __devinit ads7846_setup_pendown(struct spi_device *spi, struct ads784 | |||
967 | ts->get_pendown_state = pdata->get_pendown_state; | 967 | ts->get_pendown_state = pdata->get_pendown_state; |
968 | } else if (gpio_is_valid(pdata->gpio_pendown)) { | 968 | } else if (gpio_is_valid(pdata->gpio_pendown)) { |
969 | 969 | ||
970 | err = gpio_request(pdata->gpio_pendown, "ads7846_pendown"); | 970 | err = gpio_request_one(pdata->gpio_pendown, GPIOF_IN, |
971 | "ads7846_pendown"); | ||
971 | if (err) { | 972 | if (err) { |
972 | dev_err(&spi->dev, "failed to request pendown GPIO%d\n", | 973 | dev_err(&spi->dev, |
973 | pdata->gpio_pendown); | 974 | "failed to request/setup pendown GPIO%d: %d\n", |
974 | return err; | 975 | pdata->gpio_pendown, err); |
975 | } | ||
976 | err = gpio_direction_input(pdata->gpio_pendown); | ||
977 | if (err) { | ||
978 | dev_err(&spi->dev, "failed to setup pendown GPIO%d\n", | ||
979 | pdata->gpio_pendown); | ||
980 | gpio_free(pdata->gpio_pendown); | ||
981 | return err; | 976 | return err; |
982 | } | 977 | } |
983 | 978 | ||