On 10-08-15, 12:23, Stephen Boyd wrote:
Because ret is already 0, juse see the above if (ret) check.
---Doesn't ret = 0 in this case?
drivers/base/power/opp.c | 21 ++++++++++-----------
1 file changed, 10 insertions(+), 11 deletions(-)
diff --git a/drivers/base/power/opp.c b/drivers/base/power/opp.c
index 1daaa1a418a2..c9747fb192b1 100644
--- a/drivers/base/power/opp.c
+++ b/drivers/base/power/opp.c
@@ -1295,20 +1295,19 @@ static int _of_init_opp_table_v2(struct device *dev,
if (WARN_ON(!count))
goto out;
- if (!ret) {
- if (!dev_opp) {
- dev_opp = _find_device_opp(dev);
- if (WARN_ON(!dev_opp))
- goto out;
- }
-
- dev_opp->np = opp_np;
- dev_opp->shared_opp = of_property_read_bool(opp_np,
- "opp-shared");
- } else {
+ if (ret) {
of_free_opp_table(dev);
+ goto out;
}
+ dev_opp = _find_device_opp(dev);
+ if (WARN_ON(!dev_opp))
+ goto out;
Why not drop the goto and justActually yes, because we don't do anything special in goto now. But it
return some error code. Same for the goto out up above.
required more (unrelated) code changes, plus I didn't wanted to break
the 'return from single place' rule for this function, in case we
really need to free some resource or undo some work from the goto
place.
But if you suggest/insist, then I will do it in a separate patch.