lkml.org 
[lkml]   [2015]   [Sep]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] reset: Fix of_reset_control_get() for consistent return values
On Wed, 02 Sep 2015 17:09:52 +0200
Philipp Zabel <p.zabel@pengutronix.de> wrote:

> Hi Alban,
>
> Am Dienstag, den 01.09.2015, 17:28 +0200 schrieb Alban Bedel:
> > When of_reset_control_get() is called without connection ID it returns
> > -ENOENT when the 'resets' property doesn't exists or is an empty entry.
> > However when a connection ID is given it returns -EINVAL when the 'resets'
> > property doesn't exists or the requested name can't be found. This is
> > because the error code returned by of_property_match_string() is just
> > passed down as an index to of_parse_phandle_with_args(), which then
> > returns -EINVAL.
>
> Is that true? As far as I can see, since commit bd69f73f2c81
> ("of: Create function for counting number of phandles in a property")
> it returns the (positive) number of entries if index is negative and the
> 'resets' property exists and parses correctly (before it would return
> -ENOENT). If there are parsing errors, it can also return -EINVAL.

That's no really the case. If the property doesn't exists, or the
requested index is out of range, of_parse_phandle_with_args() always
return -ENOENT. This is important for optional properties.

However if the index is negative it always return -EINVAL,
independently of the property existence. And here it is what happen
when of_property_match_string() fails, leading to this inconsistence.

Alban


\
 
 \ /
  Last update: 2015-09-02 19:01    [W:0.057 / U:0.480 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site