Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751898AbeAIIgB (ORCPT + 1 other); Tue, 9 Jan 2018 03:36:01 -0500 Received: from mail-qk0-f196.google.com ([209.85.220.196]:34903 "EHLO mail-qk0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750831AbeAIIf6 (ORCPT ); Tue, 9 Jan 2018 03:35:58 -0500 X-Google-Smtp-Source: ACJfBovcUNr4Sg3KIyAfC+8hQ7GjnxYqbd+17OUUSs/eh1vVIwXTDoLY64y/f8IxKHDW8uPTB6EHKYtwR2BEVBJb1eE= MIME-Version: 1.0 In-Reply-To: <1515486819-8954-1-git-send-email-madalin.bucur@nxp.com> References: <1515486819-8954-1-git-send-email-madalin.bucur@nxp.com> From: Geert Uytterhoeven Date: Tue, 9 Jan 2018 09:35:56 +0100 X-Google-Sender-Auth: xMHV1lGFDWaZl-c3WBCP9EbNI2I Message-ID: Subject: Re: [PATCH net, v2] of_mdio: avoid MDIO bus removal when a PHY is missing To: Madalin-cristian Bucur Cc: Andrew Lunn , Florian Fainelli , "David S. Miller" , Geert Uytterhoeven , Rob Herring , Frank Rowand , netdev , devicetree@vger.kernel.org, Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: Hi Madalin, On Tue, Jan 9, 2018 at 9:33 AM, Madalin Bucur wrote: > If one of the child devices is missing the of_mdiobus_register_phy() > call will return -ENODEV. When a missing device is encountered the > registration of the remaining PHYs is stopped and the MDIO bus will > fail to register. Propagate all errors except ENODEV to avoid it. > > Signed-off-by: Madalin Bucur Thanks for your patch! > --- > v2: add an error print for the first change; the second place has > some noise aleady generated by the exing code > > drivers/of/of_mdio.c | 12 +++++++++--- > 1 file changed, 9 insertions(+), 3 deletions(-) > > diff --git a/drivers/of/of_mdio.c b/drivers/of/of_mdio.c > index 3481e69..a249370 100644 > --- a/drivers/of/of_mdio.c > +++ b/drivers/of/of_mdio.c > @@ -231,8 +231,14 @@ int of_mdiobus_register(struct mii_bus *mdio, struct device_node *np) > rc = of_mdiobus_register_phy(mdio, child, addr); > else > rc = of_mdiobus_register_device(mdio, child, addr); > - if (rc) > - goto unregister; > + > + if (rc == -ENODEV) > + dev_err(&mdio->dev, > + "MDIO device at address %d is missing.\n", > + addr); > + else > + if (rc) You can merge the two lines above into a single line. > + goto unregister; ... dropping the need to reindent the above line. > } Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds