diff options
-rw-r--r-- | drivers/regulator/wm831x-dcdc.c | 41 |
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 | ||
503 | static __devinit int wm831x_buckv_probe(struct platform_device *pdev) | 502 | static __devinit int wm831x_buckv_probe(struct platform_device *pdev) |