aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/regulator/wm831x-dcdc.c41
1 files changed, 20 insertions, 21 deletions
diff --git a/drivers/regulator/wm831x-dcdc.c b/drivers/regulator/wm831x-dcdc.c
index 2ee482306784..95249f7a0e39 100644
--- a/drivers/regulator/wm831x-dcdc.c
+++ b/drivers/regulator/wm831x-dcdc.c
@@ -456,27 +456,6 @@ static __devinit void wm831x_buckv_dvs_init(struct wm831x_dcdc *dcdc,
456 if (!pdata || !pdata->dvs_gpio) 456 if (!pdata || !pdata->dvs_gpio)
457 return; 457 return;
458 458
459 switch (pdata->dvs_control_src) {
460 case 1:
461 ctrl = 2 << WM831X_DC1_DVS_SRC_SHIFT;
462 break;
463 case 2:
464 ctrl = 3 << WM831X_DC1_DVS_SRC_SHIFT;
465 break;
466 default:
467 dev_err(wm831x->dev, "Invalid DVS control source %d for %s\n",
468 pdata->dvs_control_src, dcdc->name);
469 return;
470 }
471
472 ret = wm831x_set_bits(wm831x, dcdc->base + WM831X_DCDC_DVS_CONTROL,
473 WM831X_DC1_DVS_SRC_MASK, ctrl);
474 if (ret < 0) {
475 dev_err(wm831x->dev, "Failed to set %s DVS source: %d\n",
476 dcdc->name, ret);
477 return;
478 }
479
480 ret = gpio_request(pdata->dvs_gpio, "DCDC DVS"); 459 ret = gpio_request(pdata->dvs_gpio, "DCDC DVS");
481 if (ret < 0) { 460 if (ret < 0) {
482 dev_err(wm831x->dev, "Failed to get %s DVS GPIO: %d\n", 461 dev_err(wm831x->dev, "Failed to get %s DVS GPIO: %d\n",
@@ -498,6 +477,26 @@ static __devinit void wm831x_buckv_dvs_init(struct wm831x_dcdc *dcdc,
498 } 477 }
499 478
500 dcdc->dvs_gpio = pdata->dvs_gpio; 479 dcdc->dvs_gpio = pdata->dvs_gpio;
480
481 switch (pdata->dvs_control_src) {
482 case 1:
483 ctrl = 2 << WM831X_DC1_DVS_SRC_SHIFT;
484 break;
485 case 2:
486 ctrl = 3 << WM831X_DC1_DVS_SRC_SHIFT;
487 break;
488 default:
489 dev_err(wm831x->dev, "Invalid DVS control source %d for %s\n",
490 pdata->dvs_control_src, dcdc->name);
491 return;
492 }
493
494 ret = wm831x_set_bits(wm831x, dcdc->base + WM831X_DCDC_DVS_CONTROL,
495 WM831X_DC1_DVS_SRC_MASK, ctrl);
496 if (ret < 0) {
497 dev_err(wm831x->dev, "Failed to set %s DVS source: %d\n",
498 dcdc->name, ret);
499 }
501} 500}
502 501
503static __devinit int wm831x_buckv_probe(struct platform_device *pdev) 502static __devinit int wm831x_buckv_probe(struct platform_device *pdev)