aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/platform/davinci/isif.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/platform/davinci/isif.c')
-rw-r--r--drivers/media/platform/davinci/isif.c5
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 }
1127fail_mclk: 1127fail_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