tree 60fc6247ea7fdbdaa98f2b78db9bf5cd5ec1f994
parent fd96811576e646011489e38b0594dc017db21971
author Julia Lawall <Julia.Lawall@lip6.fr> 1440288682 +0200
committer Linus Walleij <linus.walleij@linaro.org> 1440593363 +0200

gpio: xlp: fix error return code

Return a negative error code on failure.

A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)

// <smpl>
@@
identifier ret; expression e1,e2;
@@
(
if (\(ret < 0\|ret != 0\))
 { ... return ret; }
|
ret = 0
)
... when != ret = e1
    when != &ret
*if(...)
{
  ... when != ret = e2
      when forall
 return ret;
}
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
