aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/platform/davinci/vpbe.c
diff options
context:
space:
mode:
authorMurali Karicheri <m-karicheri2@ti.com>2012-10-22 10:41:36 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-11-21 12:06:57 -0500
commit1f5a5e62aed455a4004685b6ee65ea91cc5acb87 (patch)
treead6aeaed8d6d7c8c829306ed09329ecf063f0fcd /drivers/media/platform/davinci/vpbe.c
parentd046628d2c81f64015c68cd14d5e09cbe99f56d8 (diff)
[media] media:davinci: clk - {prepare/unprepare} for common clk
As a first step towards migrating davinci platforms to use common clock framework, replace all instances of clk_enable() with clk_prepare_enable() and clk_disable() with clk_disable_unprepare(). Also fixes some issues related to clk clean up in the driver Signed-off-by: Murali Karicheri <m-karicheri2@ti.com> Acked-by: Lad, Prabhakar <prabhakar.lad@ti.com> Tested-by: Lad, Prabhakar <prabhakar.lad@ti.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/platform/davinci/vpbe.c')
-rw-r--r--drivers/media/platform/davinci/vpbe.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/media/platform/davinci/vpbe.c b/drivers/media/platform/davinci/vpbe.c
index 69d7a58c92c3..7f5cf9b347b2 100644
--- a/drivers/media/platform/davinci/vpbe.c
+++ b/drivers/media/platform/davinci/vpbe.c
@@ -612,7 +612,7 @@ static int vpbe_initialize(struct device *dev, struct vpbe_device *vpbe_dev)
612 ret = PTR_ERR(vpbe_dev->dac_clk); 612 ret = PTR_ERR(vpbe_dev->dac_clk);
613 goto fail_mutex_unlock; 613 goto fail_mutex_unlock;
614 } 614 }
615 if (clk_enable(vpbe_dev->dac_clk)) { 615 if (clk_prepare_enable(vpbe_dev->dac_clk)) {
616 ret = -ENODEV; 616 ret = -ENODEV;
617 goto fail_mutex_unlock; 617 goto fail_mutex_unlock;
618 } 618 }
@@ -759,8 +759,10 @@ fail_kfree_encoders:
759fail_dev_unregister: 759fail_dev_unregister:
760 v4l2_device_unregister(&vpbe_dev->v4l2_dev); 760 v4l2_device_unregister(&vpbe_dev->v4l2_dev);
761fail_clk_put: 761fail_clk_put:
762 if (strcmp(vpbe_dev->cfg->module_name, "dm644x-vpbe-display") != 0) 762 if (strcmp(vpbe_dev->cfg->module_name, "dm644x-vpbe-display") != 0) {
763 clk_disable_unprepare(vpbe_dev->dac_clk);
763 clk_put(vpbe_dev->dac_clk); 764 clk_put(vpbe_dev->dac_clk);
765 }
764fail_mutex_unlock: 766fail_mutex_unlock:
765 mutex_unlock(&vpbe_dev->lock); 767 mutex_unlock(&vpbe_dev->lock);
766 return ret; 768 return ret;
@@ -777,8 +779,10 @@ fail_mutex_unlock:
777static void vpbe_deinitialize(struct device *dev, struct vpbe_device *vpbe_dev) 779static void vpbe_deinitialize(struct device *dev, struct vpbe_device *vpbe_dev)
778{ 780{
779 v4l2_device_unregister(&vpbe_dev->v4l2_dev); 781 v4l2_device_unregister(&vpbe_dev->v4l2_dev);
780 if (strcmp(vpbe_dev->cfg->module_name, "dm644x-vpbe-display") != 0) 782 if (strcmp(vpbe_dev->cfg->module_name, "dm644x-vpbe-display") != 0) {
783 clk_disable_unprepare(vpbe_dev->dac_clk);
781 clk_put(vpbe_dev->dac_clk); 784 clk_put(vpbe_dev->dac_clk);
785 }
782 786
783 kfree(vpbe_dev->amp); 787 kfree(vpbe_dev->amp);
784 kfree(vpbe_dev->encoders); 788 kfree(vpbe_dev->encoders);