mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-30 07:34:12 +08:00
regulator: Fixes for v3.13
A small set of driver fixes plus one larger core change which changes the way we check to see if we're using DT so that there aren't any races between deciding we're using DT and the regulator subsystem noticing. This makes the new support for substituting a dummy regulator and optional regulators work a lot better on DT systems since it ensures that we don't trigger probe deferral when we shouldn't which was causing bugs in clients. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.15 (GNU/Linux) iQIcBAABAgAGBQJSqxI9AAoJELSic+t+oim9nuMQAJd2MqTivDav+1dAJgWT7chT GUb61Ks3HjmsRz/76YV+CQBO7puFxR9100U/keb3Xmg8oHJSVP6xCroA5JILqhwZ 6rDsRXOKgbqlVruundkceWZJHQEbszUpdbnU8GXiNyNI8EiVoVZCgXSnPM2wyD6o EdxjqaXi/GUodaGFBfMyMpj387QwWgCi+DocUf622fTUHLEOKjjjndsKssTW2jyf NrRQiTnQ6Yecf8lI2rHN5C6p8MyJ8IF3i2d4pi1eBAfWF0OfeYRrm694IrbZ8Idl vAH4BxMf111JC7apuOTHNUSpL1DV4mjYQEeXUvd3wfnWEMRkFaEgwmTRmZZAfl/i KM+5Yob1IdStfNwayKAVsPbIqYeyV0zDkN4CteY5XtWYLUqKJon6wuSGzYRABID2 uRa82dlSWMaX89+nHPCf22F7op8qRPLgr11yg7Nvo5qB+0Snij341libjrJGY09y wFx6fdxL4OMkyRpwyB6tkWyAjUPbMJDAvrOnA2x7nU+AS1ytGAJeJMUpzYhUEly/ 31kVJBi+mPRRmBsG+Fe9ALp+4k/UpMajCYWXa4/q+Bs7r3FCzWU98NeRxMurUKfO cco6diDSLTVaQKHcUqPW0g0BWGrggro4H5CHe5MBBi2mHK3IMuqnSYjTDiJpEh7I Tlad7Or4kd41FCk3Wpfi =WqDN -----END PGP SIGNATURE----- Merge tag 'regulator-v3.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator Pull regulator fixes from Mark Brown: "A small set of driver fixes plus one larger core change which changes the way we check to see if we're using DT so that there aren't any races between deciding we're using DT and the regulator subsystem noticing. This makes the new support for substituting a dummy regulator and optional regulators work a lot better on DT systems since it ensures that we don't trigger probe deferral when we shouldn't which was causing bugs in clients" * tag 'regulator-v3.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: regulator: pfuze100: allow misprogrammed ID regulator: pfuze100: Fix address of FABID regulator: as3722: set the correct current limit regulator: core: Check for DT every time we check full constraints regulator: core: Replace checks of have_full_constraints with a function
This commit is contained in:
commit
ca3367518b
@ -590,8 +590,8 @@ static int as3722_sd016_set_current_limit(struct regulator_dev *rdev,
|
||||
default:
|
||||
return -EINVAL;
|
||||
}
|
||||
ret <<= ffs(mask) - 1;
|
||||
val = ret & mask;
|
||||
val <<= ffs(mask) - 1;
|
||||
return as3722_update_bits(as3722, reg, mask, val);
|
||||
}
|
||||
|
||||
|
@ -119,6 +119,11 @@ static const char *rdev_get_name(struct regulator_dev *rdev)
|
||||
return "";
|
||||
}
|
||||
|
||||
static bool have_full_constraints(void)
|
||||
{
|
||||
return has_full_constraints || of_have_populated_dt();
|
||||
}
|
||||
|
||||
/**
|
||||
* of_get_regulator - get a regulator device node based on supply name
|
||||
* @dev: Device pointer for the consumer (of regulator) device
|
||||
@ -1340,7 +1345,7 @@ static struct regulator *_regulator_get(struct device *dev, const char *id,
|
||||
* Assume that a regulator is physically present and enabled
|
||||
* even if it isn't hooked up and just provide a dummy.
|
||||
*/
|
||||
if (has_full_constraints && allow_dummy) {
|
||||
if (have_full_constraints() && allow_dummy) {
|
||||
pr_warn("%s supply %s not found, using dummy regulator\n",
|
||||
devname, id);
|
||||
|
||||
@ -3627,7 +3632,7 @@ int regulator_suspend_finish(void)
|
||||
if (error)
|
||||
ret = error;
|
||||
} else {
|
||||
if (!has_full_constraints)
|
||||
if (!have_full_constraints())
|
||||
goto unlock;
|
||||
if (!ops->disable)
|
||||
goto unlock;
|
||||
@ -3825,7 +3830,7 @@ static int __init regulator_init_complete(void)
|
||||
if (!enabled)
|
||||
goto unlock;
|
||||
|
||||
if (has_full_constraints) {
|
||||
if (have_full_constraints()) {
|
||||
/* We log since this may kill the system if it
|
||||
* goes wrong. */
|
||||
rdev_info(rdev, "disabling\n");
|
||||
|
@ -38,7 +38,7 @@
|
||||
|
||||
#define PFUZE100_DEVICEID 0x0
|
||||
#define PFUZE100_REVID 0x3
|
||||
#define PFUZE100_FABID 0x3
|
||||
#define PFUZE100_FABID 0x4
|
||||
|
||||
#define PFUZE100_SW1ABVOL 0x20
|
||||
#define PFUZE100_SW1CVOL 0x2e
|
||||
|
Loading…
Reference in New Issue
Block a user