diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-18 15:46:37 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-18 15:46:37 -0500 |
commit | 31564cbd77baa88405862d4aa0d00893ab1d8cb7 (patch) | |
tree | 2eaec947ab64ccfa2d94ca29bf14feb70b8a4b61 /arch/arm | |
parent | 6842d98de7bb726dfddc719cb9ae022b26a0f2b8 (diff) | |
parent | 022573c275500e1a50889949f679d04b5446edf6 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
Pull second round of input updates from Dmitry Torokhov:
"As usual, there are a couple of new drivers, input core now supports
managed input devices (devres), a slew of drivers now have device tree
support and a bunch of fixes and cleanups."
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (71 commits)
Input: walkera0701 - fix crash on startup
Input: matrix-keymap - provide a proper module license
Input: gpio_keys_polled - switch to using gpio_request_one()
Input: gpio_keys - switch to using gpio_request_one()
Input: wacom - fix touch support for Bamboo Fun CTH-461
Input: xpad - add a few new VID/PID combinations
Input: xpad - minor formatting fixes
Input: gpio-keys-polled - honor 'autorepeat' setting in platform data
Input: tca8418-keypad - switch to using managed resources
Input: tca8418_keypad - increase severity of failures in probe()
Input: tca8418_keypad - move device ID tables closer to where they are used
Input: tca8418_keypad - use dev_get_platdata() to retrieve platform data
Input: tca8418_keypad - use a temporary variable for parent device
Input: tca8418_keypad - add support for shared interrupt
Input: tca8418_keypad - add support for device tree bindings
Input: remove Compaq iPAQ H3600 (Bitsy) touchscreen driver
Input: bu21013_ts - add support for Device Tree booting
Input: bu21013_ts - move GPIO init and exit functions into the driver
Input: bu21013_ts - request regulator that actually exists
ARM: ux500: Strip out duplicate touch screen platform information
...
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-omap1/board-nokia770.c | 14 | ||||
-rw-r--r-- | arch/arm/mach-ux500/board-mop500-stuib.c | 71 |
2 files changed, 2 insertions, 83 deletions
diff --git a/arch/arm/mach-omap1/board-nokia770.c b/arch/arm/mach-omap1/board-nokia770.c index 3e8ead67e459..24d2f2df11a0 100644 --- a/arch/arm/mach-omap1/board-nokia770.c +++ b/arch/arm/mach-omap1/board-nokia770.c | |||
@@ -112,17 +112,6 @@ static void __init mipid_dev_init(void) | |||
112 | omapfb_set_lcd_config(&nokia770_lcd_config); | 112 | omapfb_set_lcd_config(&nokia770_lcd_config); |
113 | } | 113 | } |
114 | 114 | ||
115 | static void __init ads7846_dev_init(void) | ||
116 | { | ||
117 | if (gpio_request(ADS7846_PENDOWN_GPIO, "ADS7846 pendown") < 0) | ||
118 | printk(KERN_ERR "can't get ads7846 pen down GPIO\n"); | ||
119 | } | ||
120 | |||
121 | static int ads7846_get_pendown_state(void) | ||
122 | { | ||
123 | return !gpio_get_value(ADS7846_PENDOWN_GPIO); | ||
124 | } | ||
125 | |||
126 | static struct ads7846_platform_data nokia770_ads7846_platform_data __initdata = { | 115 | static struct ads7846_platform_data nokia770_ads7846_platform_data __initdata = { |
127 | .x_max = 0x0fff, | 116 | .x_max = 0x0fff, |
128 | .y_max = 0x0fff, | 117 | .y_max = 0x0fff, |
@@ -131,7 +120,7 @@ static struct ads7846_platform_data nokia770_ads7846_platform_data __initdata = | |||
131 | .debounce_max = 10, | 120 | .debounce_max = 10, |
132 | .debounce_tol = 3, | 121 | .debounce_tol = 3, |
133 | .debounce_rep = 1, | 122 | .debounce_rep = 1, |
134 | .get_pendown_state = ads7846_get_pendown_state, | 123 | .gpio_pendown = ADS7846_PENDOWN_GPIO, |
135 | }; | 124 | }; |
136 | 125 | ||
137 | static struct spi_board_info nokia770_spi_board_info[] __initdata = { | 126 | static struct spi_board_info nokia770_spi_board_info[] __initdata = { |
@@ -241,7 +230,6 @@ static void __init omap_nokia770_init(void) | |||
241 | omap_serial_init(); | 230 | omap_serial_init(); |
242 | omap_register_i2c_bus(1, 100, NULL, 0); | 231 | omap_register_i2c_bus(1, 100, NULL, 0); |
243 | hwa742_dev_init(); | 232 | hwa742_dev_init(); |
244 | ads7846_dev_init(); | ||
245 | mipid_dev_init(); | 233 | mipid_dev_init(); |
246 | omap1_usb_init(&nokia770_usb_config); | 234 | omap1_usb_init(&nokia770_usb_config); |
247 | nokia770_mmc_init(); | 235 | nokia770_mmc_init(); |
diff --git a/arch/arm/mach-ux500/board-mop500-stuib.c b/arch/arm/mach-ux500/board-mop500-stuib.c index 564f57d5d8a7..7e1f294f0434 100644 --- a/arch/arm/mach-ux500/board-mop500-stuib.c +++ b/arch/arm/mach-ux500/board-mop500-stuib.c | |||
@@ -77,9 +77,6 @@ static struct i2c_board_info __initdata mop500_i2c0_devices_stuib[] = { | |||
77 | * BU21013 ROHM touchscreen interface on the STUIBs | 77 | * BU21013 ROHM touchscreen interface on the STUIBs |
78 | */ | 78 | */ |
79 | 79 | ||
80 | /* tracks number of bu21013 devices being enabled */ | ||
81 | static int bu21013_devices; | ||
82 | |||
83 | #define TOUCH_GPIO_PIN 84 | 80 | #define TOUCH_GPIO_PIN 84 |
84 | 81 | ||
85 | #define TOUCH_XMAX 384 | 82 | #define TOUCH_XMAX 384 |
@@ -88,73 +85,8 @@ static int bu21013_devices; | |||
88 | #define PRCMU_CLOCK_OCR 0x1CC | 85 | #define PRCMU_CLOCK_OCR 0x1CC |
89 | #define TSC_EXT_CLOCK_9_6MHZ 0x840000 | 86 | #define TSC_EXT_CLOCK_9_6MHZ 0x840000 |
90 | 87 | ||
91 | /** | ||
92 | * bu21013_gpio_board_init : configures the touch panel. | ||
93 | * @reset_pin: reset pin number | ||
94 | * This function can be used to configures | ||
95 | * the voltage and reset the touch panel controller. | ||
96 | */ | ||
97 | static int bu21013_gpio_board_init(int reset_pin) | ||
98 | { | ||
99 | int retval = 0; | ||
100 | |||
101 | bu21013_devices++; | ||
102 | if (bu21013_devices == 1) { | ||
103 | retval = gpio_request(reset_pin, "touchp_reset"); | ||
104 | if (retval) { | ||
105 | printk(KERN_ERR "Unable to request gpio reset_pin"); | ||
106 | return retval; | ||
107 | } | ||
108 | retval = gpio_direction_output(reset_pin, 1); | ||
109 | if (retval < 0) { | ||
110 | printk(KERN_ERR "%s: gpio direction failed\n", | ||
111 | __func__); | ||
112 | return retval; | ||
113 | } | ||
114 | } | ||
115 | |||
116 | return retval; | ||
117 | } | ||
118 | |||
119 | /** | ||
120 | * bu21013_gpio_board_exit : deconfigures the touch panel controller | ||
121 | * @reset_pin: reset pin number | ||
122 | * This function can be used to deconfigures the chip selection | ||
123 | * for touch panel controller. | ||
124 | */ | ||
125 | static int bu21013_gpio_board_exit(int reset_pin) | ||
126 | { | ||
127 | int retval = 0; | ||
128 | |||
129 | if (bu21013_devices == 1) { | ||
130 | retval = gpio_direction_output(reset_pin, 0); | ||
131 | if (retval < 0) { | ||
132 | printk(KERN_ERR "%s: gpio direction failed\n", | ||
133 | __func__); | ||
134 | return retval; | ||
135 | } | ||
136 | gpio_set_value(reset_pin, 0); | ||
137 | } | ||
138 | bu21013_devices--; | ||
139 | |||
140 | return retval; | ||
141 | } | ||
142 | |||
143 | /** | ||
144 | * bu21013_read_pin_val : get the interrupt pin value | ||
145 | * This function can be used to get the interrupt pin value for touch panel | ||
146 | * controller. | ||
147 | */ | ||
148 | static int bu21013_read_pin_val(void) | ||
149 | { | ||
150 | return gpio_get_value(TOUCH_GPIO_PIN); | ||
151 | } | ||
152 | |||
153 | static struct bu21013_platform_device tsc_plat_device = { | 88 | static struct bu21013_platform_device tsc_plat_device = { |
154 | .cs_en = bu21013_gpio_board_init, | 89 | .touch_pin = TOUCH_GPIO_PIN, |
155 | .cs_dis = bu21013_gpio_board_exit, | ||
156 | .irq_read_val = bu21013_read_pin_val, | ||
157 | .irq = NOMADIK_GPIO_TO_IRQ(TOUCH_GPIO_PIN), | ||
158 | .touch_x_max = TOUCH_XMAX, | 90 | .touch_x_max = TOUCH_XMAX, |
159 | .touch_y_max = TOUCH_YMAX, | 91 | .touch_y_max = TOUCH_YMAX, |
160 | .ext_clk = false, | 92 | .ext_clk = false, |
@@ -171,7 +103,6 @@ static struct i2c_board_info __initdata u8500_i2c3_devices_stuib[] = { | |||
171 | I2C_BOARD_INFO("bu21013_tp", 0x5D), | 103 | I2C_BOARD_INFO("bu21013_tp", 0x5D), |
172 | .platform_data = &tsc_plat_device, | 104 | .platform_data = &tsc_plat_device, |
173 | }, | 105 | }, |
174 | |||
175 | }; | 106 | }; |
176 | 107 | ||
177 | void __init mop500_stuib_init(void) | 108 | void __init mop500_stuib_init(void) |