Commit 97ee9f01 authored by Igor Grinberg's avatar Igor Grinberg Committed by Tony Lindgren

ARM: OMAP: fix the ads7846 init code

In case a board provides the gpio_pendown and not board_pdata,
the GPIO debounce is not taken care of.
Fix this by taking care of GPIO debounce in any case.
Signed-off-by: default avatarIgor Grinberg <grinberg@compulab.co.il>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent 485802a6
...@@ -63,28 +63,30 @@ void __init omap_ads7846_init(int bus_num, int gpio_pendown, int gpio_debounce, ...@@ -63,28 +63,30 @@ void __init omap_ads7846_init(int bus_num, int gpio_pendown, int gpio_debounce,
struct spi_board_info *spi_bi = &ads7846_spi_board_info; struct spi_board_info *spi_bi = &ads7846_spi_board_info;
int err; int err;
if (board_pdata && board_pdata->get_pendown_state) { err = gpio_request_one(gpio_pendown, GPIOF_IN, "TSPenDown");
err = gpio_request_one(gpio_pendown, GPIOF_IN, "TSPenDown"); if (err) {
if (err) { pr_err("Couldn't obtain gpio for TSPenDown: %d\n", err);
pr_err("Couldn't obtain gpio for TSPenDown: %d\n", err); return;
return;
}
gpio_export(gpio_pendown, 0);
if (gpio_debounce)
gpio_set_debounce(gpio_pendown, gpio_debounce);
} }
if (gpio_debounce)
gpio_set_debounce(gpio_pendown, gpio_debounce);
spi_bi->bus_num = bus_num; spi_bi->bus_num = bus_num;
spi_bi->irq = gpio_to_irq(gpio_pendown); spi_bi->irq = gpio_to_irq(gpio_pendown);
if (board_pdata) { if (board_pdata) {
board_pdata->gpio_pendown = gpio_pendown; board_pdata->gpio_pendown = gpio_pendown;
spi_bi->platform_data = board_pdata; spi_bi->platform_data = board_pdata;
if (board_pdata->get_pendown_state)
gpio_export(gpio_pendown, 0);
} else { } else {
ads7846_config.gpio_pendown = gpio_pendown; ads7846_config.gpio_pendown = gpio_pendown;
} }
if (!board_pdata || (board_pdata && !board_pdata->get_pendown_state))
gpio_free(gpio_pendown);
spi_register_board_info(&ads7846_spi_board_info, 1); spi_register_board_info(&ads7846_spi_board_info, 1);
} }
#else #else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment