diff options
-rw-r--r-- | drivers/media/platform/mxc/capture/mxc_vadc.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/media/platform/mxc/capture/mxc_vadc.c b/drivers/media/platform/mxc/capture/mxc_vadc.c index 6b3d5f62689c..4756b401ba1f 100644 --- a/drivers/media/platform/mxc/capture/mxc_vadc.c +++ b/drivers/media/platform/mxc/capture/mxc_vadc.c @@ -397,6 +397,15 @@ static void vadc_power_up(struct vadc_data *vadc) reg32setbit(gpc_regbase + GPC_CNTR, 18); } +static void vadc_power_down(struct vadc_data *vadc) +{ + /* Power down vadc analog */ + reg32setbit(gpc_regbase + GPC_CNTR, 17); + + /* Power down vadc ext power */ + reg32clrbit(gpc_regbase + GPC_CNTR, 18); +} + static void vadc_init(struct vadc_data *vadc) { pr_debug("%s\n", __func__); @@ -977,6 +986,7 @@ static int vadc_remove(struct platform_device *pdev) clk_disable_unprepare(vadc->sen.sensor_clk); clk_disable_unprepare(vadc->vadc_clk); + vadc_power_down(vadc); return true; } |