Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'regulator-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator

Pull regulator fixes from Mark Brown:
"A few small things here and there, nothing major here really. The
conversion of twl4030ldo_ops to get_voltage_sel is a fix, as covered
in the commit log it fixes inconsistency in handling of the IS_UNSUP()
feature in the driver."

* tag 'regulator-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
regulator: fixed regulator_bulk_enable unwinding code
regulator: twl: Convert twl4030ldo_ops to get_voltage_sel
regulator: palmas: fix number of SMPS voltages
regulator: core: fix documentation error in regulator_allow_bypass
regulator: core: update kernel documentation for regulator_desc
regulator: db8500-prcmu - remove incorrect __exit markup

+18 -12
+8 -4
drivers/regulator/core.c
··· 2830 2830 * regulator_allow_bypass - allow the regulator to go into bypass mode 2831 2831 * 2832 2832 * @regulator: Regulator to configure 2833 - * @allow: enable or disable bypass mode 2833 + * @enable: enable or disable bypass mode 2834 2834 * 2835 2835 * Allow the regulator to go into bypass mode if all other consumers 2836 2836 * for the regulator also enable bypass mode and the machine ··· 3057 3057 return 0; 3058 3058 3059 3059 err: 3060 - pr_err("Failed to enable %s: %d\n", consumers[i].supply, ret); 3061 - while (--i >= 0) 3062 - regulator_disable(consumers[i].consumer); 3060 + for (i = 0; i < num_consumers; i++) { 3061 + if (consumers[i].ret < 0) 3062 + pr_err("Failed to enable %s: %d\n", consumers[i].supply, 3063 + consumers[i].ret); 3064 + else 3065 + regulator_disable(consumers[i].consumer); 3066 + } 3063 3067 3064 3068 return ret; 3065 3069 }
+2 -2
drivers/regulator/db8500-prcmu.c
··· 528 528 return 0; 529 529 } 530 530 531 - static int __exit db8500_regulator_remove(struct platform_device *pdev) 531 + static int db8500_regulator_remove(struct platform_device *pdev) 532 532 { 533 533 int i; 534 534 ··· 553 553 .owner = THIS_MODULE, 554 554 }, 555 555 .probe = db8500_regulator_probe, 556 - .remove = __exit_p(db8500_regulator_remove), 556 + .remove = db8500_regulator_remove, 557 557 }; 558 558 559 559 static int __init db8500_regulator_init(void)
+2 -1
drivers/regulator/palmas-regulator.c
··· 4 4 * Copyright 2011-2012 Texas Instruments Inc. 5 5 * 6 6 * Author: Graeme Gregory <gg@slimlogic.co.uk> 7 + * Author: Ian Lartey <ian@slimlogic.co.uk> 7 8 * 8 9 * This program is free software; you can redistribute it and/or modify it 9 10 * under the terms of the GNU General Public License as published by the ··· 157 156 * 158 157 * So they are basically (maxV-minV)/stepV 159 158 */ 160 - #define PALMAS_SMPS_NUM_VOLTAGES 116 159 + #define PALMAS_SMPS_NUM_VOLTAGES 117 161 160 #define PALMAS_SMPS10_NUM_VOLTAGES 2 162 161 #define PALMAS_LDO_NUM_VOLTAGES 50 163 162
+4 -5
drivers/regulator/twl-regulator.c
··· 471 471 selector); 472 472 } 473 473 474 - static int twl4030ldo_get_voltage(struct regulator_dev *rdev) 474 + static int twl4030ldo_get_voltage_sel(struct regulator_dev *rdev) 475 475 { 476 476 struct twlreg_info *info = rdev_get_drvdata(rdev); 477 - int vsel = twlreg_read(info, TWL_MODULE_PM_RECEIVER, 478 - VREG_VOLTAGE); 477 + int vsel = twlreg_read(info, TWL_MODULE_PM_RECEIVER, VREG_VOLTAGE); 479 478 480 479 if (vsel < 0) 481 480 return vsel; 482 481 483 482 vsel &= info->table_len - 1; 484 - return LDO_MV(info->table[vsel]) * 1000; 483 + return vsel; 485 484 } 486 485 487 486 static struct regulator_ops twl4030ldo_ops = { 488 487 .list_voltage = twl4030ldo_list_voltage, 489 488 490 489 .set_voltage_sel = twl4030ldo_set_voltage_sel, 491 - .get_voltage = twl4030ldo_get_voltage, 490 + .get_voltage_sel = twl4030ldo_get_voltage_sel, 492 491 493 492 .enable = twl4030reg_enable, 494 493 .disable = twl4030reg_disable,
+2
include/linux/regulator/driver.h
··· 199 199 * output when using regulator_set_voltage_sel_regmap 200 200 * @enable_reg: Register for control when using regmap enable/disable ops 201 201 * @enable_mask: Mask for control when using regmap enable/disable ops 202 + * @bypass_reg: Register for control when using regmap set_bypass 203 + * @bypass_mask: Mask for control when using regmap set_bypass 202 204 * 203 205 * @enable_time: Time taken for initial enable of regulator (in uS). 204 206 */