ARM: OMAP2+: ads7846_init: put gpio_pendown into pdata if it's provided
authorIlya Yanok <yanok@emcraft.com>
Tue, 6 Mar 2012 00:11:02 +0000 (16:11 -0800)
committerTony Lindgren <tony@atomide.com>
Tue, 6 Mar 2012 00:11:02 +0000 (16:11 -0800)
If platform data is provided by the caller gpio_pendown is put into
unused static ads7846_config structure and effectively has no effect.
Of course caller can set gpio_pendown field in platform data himself
but it seems natural to do this in ads7846_init to remove duplication.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Ilya Yanok <yanok@emcraft.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/mach-omap2/common-board-devices.c

index bcb0c5817167095b7d2b0edc536ab663a9463bd3..799a617ade30ac934501bf3b97ce55d481f8717c 100644 (file)
@@ -76,13 +76,15 @@ void __init omap_ads7846_init(int bus_num, int gpio_pendown, int gpio_debounce,
                        gpio_set_debounce(gpio_pendown, gpio_debounce);
        }
 
-       ads7846_config.gpio_pendown = gpio_pendown;
-
        spi_bi->bus_num = bus_num;
        spi_bi->irq     = OMAP_GPIO_IRQ(gpio_pendown);
 
-       if (board_pdata)
+       if (board_pdata) {
+               board_pdata->gpio_pendown = gpio_pendown;
                spi_bi->platform_data = board_pdata;
+       } else {
+               ads7846_config.gpio_pendown = gpio_pendown;
+       }
 
        spi_register_board_info(&ads7846_spi_board_info, 1);
 }