regulator: Fix _regulator_get_voltage if get_voltage callback is NULL
PATCH v2 1/1 regulator: Fix _regulator_get_voltage if get_voltage callback is NULL
In the case of get_voltage callback is NULL, current implementation in _regulator_get_voltage will return -EINVAL.
Also returns proper error if ret is negative value.
Signed-off-by Axel Lin <[email protected]>
---
v2: remove unneeded goto.
drivers/regulator/core.c | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-)
drivers/regulator/core.c +4 -4
@@ -1886,13 +1886,13 @@ static int _regulator_get_voltage(struct regulator_dev *rdev)if (sel <0 )return sel; ret = rdev->desc->ops->list_voltage (rdev, sel); - } -if (rdev->desc->ops->get_voltage) + }else if (rdev->desc->ops->get_voltage) { ret = rdev->desc->ops->get_voltage (rdev); -else + }else {return -EINVAL ; + } -return ret - rdev->constraints->uV_offset; +return ret <0 ? ret : ret - rdev->constraints->uV_offset; }/**
Signature · 1 line
1.7.1
drivers/regulator/core.c static int _regulator_get_voltage(struct regulator_dev *rdev) · line 1895
Quoted 2 lines · Axel Lin
drivers/regulator/core.c +1
-1-return ret - rdev->constraints->uV_offset; +return ret <0 ? ret : ret - rdev->constraints->uV_offset;
Please don't use the ternery operator, I find it does nothing for legibility.