diff options
Diffstat (limited to 'drivers/media/platform/davinci/isif.c')
-rw-r--r-- | drivers/media/platform/davinci/isif.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/media/platform/davinci/isif.c b/drivers/media/platform/davinci/isif.c index b99d5423e3a8..2c26c3e1837e 100644 --- a/drivers/media/platform/davinci/isif.c +++ b/drivers/media/platform/davinci/isif.c | |||
@@ -1053,7 +1053,7 @@ static int __devinit isif_probe(struct platform_device *pdev) | |||
1053 | status = PTR_ERR(isif_cfg.mclk); | 1053 | status = PTR_ERR(isif_cfg.mclk); |
1054 | goto fail_mclk; | 1054 | goto fail_mclk; |
1055 | } | 1055 | } |
1056 | if (clk_enable(isif_cfg.mclk)) { | 1056 | if (clk_prepare_enable(isif_cfg.mclk)) { |
1057 | status = -ENODEV; | 1057 | status = -ENODEV; |
1058 | goto fail_mclk; | 1058 | goto fail_mclk; |
1059 | } | 1059 | } |
@@ -1125,6 +1125,7 @@ fail_nobase_res: | |||
1125 | i--; | 1125 | i--; |
1126 | } | 1126 | } |
1127 | fail_mclk: | 1127 | fail_mclk: |
1128 | clk_disable_unprepare(isif_cfg.mclk); | ||
1128 | clk_put(isif_cfg.mclk); | 1129 | clk_put(isif_cfg.mclk); |
1129 | vpfe_unregister_ccdc_device(&isif_hw_dev); | 1130 | vpfe_unregister_ccdc_device(&isif_hw_dev); |
1130 | return status; | 1131 | return status; |
@@ -1145,6 +1146,8 @@ static int isif_remove(struct platform_device *pdev) | |||
1145 | i++; | 1146 | i++; |
1146 | } | 1147 | } |
1147 | vpfe_unregister_ccdc_device(&isif_hw_dev); | 1148 | vpfe_unregister_ccdc_device(&isif_hw_dev); |
1149 | clk_disable_unprepare(isif_cfg.mclk); | ||
1150 | clk_put(isif_cfg.mclk); | ||
1148 | return 0; | 1151 | return 0; |
1149 | } | 1152 | } |
1150 | 1153 | ||