|
@@ -967,17 +967,12 @@ static int __devinit ads7846_setup_pendown(struct spi_device *spi, struct ads784
|
|
|
ts->get_pendown_state = pdata->get_pendown_state;
|
|
|
} else if (gpio_is_valid(pdata->gpio_pendown)) {
|
|
|
|
|
|
- err = gpio_request(pdata->gpio_pendown, "ads7846_pendown");
|
|
|
+ err = gpio_request_one(pdata->gpio_pendown, GPIOF_IN,
|
|
|
+ "ads7846_pendown");
|
|
|
if (err) {
|
|
|
- dev_err(&spi->dev, "failed to request pendown GPIO%d\n",
|
|
|
- pdata->gpio_pendown);
|
|
|
- return err;
|
|
|
- }
|
|
|
- err = gpio_direction_input(pdata->gpio_pendown);
|
|
|
- if (err) {
|
|
|
- dev_err(&spi->dev, "failed to setup pendown GPIO%d\n",
|
|
|
- pdata->gpio_pendown);
|
|
|
- gpio_free(pdata->gpio_pendown);
|
|
|
+ dev_err(&spi->dev,
|
|
|
+ "failed to request/setup pendown GPIO%d: %d\n",
|
|
|
+ pdata->gpio_pendown, err);
|
|
|
return err;
|
|
|
}
|
|
|
|