summaryrefslogtreecommitdiff
path: root/packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/tosa_ts.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/tosa_ts.patch')
-rw-r--r--packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/tosa_ts.patch207
1 files changed, 0 insertions, 207 deletions
diff --git a/packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/tosa_ts.patch b/packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/tosa_ts.patch
deleted file mode 100644
index 678cb2e25b..0000000000
--- a/packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/tosa_ts.patch
+++ /dev/null
@@ -1,207 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- linux/drivers/char/tosa_ts.c~tosa_ts.patch
-+++ linux/drivers/char/tosa_ts.c
-@@ -102,6 +102,8 @@
- static int head = 0, tail = 0;
-
- #ifdef CONFIG_PM
-+#include <linux/pm.h>
-+static struct pm_dev* tosa_ts_pm_dev;
- static int tp_suspend = 0;
- #endif /* CONFIG_PM */
-
-@@ -495,25 +497,6 @@
- ioctl: ts_ioctl,
- };
-
--static void ts_exit(void)
--{
-- ts_timer_clear();
-- ts_clear();
-- free_irq(IRQ_GPIO_TP_INT, NULL);
-- wm9712_power_mode_ts(WM9712_PWR_OFF);
--
-- pxa_ac97_put(&ac97_on);
--}
--
--#ifdef MODULE
--static void __exit ac97_ts_cleanup(void)
--{
-- ts_exit();
-- unregister_chrdev(TS_MAJOR, "ts");
--}
--module_exit(ac97_ts_cleanup);
--#endif /* MODULE */
--
- extern int tc6393fb_lcdMode;
-
- int ac97_ad_input(int ch, unsigned short *dat)
-@@ -608,7 +591,7 @@
- #endif
- }
-
--static int ts_init(void)
-+static int tosa_ts_hardware_start(void)
- {
- pxa_ac97_get(&codec, &ac97_on);
-
-@@ -625,7 +608,6 @@
- /* GPIO3/PENDOWN wakeup */
- ac97_bit_set(AC97_GPIO_WAKE_UP, CODEC_PENDOWN);
-
-- ts_clear();
-
- /* Init queue */
- //X kernel_thread(ts_pendown, NULL, CLONE_FS | CLONE_FILES | CLONE_SIGHAND | SIGCHLD);
-@@ -639,12 +621,39 @@
- return -EBUSY;
- }
-
-- // printk(KERN_INFO "Tosa Touch Screen driver initialized\n");
--
- return 0;
- }
-
--static int __init ac97_ts_init(void)
-+static void tosa_ts_hardware_stop(void)
-+{
-+ ts_timer_clear();
-+ ts_clear();
-+ free_irq(IRQ_GPIO_TP_INT, NULL);
-+ wm9712_power_mode_ts(WM9712_PWR_OFF);
-+
-+ pxa_ac97_put(&ac97_on);
-+}
-+
-+#ifdef CONFIG_PM
-+static int tosa_ts_pm_callback(struct pm_dev *pm_dev,
-+ pm_request_t req, void *data)
-+{
-+ switch (req) {
-+ case PM_SUSPEND:
-+ tp_suspend = 1;
-+ tosa_ts_hardware_stop();
-+ break;
-+ case PM_RESUME:
-+ tp_suspend = 0;
-+ tosa_ts_hardware_start();
-+ break;
-+ }
-+ return 0;
-+}
-+#endif
-+
-+
-+static int __init tosa_ts_init(void)
- {
- ac97_on = 0;
-
-@@ -663,28 +672,37 @@
-
- if( register_chrdev(TS_MAJOR,DEV_NAME, &ts_fops) ) {
- printk("unable to get major %d for touch screen\n", TS_MAJOR);
-- ts_exit();
- }
-
- init_procinfo();
-
-+ tosa_ts_hardware_start();
-+
-+#ifdef CONFIG_PM
-+ tosa_ts_pm_dev = pm_register(PM_SYS_DEV, 0, tosa_ts_pm_callback);
-+#endif
-+
- kernel_thread(ts_pendown, NULL, CLONE_FS | CLONE_FILES | CLONE_SIGHAND | SIGCHLD);
-
- return 0;
- }
-
--module_init(ac97_ts_init);
-+static int __exit tosa_ts_cleanup()
-+{
-+ tosa_hardware_stop();
-+ pm_unregister(tosa_ts_pm_dev);
-+ unregister_chrdev(TS_MAJOR, "ts");
-+}
-+
-+module_init(tosa_ts_init);
-+module_exit(tosa_ts_cleanup);
-
- /*
- * Driver functions
- */
- static int ts_open(struct inode *inode, struct file *file)
- {
-- if( ts_init() < 0 ) {
-- ts_exit();
-- return -EINVAL;
-- }
--
-+ ts_clear();
- MOD_INC_USE_COUNT;
- return 0;
- }
-@@ -692,7 +710,6 @@
-
- static int ts_release(struct inode *inode, struct file *file)
- {
-- ts_exit();
-
- MOD_DEC_USE_COUNT;
- return 0;
-@@ -788,20 +805,3 @@
- return 0;
- }
-
--#ifdef CONFIG_PM
--void tosa_ts_suspend(void)
--{
-- DEBUG(DBG_L1, "in\n");
-- tp_suspend = 1;
-- ts_exit();
-- DEBUG(DBG_L1, "out\n");
--}
--
--void tosa_ts_resume(void)
--{
-- DEBUG(DBG_L1, "in\n");
-- tp_suspend = 0;
-- ts_init();
-- DEBUG(DBG_L1, "out\n");
--}
--#endif /* CONFIG_PM */
---- linux/drivers/sound/pxa-ac97_tosa.c~tosa_ts.patch
-+++ linux/drivers/sound/pxa-ac97_tosa.c
-@@ -90,8 +90,6 @@
- #include <linux/pm.h>
- static struct pm_dev* pxa_sound_pm_dev;
- static int tosa_pm_callback(struct pm_dev *,pm_request_t, void *);
--extern void tosa_ts_suspend(void);
--extern void tosa_ts_resume(void);
- #endif /* CONFIG_PM */
-
- /************************************************************
-@@ -2195,9 +2193,6 @@
- case PM_SUSPEND:
- DEBUG(DBG_L1, "PM_SUSPEND: start\n");
- wm9712_suspend();
--#ifdef CONFIG_TOSA_TS
-- tosa_ts_suspend();
--#endif /* CONFIG_TOSA_TS */
- if ( ac97_audio_state.rd_ref != 0 ) {
- audio_clear_buf(ac97_audio_state.input_stream);
- *ac97_audio_state.input_stream->drcmr = 0;
-@@ -2239,9 +2234,6 @@
- ac97_audio_state.input_stream->dma_ch = err;
- }
- wm9712_resume();
--#ifdef CONFIG_TOSA_TS
-- tosa_ts_resume();
--#endif /* CONFIG_TOSA_TS */
- DEBUG(DBG_L1, "PM_RESUME: done\n");
- break;
- }