Commit 99dff484 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'regulator-fix-v6.9-rc7' of...

Merge tag 'regulator-fix-v6.9-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator

Pull regulator fixes from Mark Brown:
 "Two fixes here, one from Johan which fixes error handling when we
  attempt to create duplicate debugfs files and one for an incorrect
  specification of ramp_delay with the rtq2208"

* tag 'regulator-fix-v6.9-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
  regulator: core: fix debugfs creation regression
  regulator: rtq2208: Fix the BUCK ramp_delay range to maximum of 16mVstep/us
parents 92d50301 2a4b49bb
...@@ -1911,11 +1911,15 @@ static struct regulator *create_regulator(struct regulator_dev *rdev, ...@@ -1911,11 +1911,15 @@ static struct regulator *create_regulator(struct regulator_dev *rdev,
} }
} }
if (err != -EEXIST) if (err != -EEXIST) {
regulator->debugfs = debugfs_create_dir(supply_name, rdev->debugfs); regulator->debugfs = debugfs_create_dir(supply_name, rdev->debugfs);
if (IS_ERR(regulator->debugfs)) if (IS_ERR(regulator->debugfs)) {
rdev_dbg(rdev, "Failed to create debugfs directory\n"); rdev_dbg(rdev, "Failed to create debugfs directory\n");
regulator->debugfs = NULL;
}
}
if (regulator->debugfs) {
debugfs_create_u32("uA_load", 0444, regulator->debugfs, debugfs_create_u32("uA_load", 0444, regulator->debugfs,
&regulator->uA_load); &regulator->uA_load);
debugfs_create_u32("min_uV", 0444, regulator->debugfs, debugfs_create_u32("min_uV", 0444, regulator->debugfs,
...@@ -1924,6 +1928,7 @@ static struct regulator *create_regulator(struct regulator_dev *rdev, ...@@ -1924,6 +1928,7 @@ static struct regulator *create_regulator(struct regulator_dev *rdev,
&regulator->voltage[PM_SUSPEND_ON].max_uV); &regulator->voltage[PM_SUSPEND_ON].max_uV);
debugfs_create_file("constraint_flags", 0444, regulator->debugfs, debugfs_create_file("constraint_flags", 0444, regulator->debugfs,
regulator, &constraint_flags_fops); regulator, &constraint_flags_fops);
}
/* /*
* Check now if the regulator is an always on regulator - if * Check now if the regulator is an always on regulator - if
......
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
/* Value */ /* Value */
#define RTQ2208_RAMP_VALUE_MIN_uV 500 #define RTQ2208_RAMP_VALUE_MIN_uV 500
#define RTQ2208_RAMP_VALUE_MAX_uV 64000 #define RTQ2208_RAMP_VALUE_MAX_uV 16000
#define RTQ2208_BUCK_MASK(uv_irq, ov_irq) (1 << ((uv_irq) % 8) | 1 << ((ov_irq) % 8)) #define RTQ2208_BUCK_MASK(uv_irq, ov_irq) (1 << ((uv_irq) % 8) | 1 << ((ov_irq) % 8))
...@@ -142,12 +142,11 @@ static int rtq2208_set_ramp_delay(struct regulator_dev *rdev, int ramp_delay) ...@@ -142,12 +142,11 @@ static int rtq2208_set_ramp_delay(struct regulator_dev *rdev, int ramp_delay)
* Because the relation of seleltion and value is like that * Because the relation of seleltion and value is like that
* *
* seletion: value * seletion: value
* 000: 64mv * 010: 16mv
* 001: 32mv
* ... * ...
* 111: 0.5mv * 111: 0.5mv
* *
* For example, if I would like to select 64mv, the fls(ramp_delay) - 1 will be 0b111, * For example, if I would like to select 16mv, the fls(ramp_delay) - 1 will be 0b010,
* and I need to use 0b111 - sel to do the shifting * and I need to use 0b111 - sel to do the shifting
*/ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment