From 7a54560f9e68174afc12c3b49cb0b75624d3090c Mon Sep 17 00:00:00 2001 From: w20740 Date: Mon, 13 Jan 2014 19:04:58 -0600 Subject: IKXCLOCK-79 Enable regulator when C55 initialized and enable loadswitch when LDO9 is turned on Author: Jee Su Chang - w20740 Change-Id: I5376c4da70385fccf9cc576df66775f7d25a0ec0 Reviewed-on: http://gerrit.pcs.mot.com/603308 SLTApproved: Slta Waiver Tested-by: Jira Key Reviewed-by: Douglas Zobel Reviewed-by: Viditha Hanumanthareddy Submit-Approved: Jira Key --- drivers/misc/c55_ctrl.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'drivers/misc/c55_ctrl.c') diff --git a/drivers/misc/c55_ctrl.c b/drivers/misc/c55_ctrl.c index 04f29d3ff9a..3c116987e3d 100644 --- a/drivers/misc/c55_ctrl.c +++ b/drivers/misc/c55_ctrl.c @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include @@ -26,6 +27,7 @@ struct c55_ctrl_data { int int_gpio; struct wake_lock wake_lock; + struct regulator *reg; }; #define NUM_GPIOS 3 @@ -138,6 +140,17 @@ static int c55_ctrl_probe(struct platform_device *pdev) return ret; } + cdata->reg = regulator_get(&pdev->dev, "c55-ctrl"); + if (IS_ERR(cdata->reg)) { + return PTR_ERR(cdata->reg); + } + ret = regulator_enable(cdata->reg); + if (ret) { + dev_err(&pdev->dev, "%s: c55_ctrl regulator_enable failed.\n", __func__); + regulator_put(cdata->reg); + return ret; + } + wake_lock_init(&cdata->wake_lock, WAKE_LOCK_SUSPEND, "c55_ctrl"); platform_set_drvdata(pdev, cdata); @@ -146,6 +159,9 @@ static int c55_ctrl_probe(struct platform_device *pdev) static int c55_ctrl_remove(struct platform_device *pdev) { + struct c55_ctrl_data *cdata = platform_get_drvdata(pdev); + + regulator_put(cdata->reg); return 0; } -- cgit v1.2.3-70-g09d2