Re: [PATCH v2 2/3] of_mdio: use IS_ERR_OR_NULL()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 03/14/2016 01:22 AM, Arnd Bergmann wrote:

IS_ERR_OR_NULL() is open coded in of_mdiobus_register_phy(), so just call
it directly...

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx>

---
Changes in version 2:
- removed the of_mdiobus_register_device() hunk;
- added the "Reviewed-by:" tag.

  drivers/of/of_mdio.c |    2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

Index: net-next/drivers/of/of_mdio.c
===================================================================
--- net-next.orig/drivers/of/of_mdio.c
+++ net-next/drivers/of/of_mdio.c
@@ -56,7 +56,7 @@ static int of_mdiobus_register_phy(struc
                 phy = phy_device_create(mdio, addr, phy_id, 0, NULL);
         else
                 phy = get_phy_device(mdio, addr, is_c45);
-       if (!phy || IS_ERR(phy))
+       if (IS_ERR_OR_NULL(phy))
                 return 1;

         rc = irq_of_parse_and_map(child, 0);



IS_ERR_OR_NULL() usually indicates that the code is wrong, or that
an API has been misdesigned.

Can you clarify in the changelog which one it is,

   The second. :-)

or (better) change
it so that 'phy' in this function is either NULL or IS_ERR() in case
of an error but not both?

I guess you meant to change get_phy_device() to not return NULL (and so only return the error codes, not both), am I correct?

I think moving the 'if (problem) return 1' into the two if/else
is a correct transformation that also makes it very clear what
is going on here.

Can be done too... it's not that I have much time for that many respins though. It all started with 1 little patch (this one). :-)

	Arnd

MBR, Sergei

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux