Messages in this thread Patch in this message | | | Subject | [patch 5/8] Corgi Touchscreen: Code cleanup / fixes | From | Richard Purdie <> | Date | Fri, 29 Jul 2005 10:46:51 +0100 |
| |
Clean up some Corgi Touchscreen logic and merge the repeat calls to w100fb_blanking() in anticipation of the w100fb patch.
Fix a pm_message_t reference.
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Index: linux-2.6.12/drivers/input/touchscreen/corgi_ts.c =================================================================== --- linux-2.6.12.orig/drivers/input/touchscreen/corgi_ts.c 2005-07-28 16:20:38.000000000 +0100 +++ linux-2.6.12/drivers/input/touchscreen/corgi_ts.c 2005-07-28 16:21:17.000000000 +0100 @@ -79,6 +79,9 @@ int w100fb_xres = w100fb_get_xres(); unsigned int waittime = 0; + if (w100fb_get_blanking()) + return 0; + if (w100fb_xres == 480 || w100fb_xres == 640) { waittime = WAIT_HS_400_VGA * get_clk_frequency_khz(0) / 398131U; @@ -98,11 +101,8 @@ { unsigned long timer1 = 0, timer2, pmnc = 0; int pos = 0; - int dosleep; - - dosleep = !w100fb_get_blanking(); - if (dosleep && doSend) { + if (wait_time && doSend) { PMNC_GET(pmnc); if (!(pmnc & 0x01)) PMNC_SET(pmnc | 0x01); @@ -122,11 +122,11 @@ corgi_ssp_ads7846_put(cmd); corgi_ssp_ads7846_get(); - if (dosleep) { + if (wait_time) { /* Wait after HSync */ CCNT(timer2); if (timer2-timer1 > wait_time) { - /* timeout */ + /* too slow - timeout, try again */ SyncHS(); /* get OSCR */ CCNT(timer1); @@ -137,7 +137,7 @@ CCNT(timer2); } corgi_ssp_ads7846_put(cmd); - if (dosleep && !(pmnc & 0x01)) + if (wait_time && !(pmnc & 0x01)) PMNC_SET(pmnc); } return pos; @@ -247,7 +247,7 @@ } #ifdef CONFIG_PM -static int corgits_suspend(struct device *dev, uint32_t state, uint32_t level) +static int corgits_suspend(struct device *dev, pm_message_t state, uint32_t level) { if (level == SUSPEND_POWER_DOWN) { struct corgi_ts *corgi_ts = dev_get_drvdata(dev);
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |