diff options
author | Murali Karicheri <m-karicheri2@ti.com> | 2012-10-22 10:41:36 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-11-21 12:06:57 -0500 |
commit | 1f5a5e62aed455a4004685b6ee65ea91cc5acb87 (patch) | |
tree | ad6aeaed8d6d7c8c829306ed09329ecf063f0fcd /drivers/media/platform/davinci/vpbe.c | |
parent | d046628d2c81f64015c68cd14d5e09cbe99f56d8 (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.c | 10 |
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: | |||
759 | fail_dev_unregister: | 759 | fail_dev_unregister: |
760 | v4l2_device_unregister(&vpbe_dev->v4l2_dev); | 760 | v4l2_device_unregister(&vpbe_dev->v4l2_dev); |
761 | fail_clk_put: | 761 | fail_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 | } | ||
764 | fail_mutex_unlock: | 766 | fail_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: | |||
777 | static void vpbe_deinitialize(struct device *dev, struct vpbe_device *vpbe_dev) | 779 | static 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); |