regulator: Fixes for v4.10
Three changes here, two run of the mill driver specific fixes and a change from Mark Rutland which reverts some new device specific ACPI binding code which was added during the merge window as there are concerns about this sending the wrong signal about usage of regulators in ACPI systems. -----BEGIN PGP SIGNATURE----- iQFHBAABCAAxFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAliUbfoTHGJyb29uaWVA a2VybmVsLm9yZwAKCRAk1otyXVSH0A9tB/4zf8o0ueo5kT2+15FZBozyY9iKMZl6 daIGxXdJlHjUoCawoq00az3SxELPx0ydq+Cl2A1/lpJAwy0RZ/K1NnIC/bddI9xD m9DsgictpVqrl/XF6+9WIutXq4FTGQVWD7VbkG0pP/MF80tEzskTTNwe9uGjgeeu tJAF0ksYC0wA8pG1ukTyAU5zthv6Vr4VSTq8ETpVkpwMiE7nfLtDlf468xg8L8ng 4JAgZA0AsEOWnDRQvc7gCFEmn41rl0WfQNnf/CdnjnrefVpFoW7+paU6a8mgGRqD +8hiNaqvgjgGfICQV6eFpGoP//9jRvisEOxl255ZATXEKZ5fjdBOKd3T =7XMg -----END PGP SIGNATURE----- Merge tag 'regulator-fix-v4.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator Pull regulator fixes from Mark Brown: "Three changes here: two run of the mill driver specific fixes and a change from Mark Rutland which reverts some new device specific ACPI binding code which was added during the merge window as there are concerns about this sending the wrong signal about usage of regulators in ACPI systems" * tag 'regulator-fix-v4.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: regulator: fixed: Revert support for ACPI interface regulator: axp20x: AXP806: Fix dcdcb being set instead of dcdce regulator: twl6030: fix range comparison, allowing vsel = 59
This commit is contained in:
commit
3f67790d2b
3 changed files with 2 additions and 48 deletions
|
@ -272,7 +272,7 @@ static const struct regulator_desc axp806_regulators[] = {
|
||||||
64, AXP806_DCDCD_V_CTRL, 0x3f, AXP806_PWR_OUT_CTRL1,
|
64, AXP806_DCDCD_V_CTRL, 0x3f, AXP806_PWR_OUT_CTRL1,
|
||||||
BIT(3)),
|
BIT(3)),
|
||||||
AXP_DESC(AXP806, DCDCE, "dcdce", "vine", 1100, 3400, 100,
|
AXP_DESC(AXP806, DCDCE, "dcdce", "vine", 1100, 3400, 100,
|
||||||
AXP806_DCDCB_V_CTRL, 0x1f, AXP806_PWR_OUT_CTRL1, BIT(4)),
|
AXP806_DCDCE_V_CTRL, 0x1f, AXP806_PWR_OUT_CTRL1, BIT(4)),
|
||||||
AXP_DESC(AXP806, ALDO1, "aldo1", "aldoin", 700, 3300, 100,
|
AXP_DESC(AXP806, ALDO1, "aldo1", "aldoin", 700, 3300, 100,
|
||||||
AXP806_ALDO1_V_CTRL, 0x1f, AXP806_PWR_OUT_CTRL1, BIT(5)),
|
AXP806_ALDO1_V_CTRL, 0x1f, AXP806_PWR_OUT_CTRL1, BIT(5)),
|
||||||
AXP_DESC(AXP806, ALDO2, "aldo2", "aldoin", 700, 3400, 100,
|
AXP_DESC(AXP806, ALDO2, "aldo2", "aldoin", 700, 3400, 100,
|
||||||
|
|
|
@ -30,9 +30,6 @@
|
||||||
#include <linux/of_gpio.h>
|
#include <linux/of_gpio.h>
|
||||||
#include <linux/regulator/of_regulator.h>
|
#include <linux/regulator/of_regulator.h>
|
||||||
#include <linux/regulator/machine.h>
|
#include <linux/regulator/machine.h>
|
||||||
#include <linux/acpi.h>
|
|
||||||
#include <linux/property.h>
|
|
||||||
#include <linux/gpio/consumer.h>
|
|
||||||
|
|
||||||
struct fixed_voltage_data {
|
struct fixed_voltage_data {
|
||||||
struct regulator_desc desc;
|
struct regulator_desc desc;
|
||||||
|
@ -97,44 +94,6 @@ of_get_fixed_voltage_config(struct device *dev,
|
||||||
return config;
|
return config;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* acpi_get_fixed_voltage_config - extract fixed_voltage_config structure info
|
|
||||||
* @dev: device requesting for fixed_voltage_config
|
|
||||||
* @desc: regulator description
|
|
||||||
*
|
|
||||||
* Populates fixed_voltage_config structure by extracting data through ACPI
|
|
||||||
* interface, returns a pointer to the populated structure of NULL if memory
|
|
||||||
* alloc fails.
|
|
||||||
*/
|
|
||||||
static struct fixed_voltage_config *
|
|
||||||
acpi_get_fixed_voltage_config(struct device *dev,
|
|
||||||
const struct regulator_desc *desc)
|
|
||||||
{
|
|
||||||
struct fixed_voltage_config *config;
|
|
||||||
const char *supply_name;
|
|
||||||
struct gpio_desc *gpiod;
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
config = devm_kzalloc(dev, sizeof(*config), GFP_KERNEL);
|
|
||||||
if (!config)
|
|
||||||
return ERR_PTR(-ENOMEM);
|
|
||||||
|
|
||||||
ret = device_property_read_string(dev, "supply-name", &supply_name);
|
|
||||||
if (!ret)
|
|
||||||
config->supply_name = supply_name;
|
|
||||||
|
|
||||||
gpiod = gpiod_get(dev, "gpio", GPIOD_ASIS);
|
|
||||||
if (IS_ERR(gpiod))
|
|
||||||
return ERR_PTR(-ENODEV);
|
|
||||||
|
|
||||||
config->gpio = desc_to_gpio(gpiod);
|
|
||||||
config->enable_high = device_property_read_bool(dev,
|
|
||||||
"enable-active-high");
|
|
||||||
gpiod_put(gpiod);
|
|
||||||
|
|
||||||
return config;
|
|
||||||
}
|
|
||||||
|
|
||||||
static struct regulator_ops fixed_voltage_ops = {
|
static struct regulator_ops fixed_voltage_ops = {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -155,11 +114,6 @@ static int reg_fixed_voltage_probe(struct platform_device *pdev)
|
||||||
&drvdata->desc);
|
&drvdata->desc);
|
||||||
if (IS_ERR(config))
|
if (IS_ERR(config))
|
||||||
return PTR_ERR(config);
|
return PTR_ERR(config);
|
||||||
} else if (ACPI_HANDLE(&pdev->dev)) {
|
|
||||||
config = acpi_get_fixed_voltage_config(&pdev->dev,
|
|
||||||
&drvdata->desc);
|
|
||||||
if (IS_ERR(config))
|
|
||||||
return PTR_ERR(config);
|
|
||||||
} else {
|
} else {
|
||||||
config = dev_get_platdata(&pdev->dev);
|
config = dev_get_platdata(&pdev->dev);
|
||||||
}
|
}
|
||||||
|
|
|
@ -452,7 +452,7 @@ static int twl6030smps_map_voltage(struct regulator_dev *rdev, int min_uV,
|
||||||
vsel = 62;
|
vsel = 62;
|
||||||
else if ((min_uV > 1800000) && (min_uV <= 1900000))
|
else if ((min_uV > 1800000) && (min_uV <= 1900000))
|
||||||
vsel = 61;
|
vsel = 61;
|
||||||
else if ((min_uV > 1350000) && (min_uV <= 1800000))
|
else if ((min_uV > 1500000) && (min_uV <= 1800000))
|
||||||
vsel = 60;
|
vsel = 60;
|
||||||
else if ((min_uV > 1350000) && (min_uV <= 1500000))
|
else if ((min_uV > 1350000) && (min_uV <= 1500000))
|
||||||
vsel = 59;
|
vsel = 59;
|
||||||
|
|
Loading…
Reference in a new issue