diff options
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2011-03-24 08:01:49 -0400 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2011-05-11 07:20:47 -0400 |
commit | 1663d2f70a9404b822fb0e8fbc40d42fdfeed0bd (patch) | |
tree | c1d0ee8cdce2df9a961300219916dbecc0e87b36 /drivers/video/omap2/displays/panel-taal.c | |
parent | 33a410be6f4b760f0abe3ec05ac808f1c391bd41 (diff) |
OMAP: DSS2: Taal: Clean up ESD queueing
Separate the code which queues/cancels ESD work into their own
functions.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/video/omap2/displays/panel-taal.c')
-rw-r--r-- | drivers/video/omap2/displays/panel-taal.c | 36 |
1 files changed, 23 insertions, 13 deletions
diff --git a/drivers/video/omap2/displays/panel-taal.c b/drivers/video/omap2/displays/panel-taal.c index 788104c9998a..bbfd5feed33f 100644 --- a/drivers/video/omap2/displays/panel-taal.c +++ b/drivers/video/omap2/displays/panel-taal.c | |||
@@ -420,6 +420,22 @@ static int taal_set_update_window(struct taal_data *td, | |||
420 | return r; | 420 | return r; |
421 | } | 421 | } |
422 | 422 | ||
423 | static void taal_queue_esd_work(struct omap_dss_device *dssdev) | ||
424 | { | ||
425 | struct taal_data *td = dev_get_drvdata(&dssdev->dev); | ||
426 | |||
427 | if (td->esd_interval > 0) | ||
428 | queue_delayed_work(td->esd_wq, &td->esd_work, | ||
429 | msecs_to_jiffies(td->esd_interval)); | ||
430 | } | ||
431 | |||
432 | static void taal_cancel_esd_work(struct omap_dss_device *dssdev) | ||
433 | { | ||
434 | struct taal_data *td = dev_get_drvdata(&dssdev->dev); | ||
435 | |||
436 | cancel_delayed_work(&td->esd_work); | ||
437 | } | ||
438 | |||
423 | static int taal_bl_update_status(struct backlight_device *dev) | 439 | static int taal_bl_update_status(struct backlight_device *dev) |
424 | { | 440 | { |
425 | struct omap_dss_device *dssdev = dev_get_drvdata(&dev->dev); | 441 | struct omap_dss_device *dssdev = dev_get_drvdata(&dev->dev); |
@@ -841,7 +857,7 @@ static void __exit taal_remove(struct omap_dss_device *dssdev) | |||
841 | taal_bl_update_status(bldev); | 857 | taal_bl_update_status(bldev); |
842 | backlight_device_unregister(bldev); | 858 | backlight_device_unregister(bldev); |
843 | 859 | ||
844 | cancel_delayed_work(&td->esd_work); | 860 | taal_cancel_esd_work(dssdev); |
845 | destroy_workqueue(td->esd_wq); | 861 | destroy_workqueue(td->esd_wq); |
846 | 862 | ||
847 | /* reset, to be sure that the panel is in a valid state */ | 863 | /* reset, to be sure that the panel is in a valid state */ |
@@ -983,9 +999,7 @@ static int taal_enable(struct omap_dss_device *dssdev) | |||
983 | if (r) | 999 | if (r) |
984 | goto err; | 1000 | goto err; |
985 | 1001 | ||
986 | if (td->esd_interval > 0) | 1002 | taal_queue_esd_work(dssdev); |
987 | queue_delayed_work(td->esd_wq, &td->esd_work, | ||
988 | msecs_to_jiffies(td->esd_interval)); | ||
989 | 1003 | ||
990 | dssdev->state = OMAP_DSS_DISPLAY_ACTIVE; | 1004 | dssdev->state = OMAP_DSS_DISPLAY_ACTIVE; |
991 | 1005 | ||
@@ -1006,7 +1020,7 @@ static void taal_disable(struct omap_dss_device *dssdev) | |||
1006 | 1020 | ||
1007 | mutex_lock(&td->lock); | 1021 | mutex_lock(&td->lock); |
1008 | 1022 | ||
1009 | cancel_delayed_work(&td->esd_work); | 1023 | taal_cancel_esd_work(dssdev); |
1010 | 1024 | ||
1011 | dsi_bus_lock(); | 1025 | dsi_bus_lock(); |
1012 | 1026 | ||
@@ -1034,7 +1048,7 @@ static int taal_suspend(struct omap_dss_device *dssdev) | |||
1034 | goto err; | 1048 | goto err; |
1035 | } | 1049 | } |
1036 | 1050 | ||
1037 | cancel_delayed_work(&td->esd_work); | 1051 | taal_cancel_esd_work(dssdev); |
1038 | 1052 | ||
1039 | dsi_bus_lock(); | 1053 | dsi_bus_lock(); |
1040 | 1054 | ||
@@ -1076,9 +1090,7 @@ static int taal_resume(struct omap_dss_device *dssdev) | |||
1076 | dssdev->state = OMAP_DSS_DISPLAY_DISABLED; | 1090 | dssdev->state = OMAP_DSS_DISPLAY_DISABLED; |
1077 | } else { | 1091 | } else { |
1078 | dssdev->state = OMAP_DSS_DISPLAY_ACTIVE; | 1092 | dssdev->state = OMAP_DSS_DISPLAY_ACTIVE; |
1079 | if (td->esd_interval > 0) | 1093 | taal_queue_esd_work(dssdev); |
1080 | queue_delayed_work(td->esd_wq, &td->esd_work, | ||
1081 | msecs_to_jiffies(td->esd_interval)); | ||
1082 | } | 1094 | } |
1083 | 1095 | ||
1084 | mutex_unlock(&td->lock); | 1096 | mutex_unlock(&td->lock); |
@@ -1521,8 +1533,7 @@ static void taal_esd_work(struct work_struct *work) | |||
1521 | 1533 | ||
1522 | dsi_bus_unlock(); | 1534 | dsi_bus_unlock(); |
1523 | 1535 | ||
1524 | queue_delayed_work(td->esd_wq, &td->esd_work, | 1536 | taal_queue_esd_work(dssdev); |
1525 | msecs_to_jiffies(td->esd_interval)); | ||
1526 | 1537 | ||
1527 | mutex_unlock(&td->lock); | 1538 | mutex_unlock(&td->lock); |
1528 | return; | 1539 | return; |
@@ -1535,8 +1546,7 @@ err: | |||
1535 | 1546 | ||
1536 | dsi_bus_unlock(); | 1547 | dsi_bus_unlock(); |
1537 | 1548 | ||
1538 | queue_delayed_work(td->esd_wq, &td->esd_work, | 1549 | taal_queue_esd_work(dssdev); |
1539 | msecs_to_jiffies(td->esd_interval)); | ||
1540 | 1550 | ||
1541 | mutex_unlock(&td->lock); | 1551 | mutex_unlock(&td->lock); |
1542 | } | 1552 | } |