On 16-12-15, 16:41, Bartlomiej Zolnierkiewicz wrote: > Commit 01fb4d3c39d3 ("PM / OPP: Parse 'opp-<prop>-<name>' > bindings") broke support for parsing standard opp-microvolt and > opp-microamp properties. Fix it by setting 'name' string to > proper value for !dev_opp->prop_name cases. > > Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> > Cc: Lee Jones <lee.jones@xxxxxxxxxx> > Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> > Fixes: 01fb4d3c39d3 ("PM / OPP: Parse 'opp-<prop>-<name> 'bindings") > Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> > --- > This fixes Exynos4x12 cpufreq-dt support regression present in > linux-pm/linux-next tree. Rafael, please apply. Thank you. > > drivers/base/power/opp/core.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > Index: b/drivers/base/power/opp/core.c > =================================================================== > --- a/drivers/base/power/opp/core.c 2015-12-16 16:10:13.509171420 +0100 > +++ b/drivers/base/power/opp/core.c 2015-12-16 16:21:18.385183902 +0100 > @@ -806,11 +806,11 @@ static int opp_parse_supplies(struct dev > struct property *prop = NULL; > char name[NAME_MAX]; > > + sprintf(name, "opp-microvolt-%s", dev_opp->prop_name); > + > /* Search for "opp-microvolt-<name>" */ > - if (dev_opp->prop_name) { > - sprintf(name, "opp-microvolt-%s", dev_opp->prop_name); > + if (dev_opp->prop_name) > prop = of_find_property(opp->np, name, NULL); > - } > > if (!prop) { > /* Search for "opp-microvolt" */ > @@ -848,10 +848,10 @@ static int opp_parse_supplies(struct dev > > /* Search for "opp-microamp-<name>" */ > prop = NULL; > - if (dev_opp->prop_name) { > - sprintf(name, "opp-microamp-%s", dev_opp->prop_name); > + sprintf(name, "opp-microamp-%s", dev_opp->prop_name); > + > + if (dev_opp->prop_name) > prop = of_find_property(opp->np, name, NULL); > - } > > if (!prop) { > /* Search for "opp-microamp" */ Sorry about this. And I am disliking the solution suggested by Stephen more and more now. Please resend this patch with following changes instead: diff --git a/drivers/base/power/opp/core.c b/drivers/base/power/opp/core.c index 6c6856e426f0..a96df5cda303 100644 --- a/drivers/base/power/opp/core.c +++ b/drivers/base/power/opp/core.c @@ -816,7 +816,7 @@ static int opp_parse_supplies(struct dev_pm_opp *opp, struct device *dev, if (!prop) { /* Search for "opp-microvolt" */ - name[13] = '\0'; + sprintf(name, "opp-microvolt"); prop = of_find_property(opp->np, name, NULL); /* Missing property isn't a problem, but an invalid entry is */ @@ -857,7 +857,7 @@ static int opp_parse_supplies(struct dev_pm_opp *opp, struct device *dev, if (!prop) { /* Search for "opp-microamp" */ - name[12] = '\0'; + sprintf(name, "opp-microamp"); prop = of_find_property(opp->np, name, NULL); } -- viresh -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html