On 01/30/2015 10:49 AM, Russell King - ARM Linux wrote:
On Fri, Jan 30, 2015 at 10:32:54AM -0500, Peter Hurley wrote:
quoted
Before you say consistency, I think you should look at the stats below.
IOW, if you want to change the error code return from probe() for
consistency's sake, a tree-wide patch would be the appropriate way.
Now look outside the serial driver sub-tree.
There are 1234 instances of platform_get_resource(, IORESOURCE_MEM, ) in
the drivers/ sub-tree, with 700 instances of devm_ioremap_resource()
being used there. Of the devm_ioremap_resource() instances:
- 555 use platform_get_resource() in the preceding two lines - which is
not enough to do anything but rely on the -EINVAL return value.
- 16 mention ENODEV in the preceding three lines.
There are 132 which use platform_get_resource() and return ENODEV within
the following three lines (which may intersect with the above 16 number)
and 88 which use EINVAL.
So, there are in total 643 instances where a missing resource returns
EINVAL, and between 132 and 148 instances which return ENODEV.
Yes, 643 + 148 isn't 1234, but I'm not going to read through all 1234
locations just for the sake of this thread. What's clear though is that
more than 50% of sites using platform_get_resource(, IORESOURCE_MEM, )
return EINVAL for the lack of a resource.
Sure, now that they're using devm_ioremap_resource(). What about before
they were converted?
For example, of the 10 serial drivers now using devm_ioremap_resource(),
_not 1 returned EINVAL_ prior to using devm_ioremap_resource(). And of those
10 commits, only 1 mentions changing the return codes on purpose.
In fact, all of them but one returned ENODEV.
Regards,
Peter Hurley
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html