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) |
