[GIT PULL] regulator updates for 3.6

From: Mark Brown
Date: Sun Jul 22 2012 - 15:16:06 EST

The following changes since commit 84a1caf1453c3d44050bd22db958af4a7f99315c:

Linux 3.5-rc7 (2012-07-14 15:40:28 -0700)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git tags/regulator-3.6

for you to fetch changes up to 3384fb98845dc014770caa224d61a2effd258ca5:

Merge branch 'regulator-drivers' into regulator-next (2012-07-22 19:32:00 +0100)


regulator: Updates for 3.6

Lots and lots of fixes from Axel and some others here, plus some framework
enhancements which continue the theme of factoring code out of the drivers
and into the core.

- Initial framework support for GPIO controlled enable signals, saving a
bunch of code in drivers.
- Move fixed regulator enable time and voltage mapping table
specifications to data.
- Used some of the recent framework enhancements to make voltage change
notifications more useful, passing the voltage in as an argument to the
- Fixed the pattern used for finding individual regulators on a device
to not rely on the node name, supporting the use of multiple PMICs of
the same type in the system.
- New drivers for Maxim MAX77686, TI LP872x and LP8788, Samsung S2MPS11,
and Wolfson Arizona microphone supplies and LDOs.

Alan Cox (1):
regulator: tps65217: invalid if check

AnilKumar Ch (1):
regulator: tps65217: Add device tree support

Axel Lin (107):
regulator: core: Allow drivers to set voltage mapping table in regulator_desc
regulator: core: Call set_voltage_time_sel() only when the regulator is on
regulator: ab3100: Use regulator_list_voltage_table()
regulator: ab8500: Use regulator_list_voltage_table()
regulator: lp3972: Use regulator_list_voltage_table()
regulator: tps6105x: Use regulator_list_voltage_table()
regulator: tps6507x: Use regulator_list_voltage_table()
regulator: lp3971: Use regulator_list_voltage_table()
regulator: ab8500: Let regulator core handle the case no delay for setting new voltage if regulator is off
regulator: palmas: Use regulator_[list|map]_voltage_linear() for palmas_ops_smps10
regulator: anatop: Convert to regulator_list_voltage_linear()
regulator: wm8994: Convert wm8994_ldo1_ops to regulator_[list|map]_voltage_linear
regulator: wm831x-ldo: Use regulator_map_voltage_linear for wm831x_alive_ldo_ops
regulator: wm8400: Use regulator_map_voltage_linear for wm8400_dcdc_ops
regulator: fixed: Use of_match_ptr() for of_match_table entry
regulator: wm8350: Use regulator_map_voltage_linear for wm8350_dcdc_ops
regulator: max77686: Use regulator_map_voltage_linear for simple linear mappings
regulator: core: Use map_voltage_linear() if list_voltage_linear() is in use and nothing is set
regulator: max1586: Convert max1586_v6_ops to regulator_list_voltage_table
regulator: max1586: Convert max1586_v6_ops to set_voltage_sel
regulator: max77686: Fix checkpatch warnings
regulator: tps6507x: Remove unused min_uV and max_uV from struct tps_info
regulator: tps6507x: Avoid duplicating the same mapping table for LDO2 and VDCDCx
regulator: core: Handle fixed voltage in map_voltage_linear
regulator: isl6271a: Use regulator_[list|map]_voltage_linear for isl_fixed_ops
regulator: da903x: Don't read/write to DA9030_INVAL/DA9034_INVAL address
regulator: rc5t583: Simplify rc5t583_set_voltage_time_sel implementation
regulator: palmas: Clear PALMAS_SMPS12_CTRL_MODE_ACTIVE_MASK bits in palmas_set_mode_smps
regulator: palmas: Slightly code change for better readability
regulator: pcap: Convert to regulator_list_voltage_table
regulator: tps6586x: Convert to regulator_list_voltage_table
regulator: max1586: Convert max1586_v3_ops to regulator_list_voltage_linear
regulator: max1586: Convert max1586_v3_ops to set_voltage_sel and map_voltage_linear
regulator: isl6271a: Remove setting map_voltage callback for isl_fixed_ops
regulator: twl: Convert twl6030ldo_ops to use regulator_list_voltage_linear
regulator: anatop: Convert to set_voltage_sel and regulator_map_voltage_linear
regulator: max77686: Check pdata->num_regulators earlier
regulator: max77686: Fix the delay time for set_voltage_time_sel
regulator: core: Return correct delay time in regulator_set_voltage_time_sel
regulator: wm8350: Add missing min_uV and uV_step settings for DCDC4
regulator: wm8400: Use wm8400_ldo_list_voltage instead of open code to verify selected voltage
regulator: wm8400: Adjust the equation for selector >= 15 in wm8400_ldo_list_voltage
regulator: tps65217: Convert to regulator_[is_enabled|get_voltage_sel]_regmap
regulator: wm8350: Use wm8350_ldo_list_voltage instead of open code to verify selected voltage
regulator: wm8350: Reuse map_voltage() to get selector of a given uV
regulator: tps65023: Set n_voltages to 1 for fixed voltage
regulator: wm831x-dcdc: Convert wm831x_buckp_ops to regulator_list_voltage_linear
regulator: tps62360: Simplify tps62360_set_voltage_time_sel implementation
regulator: mc13xxx: Fix voltage checking for mc13xxx_fixed_regulator_set_voltage
regulator: mc13xxx: Convert to regulator_list_voltage_table
regulator: ab8500: Use regulator_list_voltage_linear for ab8500_regulator_fixed_ops
regulator: ab8500: Remove min_uV and max_uV from struct ab8500_regulator_info
regulator: pcf50633: Convert to regulator_set_voltage_sel_regmap and map_voltage
regulator: ab3100: Convert fixed voltage to use regulator_list_voltage_linear
regulator: wm831x-ldo: Convert to regulator_set_voltage_sel_regmap and map_voltage
regulator: wm831x-dcdc: Convert wm831x_buckp_ops to regulator_set_voltage_sel_regmap
regulator: wm831x-dcdc: Convert wm831x_buckv_ops to set_voltage_sel and map_voltage
regulator: Fix setting constraints->ramp_delay in of_get_regulation_constraints
regulator: core: Support table based mapping in regulator_set_voltage_time_sel
regulator: core: Change the unit of ramp_delay from mV/uS to uV/uS
regulator: mc13xxx: Remove mc13xxx_sw_regulator_is_enabled function
regulator: tps65023: Convert to regulator_list_voltage_table
regulator: tps65023: Convert to get_voltage_sel
regulator: tps65023: Convert tps65023_ldo_ops to regulator_[get|set]_voltage_sel_regmap
regulator: max77686: Initialize regulator_config
regulator: lp872x: Return -EINVAL if pdata is NULL
regulator: tps65910: Convert to regulator_set_voltage_time_sel()
regulator: tps65910: Remove unused min_uV and max_uV from struct tps_info
regulator: tps65910: Convert to regulator_list_voltage_table
regulator: tps62360: Remove chip_id and voltage_base from struct tps62360_chip
regulator: max8998: Convert to regulator_list_voltage_linear()
regulator: max8998: Convert to set_voltage_sel and regulator_map_voltage_linear
regulator: Use list_voltage() to get voltage in regulator_set_voltage_time_sel
regulator: rc5t583: Use regulator_set_voltage_time_sel()
regulator: arizona-micsupp: Fix choosing selector in arizona_micsupp_map_voltage
regulator: s5m8767: Convert to regulator_list_voltage_linear
regulator: tps65217: Convert LDO1 to use regulator_list_voltage_table
regulator: tps6524x: Convert to regulator_list_voltage_table()
regulator: tps6524x: Convert fixed ilimsel to table based
regulator: tps62360: Convert to regulator_set_voltage_time_sel()
regulator: tps65217: Fix voltage boundary checking in tps65217_pmic_map_voltage
regulator: tps65910: Set enable enable_time in regulator_desc
regulator: gpio-regulator: Set enable enable_time in regulator_desc
regulator: gpio-regulator: Use core GPIO enable support
regulator: twl: Set enable enable_time in regulator_desc
regulator: ad5398: Fix min/max current limit boundary checking
regulator: ab3100: Set enable enable_time in regulator_desc
regulator: ab3100: Use rdev_get_drvdata() rather than use reg->reg_data driectly
regulator: da9052: Use for_each_child_of_node() macro
regulator: max8952: Remove wrong set_suspend_disable callback setting
regulator: max8998: Remove wrong set_suspend_[en|dis]able callback settings
regulator: max8952: Use core GPIO enable support
regulator: tps65910: Remvoe tps65910_reg_[read|modify_bits|read_locked|write_locked] functions
regulator: s2mps11: Fixup missing commas
regulator: s2mps11: Fix wrong setting for config.dev
regulator: s2mps11: Use sec_reg_write rather than sec_reg_update when mask is 0xff
regulator: da9052: initialize of_node param for regulator register
regulator: aat2870: Convert to regulator_list_voltage_table
regulator: aat2870: Remove unused min_uV and max_uV from struct aat2870_regulator
regulator: max8997: Properly handle gpio_request failure
regulator: s5m8767: Properly handle gpio_request failure
regulator: twl: Fix the formula to calculate vsel and voltage for twl6030ldo
regulator: twl: Convert twl6030ldo_ops to [get|set]_voltage_sel
regulator: twl: Fix list_voltate for twl6030ldo_ops
regulator: lp872x: Simplify implementation of lp872x_find_regulator_init_data()
regulator: palmas: Fix calcuating selector in palmas_map_voltage_smps
regulator: mc13xxx: Remove extern function declaration for mc13xxx_sw_regulator

Fabio Estevam (1):
regulator: core: Remove unused get_device_regulator

Guennadi Liakhovetski (2):
regulator: support multiple dummy fixed regulators
regulator: extend the fixed dummy voltage regulator to accept voltage

Jonghwa Lee (1):
regulator: MAX77686: Add Maxim 77686 regulator driver

Kim, Milo (3):
regulator: add new regulator driver for lp872x
regulator: change message level on probing lp872x driver
regulator: add new lp8788 regulator driver

Krystian Garbaciak (2):
regulator: Fix a typo in regulator_mode_to_status() core function.

Laxman Dewangan (9):
ARM: dts: db8500: add property "regulator-compatible" regulator node
regulator: dt: regulator match by regulator-compatible
regulator: dt: add policy to have property "regulator-compatible"
regulator: fixed: dt: support for input supply
regulator: tps65910: add support for input supply
regulator: tps65910: correct init value of n_voltages
regulator: tps6586x: add support for input supply
regulator: tps62360: use devm_* for gpio request
regulator: tps65910: set input_supply on desc unconditionally

Lee Jones (2):
regulator: Change ab8500 match names to reflect Device Tree
regulator: Change db8500-prcmu match names to reflect Device Tree

Mark Brown (36):
regulator: Use newly added devres_release() rather than open coding
regulator: core: Use dev_get_regmap() to find the regmap
regulator: wm8350: Convert to use core regmap vsel readback
regulator: wm8350: Convert to core regmap-based enable operations
regulator: wm8350: Convert DCDCs to set_voltage_sel() and linear voltages
regulator: wm8350: Convert LDOs to set_voltage_sel()
regulator: core: Actually use the data in _notifier_call_chain()
regulator: tps65910: Don't use 0 as NULL
regulator: Fix double free in devm_regulator_put()
regulator: stubs: Make stub regulator_get_voltage() return an error
regulator: twl: Remove references to 32kHz clock from DT bindings
regulator: lp872x: Don't allow modular build
regulator: arizona: Add support for microphone supplies on Arizona devices
regulator: lp872x: Depend on I2C=y
regulator: core: Add export of regulator_set_voltage_time_sel()
Merge tag 'v3.5-rc4' into regulator-drivers
regulator: Add driver for Arizona LDO1
regulator: core: Check for failed voltage sets before checking for delay
regulator: core: Allow multiple requests of a single supply mapping
Merge tag 'v3.5-rc5' into regulator-drivers
regulator: core: Support fixed voltages in regulator_is_supported_voltage()
regulator: core: Check that the selector from map_voltage() is valid
regulator: core: Allow fixed enable_time to be set in the regulator_desc
regulator: fixed: Set enable enable_time in regulator_desc
regulator: wm8994: Set enable_time in descriptor
regulator: wm831x-ldo: Specify enable time for alive LDO
regulator: core: Factor out enable and disable operations some more
regulator: core: Add core support for GPIO controlled enable lines
regulator: fixed: Use core GPIO enable support
regulator: wm8994: Use core GPIO enable support
regulator: arizona-ldo1: Implement GPIO enable support
regulator: arizona-micsupp: Force regulated mode until we have API support
regulator: core: Mark all DT based boards as having full constraints
Merge tag 'v3.5-rc7' into regulator-drivers
Merge branches 'regulator-core', 'regulator-dt' and 'regulator-dummy' into regulator-next
Merge branch 'regulator-drivers' into regulator-next

Philip Rakity (3):
regulator: core.c Pass voltage to notifier when setting voltage
regulator: core.c Only delay when setting voltage requires this
regulator: add missing defintion regulator_is_supported_voltage

Sangbeom Kim (5):
regulator: Remove s5m8767a buck initialization
regulator: Replace set_voltage with set_voltage_sel
regulator: s5m8767a: Support AP watchdog reset operation
regulator: Modify ramp_delay value for s5m8767a
regulator: s2mps11: Add samsung s2mps11 regulator driver

Shawn Guo (1):
regulator: core: remove sysfs entry properly in regulator_put

Stephen Warren (1):
regulator: fixed: support deferred probe for DT GPIOs

Yadwinder Singh Brar (6):
regulator: core: Add regulator_set_voltage_time_sel to calculate ramp delay.
regulator: Add ramp_delay configuration to constraints
regulator: max77686: Convert driver to use regulator_set_voltage_time_sel.
regulator: max77686: Implement .set_ramp_delay() callback
regulator: max77686: Add device tree support.
regulator: max77686: Initialise rmatch.of_node to NULL.

Documentation/devicetree/bindings/mfd/tps65910.txt | 90 +-
.../bindings/regulator/fixed-regulator.txt | 2 +
.../devicetree/bindings/regulator/regulator.txt | 5 +
.../devicetree/bindings/regulator/tps65217.txt | 91 ++
.../devicetree/bindings/regulator/tps6586x.txt | 77 +-
.../bindings/regulator/twl-regulator.txt | 1 -
arch/arm/boot/dts/db8500.dtsi | 30 +
drivers/mfd/tps65217.c | 67 +-
drivers/regulator/Kconfig | 37 +
drivers/regulator/Makefile | 6 +
drivers/regulator/aat2870-regulator.c | 21 +-
drivers/regulator/ab3100.c | 119 +--
drivers/regulator/ab8500.c | 96 +-
drivers/regulator/ad5398.c | 9 +-
drivers/regulator/anatop-regulator.c | 42 +-
drivers/regulator/arizona-ldo1.c | 138 +++
drivers/regulator/arizona-micsupp.c | 188 ++++
drivers/regulator/core.c | 402 ++++++---
drivers/regulator/da903x.c | 6 +
drivers/regulator/da9052-regulator.c | 4 +-
drivers/regulator/fixed-helper.c | 19 +-
drivers/regulator/fixed.c | 163 ++--
drivers/regulator/gpio-regulator.c | 115 +--
drivers/regulator/isl6271a-regulator.c | 13 +-
drivers/regulator/lp3971.c | 66 +-
drivers/regulator/lp3972.c | 102 +--
drivers/regulator/lp872x.c | 943 ++++++++++++++++++++
drivers/regulator/lp8788-buck.c | 629 +++++++++++++
drivers/regulator/lp8788-ldo.c | 842 +++++++++++++++++
drivers/regulator/max1586.c | 108 +--
drivers/regulator/max77686.c | 389 ++++++++
drivers/regulator/max8952.c | 60 +-
drivers/regulator/max8997.c | 40 +-
drivers/regulator/max8998.c | 133 +--
drivers/regulator/mc13783-regulator.c | 38 +-
drivers/regulator/mc13892-regulator.c | 43 +-
drivers/regulator/mc13xxx-regulator-core.c | 36 +-
drivers/regulator/mc13xxx.h | 11 +-
drivers/regulator/of_regulator.c | 57 +-
drivers/regulator/palmas-regulator.c | 59 +-
drivers/regulator/pcap-regulator.c | 95 +-
drivers/regulator/pcf50633-regulator.c | 20 +-
drivers/regulator/rc5t583-regulator.c | 24 +-
drivers/regulator/s2mps11.c | 363 ++++++++
drivers/regulator/s5m8767.c | 229 +++--
drivers/regulator/tps6105x-regulator.c | 14 +-
drivers/regulator/tps62360-regulator.c | 57 +-
drivers/regulator/tps65023-regulator.c | 201 ++---
drivers/regulator/tps6507x-regulator.c | 98 +-
drivers/regulator/tps65217-regulator.c | 140 ++-
drivers/regulator/tps6524x-regulator.c | 94 +-
drivers/regulator/tps6586x-regulator.c | 106 +--
drivers/regulator/tps65910-regulator.c | 425 ++++-----
drivers/regulator/twl-regulator.c | 92 +-
drivers/regulator/wm831x-dcdc.c | 78 +-
drivers/regulator/wm831x-ldo.c | 131 +--
drivers/regulator/wm8350-regulator.c | 426 +++------
drivers/regulator/wm8400-regulator.c | 25 +-
drivers/regulator/wm8994-regulator.c | 93 +-
include/linux/mfd/s5m87xx/s5m-core.h | 5 +
include/linux/mfd/tps65217.h | 13 +-
include/linux/mfd/tps65910.h | 6 +
include/linux/regulator/consumer.h | 6 +
include/linux/regulator/driver.h | 30 +
include/linux/regulator/fixed.h | 13 +-
include/linux/regulator/lp872x.h | 90 ++
include/linux/regulator/machine.h | 3 +
67 files changed, 5524 insertions(+), 2650 deletions(-)
create mode 100644 Documentation/devicetree/bindings/regulator/tps65217.txt
create mode 100644 drivers/regulator/arizona-ldo1.c
create mode 100644 drivers/regulator/arizona-micsupp.c
create mode 100644 drivers/regulator/lp872x.c
create mode 100644 drivers/regulator/lp8788-buck.c
create mode 100644 drivers/regulator/lp8788-ldo.c
create mode 100644 drivers/regulator/max77686.c
create mode 100644 drivers/regulator/s2mps11.c
create mode 100644 include/linux/regulator/lp872x.h

Attachment: signature.asc
Description: Digital signature