Re: [PATCH v4 0/4] Bugfix for of_match_node ordering
From: Sachin Kamat <hidden>
Date: 2014-02-20 10:27:14
Also in:
linux-samsung-soc, lkml
Hi Kevin, On 20 February 2014 15:42, Kevin Hao [off-list ref] wrote:
On Thu, Feb 20, 2014 at 02:09:08PM +0530, Sachin Kamat wrote:quoted
Hi Grant, I observe the following boot failure with today's (next-20140220) linux-next tree on Exynos based boards with the default exynos_defconfig.Does this help?
The below patch works for me. Thanks for the fix.
quoted hunk ↗ jump to hunk
diff --git a/drivers/of/base.c b/drivers/of/base.c index 8a27fc907ab6..9cc893530b9a 100644 --- a/drivers/of/base.c +++ b/drivers/of/base.c@@ -381,12 +381,16 @@ static int __of_device_is_compatible(const struct device_node *device, /* Compatible match has highest priority */ if (compat && compat[0]) { - of_property_for_each_string(device, "compatible", prop, cp) { + prop = __of_find_property(device, "compatible", NULL); + if (!prop) + return 0; + + for (cp = of_prop_next_string(prop, NULL); cp; + cp = of_prop_next_string(prop, cp), index++) { if (of_compat_cmp(cp, compat, strlen(compat)) == 0) { score = INT_MAX/2 - (index << 2); break; } - index++; } if (!score) return 0;Thanks, Kevin
-- With warm regards, Sachin