On 19-09-15, 15:22, Stephen Boyd wrote:
On 09/18, Viresh Kumar wrote:
On 17-09-15, 11:13, Stephen Boyd wrote:
- count = of_property_count_u32_elems(opp->np, "opp-microvolt");
- if (count < 0) {
We can't test count for -EINVAL to detect the missing property because -EINVAL is also returned on a non-multiple of u32 length property? Maybe we shouldn't worry about that case and turn -EINVAL into 0.
So you are saying that we go ahead without regulators if a incorrect values are present in opp-microvolt? i.e. even if the length property was invalid, we return 0 from this function.
The problem here is that we will try changing the frequency without changing the regulator in that case, and it might not be safe for the platform, isn't it?
Do we care if a platform has changed the length of the property to something that isn't a multiple of u32? That sounds very rare, that's all. I agree it's a bug.
Hmm, okay.. I got it now.
Maybe we can update of_property_count_u32_elems() to return zero in that case, but that might not be the appropriate return value.
It *can* be confused against the case where the user has written an empty property. But even in that case we are returning -ENODATA instead of 0 :)