From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757575AbdERTfI (ORCPT ); Thu, 18 May 2017 15:35:08 -0400 Received: from vps0.lunn.ch ([178.209.37.122]:36034 "EHLO vps0.lunn.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933904AbdERTfD (ORCPT ); Thu, 18 May 2017 15:35:03 -0400 Date: Thu, 18 May 2017 21:34:53 +0200 From: Andrew Lunn To: Geert Uytterhoeven Cc: Florian Fainelli , Geert Uytterhoeven , Rob Herring , Frank Rowand , Thomas Petazzoni , Sergei Shtylyov , "netdev@vger.kernel.org" , "devicetree@vger.kernel.org" , Linux-Renesas , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH] of_mdio: Fix broken PHY IRQ in case of probe deferral Message-ID: <20170518193453.GB13759@lunn.ch> References: <1495112345-24795-1-git-send-email-geert+renesas@glider.be> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > > This most certainly works fine in the simple case where you have one PHY > > hanging off the MDIO bus, now what happens if you have several? > > > > Presumably, the first PHY that returns EPROBE_DEFER will make the entire > > bus registration return EPROB_DEFER as well, and so on, and so forth, > > but I am not sure if we will be properly unwinding the successful > > registration of PHYs that either don't have an interrupt, or did not > > return EPROBE_DEFER. > > > > It should be possible to mimic this behavior by using the fixed PHY, and > > possibly the dsa_loop.c driver which would create 4 ports, expecting 4 > > fixed PHYs to be present. > > mdiobus_unregister(), called from of_mdiobus_register() on failure, > should do the unwinding, right? > > And when the driver is reprobed, all PHYs are reprobed, until they all > succeed. That is the theory. I looked at that while reviewing the patch. But this has probably not been tested in anger. It would be good to test this properly, with not just the first PHY returning -EPROBE_DEFER, to really test the unwind. Andrew