aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNaveen Krishna <ch.naveen@samsung.com>2010-05-18 07:44:38 -0400
committerBen Dooks <ben-linux@fluff.org>2010-05-19 05:25:36 -0400
commit658ad39ea91d8f0597654032a768930497161a58 (patch)
tree68d4419fa55d492d2347ced21c305232a3e3a324
parent2b6c02abca5a04bf8d9f8a3b1976a5b10d317603 (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.c23
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 {
88static struct s3c2410ts ts; 86static 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*/
97static 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);