From: Mark Brown Date: Tue, 27 Nov 2012 17:51:46 +0000 (+0000) Subject: regulator: arizona-ldo1: Support DVFS in default constraints X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=55a18aef2e963c43d3a0ae20c1dfd404830aa6f9;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git regulator: arizona-ldo1: Support DVFS in default constraints Some Arizona devices such as the WM5102 can use DVFS on their digital core, for these devices allow the voltage range to vary in the default setup. Signed-off-by: Mark Brown --- diff --git a/drivers/regulator/arizona-ldo1.c b/drivers/regulator/arizona-ldo1.c index 9d504585104a..36c1c5cbc265 100644 --- a/drivers/regulator/arizona-ldo1.c +++ b/drivers/regulator/arizona-ldo1.c @@ -61,6 +61,16 @@ static const struct regulator_desc arizona_ldo1 = { .owner = THIS_MODULE, }; +static const struct regulator_init_data arizona_ldo1_dvfs = { + .constraints = { + .min_uV = 1200000, + .max_uV = 1800000, + .valid_ops_mask = REGULATOR_CHANGE_STATUS | + REGULATOR_CHANGE_VOLTAGE, + }, + .num_consumer_supplies = 1, +}; + static const struct regulator_init_data arizona_ldo1_default = { .constraints = { .valid_ops_mask = REGULATOR_CHANGE_STATUS, @@ -88,7 +98,15 @@ static __devinit int arizona_ldo1_probe(struct platform_device *pdev) * default init_data for it. This will be overridden with * platform data if provided. */ - ldo1->init_data = arizona_ldo1_default; + switch (arizona->type) { + case WM5102: + ldo1->init_data = arizona_ldo1_dvfs; + break; + default: + ldo1->init_data = arizona_ldo1_default; + break; + } + ldo1->init_data.consumer_supplies = &ldo1->supply; ldo1->supply.supply = "DCVDD"; ldo1->supply.dev_name = dev_name(arizona->dev);