diff options
author | Naveen Krishna <ch.naveen@samsung.com> | 2010-05-18 07:44:38 -0400 |
---|---|---|
committer | Ben Dooks <ben-linux@fluff.org> | 2010-05-19 05:25:36 -0400 |
commit | 658ad39ea91d8f0597654032a768930497161a58 (patch) | |
tree | 68d4419fa55d492d2347ced21c305232a3e3a324 | |
parent | 2b6c02abca5a04bf8d9f8a3b1976a5b10d317603 (diff) |
Input: s3c24xx_ts - Implement generic GPIO configuration callback
This patch implements generic GPIO configuration function in Samsung
touchscreen driver. And makes the touchscreen driver s3c24xx-ts.c
generic to all the Samsung SoCs.
Signed-off-by: Naveen Krishna Ch <ch.naveen@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
[ben-linux@fluff.org: fixed title ]
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Acked-by: Dmitry Torokhov <dtor@mail.ru>
-rw-r--r-- | drivers/input/touchscreen/s3c2410_ts.c | 23 |
1 files changed, 3 insertions, 20 deletions
diff --git a/drivers/input/touchscreen/s3c2410_ts.c b/drivers/input/touchscreen/s3c2410_ts.c index a2e122878f30..86086a42d5e3 100644 --- a/drivers/input/touchscreen/s3c2410_ts.c +++ b/drivers/input/touchscreen/s3c2410_ts.c | |||
@@ -39,8 +39,6 @@ | |||
39 | #include <plat/regs-adc.h> | 39 | #include <plat/regs-adc.h> |
40 | #include <plat/ts.h> | 40 | #include <plat/ts.h> |
41 | 41 | ||
42 | #include <mach/regs-gpio.h> | ||
43 | |||
44 | #define TSC_SLEEP (S3C2410_ADCTSC_PULL_UP_DISABLE | S3C2410_ADCTSC_XY_PST(0)) | 42 | #define TSC_SLEEP (S3C2410_ADCTSC_PULL_UP_DISABLE | S3C2410_ADCTSC_XY_PST(0)) |
45 | 43 | ||
46 | #define INT_DOWN (0) | 44 | #define INT_DOWN (0) |
@@ -88,21 +86,6 @@ struct s3c2410ts { | |||
88 | static struct s3c2410ts ts; | 86 | static struct s3c2410ts ts; |
89 | 87 | ||
90 | /** | 88 | /** |
91 | * s3c2410_ts_connect - configure gpio for s3c2410 systems | ||
92 | * | ||
93 | * Configure the GPIO for the S3C2410 system, where we have external FETs | ||
94 | * connected to the device (later systems such as the S3C2440 integrate | ||
95 | * these into the device). | ||
96 | */ | ||
97 | static inline void s3c2410_ts_connect(void) | ||
98 | { | ||
99 | s3c2410_gpio_cfgpin(S3C2410_GPG(12), S3C2410_GPG12_XMON); | ||
100 | s3c2410_gpio_cfgpin(S3C2410_GPG(13), S3C2410_GPG13_nXPON); | ||
101 | s3c2410_gpio_cfgpin(S3C2410_GPG(14), S3C2410_GPG14_YMON); | ||
102 | s3c2410_gpio_cfgpin(S3C2410_GPG(15), S3C2410_GPG15_nYPON); | ||
103 | } | ||
104 | |||
105 | /** | ||
106 | * get_down - return the down state of the pen | 89 | * get_down - return the down state of the pen |
107 | * @data0: The data read from ADCDAT0 register. | 90 | * @data0: The data read from ADCDAT0 register. |
108 | * @data1: The data read from ADCDAT1 register. | 91 | * @data1: The data read from ADCDAT1 register. |
@@ -296,9 +279,9 @@ static int __devinit s3c2410ts_probe(struct platform_device *pdev) | |||
296 | goto err_clk; | 279 | goto err_clk; |
297 | } | 280 | } |
298 | 281 | ||
299 | /* Configure the touchscreen external FETs on the S3C2410 */ | 282 | /* inititalise the gpio */ |
300 | if (!platform_get_device_id(pdev)->driver_data) | 283 | if (info->cfg_gpio) |
301 | s3c2410_ts_connect(); | 284 | info->cfg_gpio(to_platform_device(ts.dev)); |
302 | 285 | ||
303 | ts.client = s3c_adc_register(pdev, s3c24xx_ts_select, | 286 | ts.client = s3c_adc_register(pdev, s3c24xx_ts_select, |
304 | s3c24xx_ts_conversion, 1); | 287 | s3c24xx_ts_conversion, 1); |