diff options
author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2012-01-09 02:38:23 -0500 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2012-01-09 02:38:23 -0500 |
commit | da733563be5a9da26fe81d9f007262d00b846e22 (patch) | |
tree | db28291df94a2043af2123911984c5c173da4e6f /drivers/input/touchscreen/mc13783_ts.c | |
parent | 6ccbcf2cb41131f8d56ef0723bf3f7c1f8486076 (diff) | |
parent | dab78d7924598ea4031663dd10db814e2e324928 (diff) |
Merge branch 'next' into for-linus
Diffstat (limited to 'drivers/input/touchscreen/mc13783_ts.c')
-rw-r--r-- | drivers/input/touchscreen/mc13783_ts.c | 47 |
1 files changed, 18 insertions, 29 deletions
diff --git a/drivers/input/touchscreen/mc13783_ts.c b/drivers/input/touchscreen/mc13783_ts.c index c5bc62d85bb..68f86f7dabb 100644 --- a/drivers/input/touchscreen/mc13783_ts.c +++ b/drivers/input/touchscreen/mc13783_ts.c | |||
@@ -35,7 +35,7 @@ MODULE_PARM_DESC(sample_tolerance, | |||
35 | 35 | ||
36 | struct mc13783_ts_priv { | 36 | struct mc13783_ts_priv { |
37 | struct input_dev *idev; | 37 | struct input_dev *idev; |
38 | struct mc13783 *mc13783; | 38 | struct mc13xxx *mc13xxx; |
39 | struct delayed_work work; | 39 | struct delayed_work work; |
40 | struct workqueue_struct *workq; | 40 | struct workqueue_struct *workq; |
41 | unsigned int sample[4]; | 41 | unsigned int sample[4]; |
@@ -45,7 +45,7 @@ static irqreturn_t mc13783_ts_handler(int irq, void *data) | |||
45 | { | 45 | { |
46 | struct mc13783_ts_priv *priv = data; | 46 | struct mc13783_ts_priv *priv = data; |
47 | 47 | ||
48 | mc13783_irq_ack(priv->mc13783, irq); | 48 | mc13xxx_irq_ack(priv->mc13xxx, irq); |
49 | 49 | ||
50 | /* | 50 | /* |
51 | * Kick off reading coordinates. Note that if work happens already | 51 | * Kick off reading coordinates. Note that if work happens already |
@@ -121,10 +121,10 @@ static void mc13783_ts_work(struct work_struct *work) | |||
121 | { | 121 | { |
122 | struct mc13783_ts_priv *priv = | 122 | struct mc13783_ts_priv *priv = |
123 | container_of(work, struct mc13783_ts_priv, work.work); | 123 | container_of(work, struct mc13783_ts_priv, work.work); |
124 | unsigned int mode = MC13783_ADC_MODE_TS; | 124 | unsigned int mode = MC13XXX_ADC_MODE_TS; |
125 | unsigned int channel = 12; | 125 | unsigned int channel = 12; |
126 | 126 | ||
127 | if (mc13783_adc_do_conversion(priv->mc13783, | 127 | if (mc13xxx_adc_do_conversion(priv->mc13xxx, |
128 | mode, channel, priv->sample) == 0) | 128 | mode, channel, priv->sample) == 0) |
129 | mc13783_ts_report_sample(priv); | 129 | mc13783_ts_report_sample(priv); |
130 | } | 130 | } |
@@ -134,21 +134,21 @@ static int mc13783_ts_open(struct input_dev *dev) | |||
134 | struct mc13783_ts_priv *priv = input_get_drvdata(dev); | 134 | struct mc13783_ts_priv *priv = input_get_drvdata(dev); |
135 | int ret; | 135 | int ret; |
136 | 136 | ||
137 | mc13783_lock(priv->mc13783); | 137 | mc13xxx_lock(priv->mc13xxx); |
138 | 138 | ||
139 | mc13783_irq_ack(priv->mc13783, MC13783_IRQ_TS); | 139 | mc13xxx_irq_ack(priv->mc13xxx, MC13XXX_IRQ_TS); |
140 | 140 | ||
141 | ret = mc13783_irq_request(priv->mc13783, MC13783_IRQ_TS, | 141 | ret = mc13xxx_irq_request(priv->mc13xxx, MC13XXX_IRQ_TS, |
142 | mc13783_ts_handler, MC13783_TS_NAME, priv); | 142 | mc13783_ts_handler, MC13783_TS_NAME, priv); |
143 | if (ret) | 143 | if (ret) |
144 | goto out; | 144 | goto out; |
145 | 145 | ||
146 | ret = mc13783_reg_rmw(priv->mc13783, MC13783_ADC0, | 146 | ret = mc13xxx_reg_rmw(priv->mc13xxx, MC13XXX_ADC0, |
147 | MC13783_ADC0_TSMOD_MASK, MC13783_ADC0_TSMOD0); | 147 | MC13XXX_ADC0_TSMOD_MASK, MC13XXX_ADC0_TSMOD0); |
148 | if (ret) | 148 | if (ret) |
149 | mc13783_irq_free(priv->mc13783, MC13783_IRQ_TS, priv); | 149 | mc13xxx_irq_free(priv->mc13xxx, MC13XXX_IRQ_TS, priv); |
150 | out: | 150 | out: |
151 | mc13783_unlock(priv->mc13783); | 151 | mc13xxx_unlock(priv->mc13xxx); |
152 | return ret; | 152 | return ret; |
153 | } | 153 | } |
154 | 154 | ||
@@ -156,11 +156,11 @@ static void mc13783_ts_close(struct input_dev *dev) | |||
156 | { | 156 | { |
157 | struct mc13783_ts_priv *priv = input_get_drvdata(dev); | 157 | struct mc13783_ts_priv *priv = input_get_drvdata(dev); |
158 | 158 | ||
159 | mc13783_lock(priv->mc13783); | 159 | mc13xxx_lock(priv->mc13xxx); |
160 | mc13783_reg_rmw(priv->mc13783, MC13783_ADC0, | 160 | mc13xxx_reg_rmw(priv->mc13xxx, MC13XXX_ADC0, |
161 | MC13783_ADC0_TSMOD_MASK, 0); | 161 | MC13XXX_ADC0_TSMOD_MASK, 0); |
162 | mc13783_irq_free(priv->mc13783, MC13783_IRQ_TS, priv); | 162 | mc13xxx_irq_free(priv->mc13xxx, MC13XXX_IRQ_TS, priv); |
163 | mc13783_unlock(priv->mc13783); | 163 | mc13xxx_unlock(priv->mc13xxx); |
164 | 164 | ||
165 | cancel_delayed_work_sync(&priv->work); | 165 | cancel_delayed_work_sync(&priv->work); |
166 | } | 166 | } |
@@ -177,7 +177,7 @@ static int __init mc13783_ts_probe(struct platform_device *pdev) | |||
177 | goto err_free_mem; | 177 | goto err_free_mem; |
178 | 178 | ||
179 | INIT_DELAYED_WORK(&priv->work, mc13783_ts_work); | 179 | INIT_DELAYED_WORK(&priv->work, mc13783_ts_work); |
180 | priv->mc13783 = dev_get_drvdata(pdev->dev.parent); | 180 | priv->mc13xxx = dev_get_drvdata(pdev->dev.parent); |
181 | priv->idev = idev; | 181 | priv->idev = idev; |
182 | 182 | ||
183 | /* | 183 | /* |
@@ -240,18 +240,7 @@ static struct platform_driver mc13783_ts_driver = { | |||
240 | .name = MC13783_TS_NAME, | 240 | .name = MC13783_TS_NAME, |
241 | }, | 241 | }, |
242 | }; | 242 | }; |
243 | 243 | module_platform_driver(mc13783_ts_driver); | |
244 | static int __init mc13783_ts_init(void) | ||
245 | { | ||
246 | return platform_driver_probe(&mc13783_ts_driver, &mc13783_ts_probe); | ||
247 | } | ||
248 | module_init(mc13783_ts_init); | ||
249 | |||
250 | static void __exit mc13783_ts_exit(void) | ||
251 | { | ||
252 | platform_driver_unregister(&mc13783_ts_driver); | ||
253 | } | ||
254 | module_exit(mc13783_ts_exit); | ||
255 | 244 | ||
256 | MODULE_DESCRIPTION("MC13783 input touchscreen driver"); | 245 | MODULE_DESCRIPTION("MC13783 input touchscreen driver"); |
257 | MODULE_AUTHOR("Sascha Hauer <s.hauer@pengutronix.de>"); | 246 | MODULE_AUTHOR("Sascha Hauer <s.hauer@pengutronix.de>"); |