[U-Boot] [PATCH] regulator: pwm: Fix handling of missing init voltage

Since priv->init_voltage is an unsigned integer it can never be negative. So the current code fails to detect a missing 'regulator-init-microvolt' property and instead misconfigures the PWM device. Fix this by making the relevant members of 'struct pwm_regulator_info' signed integers.
Signed-off-by: Mark Kettenis kettenis@openbsd.org ---
The current device tree for the Firefly-RK3399 does not have a 'regulator-init-microvolt' property for the 'vdd-log' regulator. Without this fix U-Boot configures a voltage that is too low which causes the Ethernet interface to drop almost all packets.
drivers/power/regulator/pwm_regulator.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/power/regulator/pwm_regulator.c b/drivers/power/regulator/pwm_regulator.c index a6c9fccd68..00a7cca7f7 100644 --- a/drivers/power/regulator/pwm_regulator.c +++ b/drivers/power/regulator/pwm_regulator.c @@ -32,13 +32,13 @@ struct pwm_regulator_info { bool polarity; struct udevice *pwm; /* initialize voltage of regulator */ - unsigned int init_voltage; + int init_voltage; /* the maximum voltage of regulator */ - unsigned int max_voltage; + int max_voltage; /* the minimum voltage of regulator */ - unsigned int min_voltage; + int min_voltage; /* the current voltage of regulator */ - unsigned int volt_uV; + int volt_uV; };
static int pwm_regulator_enable(struct udevice *dev, bool enable)
participants (1)
-
Mark Kettenis