linux/drivers/regulator
Krzysztof Kozlowski 32c848e33a regulator: s2mps11: Fix GPIO suspend enable shift wrapping bug
Status of enabling suspend mode for regulator was stored in bitmap-like
long integer.

However since adding support for S2MPU02 the number of regulators
exceeded 32 so on devices with more than 32 regulators (S2MPU02 and
S2MPS13) overflow happens when shifting the bit. This could lead to
enabling suspend mode for completely different regulator than intended
or to switching different regulator to other mode (e.g. from always
enabled to controlled by PWRHOLD pin). Both cases could result in larger
energy usage and issues when suspending to RAM.

Fixes: 00e2573d2c ("regulator: s2mps11: Add support S2MPU02 regulator device")
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: <stable@vger.kernel.org>
2015-06-24 12:25:20 +01:00
..
88pm800.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
88pm8607.c regulator: 88pm8607: Constify platform_device_id 2015-05-01 17:44:55 +01:00
aat2870-regulator.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
ab3100.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
ab8500-ext.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
ab8500.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
act8865-regulator.c regulator: act8865: add input supply handling 2015-03-07 16:32:28 +00:00
ad5398.c regulator: ad5398: Convert to devm_regulator_register 2013-09-17 00:27:55 +01:00
anatop-regulator.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
arizona-ldo1.c regulator: arizona-ldo1: Add additional supported voltage 2015-05-11 15:12:01 +01:00
arizona-micsupp.c == Changes to existing drivers == 2015-04-14 17:29:55 -07:00
as3711-regulator.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
as3722-regulator.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
axp20x-regulator.c regulator: axp20x: Migrate to regulator core's simplified DT parsing code 2015-01-09 17:12:58 +00:00
bcm590xx-regulator.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
core.c Merge remote-tracking branches 'regulator/topic/da9063', 'regulator/topic/doc', 'regulator/topic/fan53555', 'regulator/topic/gpio' and 'regulator/topic/ilim' into regulator-next 2015-06-22 11:19:52 +01:00
da903x.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
da9052-regulator.c mfd: da9052: Fix broken regulator probe 2015-05-27 13:34:15 +01:00
da9055-regulator.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
da9062-regulator.c regulator: da9062: Remove unused variable build warning 2015-06-02 12:11:17 +01:00
da9063-regulator.c regulator: da9063: Fix up irq leak 2015-06-02 15:38:36 +01:00
da9210-regulator.c regulator: da9210: Mask all interrupt sources to deassert interrupt line 2015-02-17 23:04:15 +09:00
da9210-regulator.h regulator: da9210: New driver 2013-08-06 17:46:15 +01:00
da9211-regulator.c regulator: da9211: Pass NULL data with OVER_CURRENT event 2015-02-24 17:19:08 +09:00
da9211-regulator.h regulator: da9211: support DA9213 2014-08-16 16:46:22 -05:00
db8500-prcmu.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
dbx500-prcmu.c regulator: dbx500: Remove use of seq_puts/seq_printf return value 2015-02-24 17:16:14 +09:00
dbx500-prcmu.h regulator: dbx500-prcmu: Remove operating_point from struct dbx500_regulator_info 2013-04-02 23:05:28 +01:00
devres.c regulator: core: Add devres versions of notifier registration 2015-03-05 16:42:14 +00:00
dummy.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
dummy.h
fan53555.c regulator: fan53555: fill set_voltage_time_set callback 2015-05-26 18:31:32 +01:00
fixed-helper.c regulator: extend the fixed dummy voltage regulator to accept voltage 2012-06-19 23:22:30 +01:00
fixed.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
gpio-regulator.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
helpers.c regulator: Fix the function name in documentation 2015-04-19 13:23:07 +01:00
hi6421-regulator.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
internal.h regulator: Allow parsing custom properties when using simplified DT parsing 2015-01-08 20:15:45 +00:00
isl6271a-regulator.c regulator: isl6271a-regulator: Use devm_regulator_register 2013-09-17 00:28:42 +01:00
isl9305.c regulator: isl9305: deprecate use of isl in compatible string for isil 2014-12-22 17:51:11 +00:00
Kconfig Merge remote-tracking branches 'regulator/topic/of', 'regulator/topic/pwm', 'regulator/topic/qcom' and 'regulator/topic/soft-start' into regulator-next 2015-06-22 11:19:56 +01:00
lp872x.c regulator: lp872x: Remove **regulators from struct lp872x 2015-01-26 19:10:55 +00:00
lp3971.c regulator: lp3971: Do not hardcode return value 2014-02-20 01:28:12 +09:00
lp3972.c regulator: lp3972: Convert to devm_regulator_register 2013-11-24 14:02:18 +00:00
lp8755.c regulator: lp8755: Convert to devm_request_threaded_irq 2015-06-02 15:35:17 +01:00
lp8788-buck.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
lp8788-ldo.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
ltc3589.c regulator: ltc3589: fix broken voltage transitions 2014-09-26 09:22:50 +01:00
Makefile Merge remote-tracking branches 'regulator/topic/of', 'regulator/topic/pwm', 'regulator/topic/qcom' and 'regulator/topic/soft-start' into regulator-next 2015-06-22 11:19:56 +01:00
max1586.c regulator: max1586: zero-initialize regulator match table array 2014-11-03 15:36:50 +00:00
max8649.c regulator: max8649: Constify struct regmap_config and regulator_ops 2015-01-05 20:10:13 +00:00
max8660.c regulator: max8660: Handle empty regulator data 2015-04-10 18:17:53 +01:00
max8907-regulator.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
max8925-regulator.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
max8952.c Merge remote-tracking branches 'regulator/topic/max77686', 'regulator/topic/max77693', 'regulator/topic/max77802', 'regulator/topic/power-off' and 'regulator/topic/rk808' into regulator-next 2014-12-05 11:14:37 +00:00
max8973-regulator.c regulator: max8973: Fix up ramp_delay for MAX8973_RAMP_25mV_PER_US case 2015-06-10 18:29:04 +01:00
max8997.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
max8998.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
max14577.c regulator: max14577: Reduce duplication of regulator_desc initializers 2015-04-27 18:57:57 +01:00
max77686.c regulator: max77686: fix gpio_enabled shift wrapping bug 2015-05-20 19:09:51 +01:00
max77693.c regulator: max77693: Use core code for charger's is_enabled 2015-04-29 12:01:17 +01:00
max77802.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
max77843.c regulator: max77843: Convert to use regulator_is_enabled_regmap 2015-05-04 15:07:32 +01:00
mc13xxx-regulator-core.c regulator: of: Add regulator desc param to of_get_regulator_init_data() 2014-11-26 18:58:14 +00:00
mc13xxx.h regulator: mc13xxx: Remove unused field "hi_bit" 2014-06-09 20:50:35 +01:00
mc13783-regulator.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
mc13892-regulator.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
mt6397-regulator.c regulator: mt6397: Add support for MT6397 regulator 2014-12-24 12:41:05 +00:00
of_regulator.c Merge remote-tracking branches 'regulator/topic/of', 'regulator/topic/pwm', 'regulator/topic/qcom' and 'regulator/topic/soft-start' into regulator-next 2015-06-22 11:19:56 +01:00
palmas-regulator.c regulator: palmas: Add has_regen3 check for TPS659038 2015-03-17 12:21:15 +00:00
pbias-regulator.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
pcap-regulator.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
pcf50633-regulator.c mfd: pcf50633: Correct device name for pcf50633 regulator 2013-12-02 17:58:58 +00:00
pfuze100-regulator.c regulator: pfuze100-regulator: add pfuze3000 support 2015-01-09 12:22:18 +00:00
pwm-regulator.c regulator: pwm-regulator: Diffientiate between dev (device) and rdev (regulator_dev) 2015-06-08 19:18:19 +01:00
qcom_rpm-regulator.c regulator: qcom: Tidy up probe() 2015-04-08 12:22:55 +01:00
qcom_spmi-regulator.c regulator: qcom_spmi: Fix calculating number of voltages 2015-06-19 16:28:17 +01:00
rc5t583-regulator.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
rk808-regulator.c Merge remote-tracking branches 'regulator/fix/da9210' and 'regulator/fix/rk808' into regulator-linus 2015-03-06 21:10:30 +00:00
rn5t618-regulator.c regulator: rn5t618: Convert to new style DT parsing 2014-10-20 12:23:59 +01:00
rt5033-regulator.c regulator: rt5033-regulator: Use regulator_nodes/of_match in the descriptor 2014-12-24 12:54:56 +00:00
s2mpa01.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
s2mps11.c regulator: s2mps11: Fix GPIO suspend enable shift wrapping bug 2015-06-24 12:25:20 +01:00
s5m8767.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
sky81452-regulator.c regulator: sky81452: Modify Device Tree structure 2014-12-02 12:22:39 +00:00
stw481x-vmmc.c regulator: stw481x: Remove unused fields from struct stw481x 2015-03-21 01:05:56 +00:00
ti-abb-regulator.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
tps6105x-regulator.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
tps6507x-regulator.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
tps6524x-regulator.c regulator: tps6524x: Remove redundant error message 2014-02-20 20:54:59 +09:00
tps6586x-regulator.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
tps51632-regulator.c regulator: of: Add regulator desc param to of_get_regulator_init_data() 2014-11-26 18:58:14 +00:00
tps62360-regulator.c regulator: of: Add regulator desc param to of_get_regulator_init_data() 2014-11-26 18:58:14 +00:00
tps65023-regulator.c regulator: tps65023: Constify struct regmap_config and regulator_ops 2015-01-05 20:11:06 +00:00
tps65090-regulator.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
tps65217-regulator.c regulator: tps65217: Use simplified DT parsing 2014-09-10 12:02:48 +01:00
tps65218-regulator.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
tps65910-regulator.c regulator: tps65910: Add missing #include <linux/of.h> 2015-03-16 11:41:16 +00:00
tps65912-regulator.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
tps80031-regulator.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
twl-regulator.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
userspace-consumer.c regulator: use dev_get_platdata() 2013-07-30 12:24:20 +01:00
vexpress.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
virtual.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
wm831x-dcdc.c regulator: wm831x: Pass the IRQF_ONESHOT flag 2015-06-02 11:53:59 +01:00
wm831x-isink.c regulator: wm831x: Pass the IRQF_ONESHOT flag 2015-06-02 11:53:59 +01:00
wm831x-ldo.c regulator: wm831x: Pass the IRQF_ONESHOT flag 2015-06-02 11:53:59 +01:00
wm8350-regulator.c regulator: wm8350: Remove unused variable 2015-03-05 17:56:12 +00:00
wm8400-regulator.c Merge remote-tracking branch 'regulator/topic/linear' into regulator-next 2013-10-24 11:11:37 +01:00
wm8994-regulator.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00