Received: by 2002:ac0:946b:0:0:0:0:0 with SMTP id j40csp203987imj; Fri, 15 Feb 2019 21:46:02 -0800 (PST) X-Google-Smtp-Source: AHgI3IablCS75cY7FzsMfu8XZHkXjKb8SyaprzxokJ+19tbiHLqkGM1qw6UKWOdyv+UHovJz6xmb X-Received: by 2002:a63:4d4f:: with SMTP id n15mr8805009pgl.327.1550295962438; Fri, 15 Feb 2019 21:46:02 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1550295962; cv=none; d=google.com; s=arc-20160816; b=W7CnDBmOtPU6Rl07odBKN1oQuKVJitT6ngSMfvPhmqIY3IzbDbsf5X3Ewxi3ei5QUj ZMF4IDarOVptkviq7QQNZqCIk0SgC+lXXV/cXNRRJvpsRX1Ned6dI++J3aj54lGhKA5e 5cCnIlXcglF+InBAQGQti48v0lls4dmCODzSRMLBgWSjsIXl030gHXholfvFC+UCkAcQ 8s7Tq5qdRVlluBzjGA2UzBAOoNH/hctJPysKUbSBF4hHRTWwxDBaiXcF5w7mRFBZI66l sYryfkl+cvjwGsul9+1lcSY7rw6bovqj5WjQSL1wbi6bJ2I3cLDrUBQuKNl4WXJK35Sx DJww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:organization:references:in-reply-to:date:cc:to:from :subject:message-id; bh=WECOAdw3Xsb+jb0gYf/wQE6KX8y9a96P3RgDlbcejIg=; b=NlciWw3j2MlHykvHxQRaQVqEN6ABkR/RL20Yqc1WNW6K3OGspmxYavhArU6+8z36uw Px8Z6yLTVn2h9P8ISvpjQ/E8i1ZYHDZ3NbxdFcnbosCNoSJ8G1SqM7oEH2kWaJxF7zcT PEazW9ojFJhGknpHPX4ACN9WZD5ocogIWD3vY5v8Q2KvdPE6oNv8LEHSITuj+mpbUbUx 1KTudkcnNvM6Jk5COW0/f8YtqeYZsK1kgrqy+zwzMyA2z2wssEGQ07fZNPMyGm8zg7q6 uVBwfeBXDyONIvpQ4L4tbbquUdypIEIzHR6kqxltKYc+n6/g+LPYNJla6j/KOeA6ZNaz 8HsQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k86si490898pfj.145.2019.02.15.21.45.46; Fri, 15 Feb 2019 21:46:02 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2390090AbfBOSem (ORCPT + 99 others); Fri, 15 Feb 2019 13:34:42 -0500 Received: from relay6-d.mail.gandi.net ([217.70.183.198]:44321 "EHLO relay6-d.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388116AbfBOSef (ORCPT ); Fri, 15 Feb 2019 13:34:35 -0500 X-Originating-IP: 77.128.107.220 Received: from aptenodytes (220.107.128.77.rev.sfr.net [77.128.107.220]) (Authenticated sender: paul.kocialkowski@bootlin.com) by relay6-d.mail.gandi.net (Postfix) with ESMTPSA id AB420C0006; Fri, 15 Feb 2019 18:34:28 +0000 (UTC) Message-ID: <38f6708476e9beca4583ccc2a62e238a4981b735.camel@bootlin.com> Subject: Re: [PATCH RESEND net] net: phy: xgmiitorgmii: Support generic PHY status read From: Paul Kocialkowski To: Florian Fainelli , netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Andrew Lunn , Heiner Kallweit , "David S . Miller" , Michal Simek , Thomas Petazzoni Date: Fri, 15 Feb 2019 19:34:28 +0100 In-Reply-To: <387ed483-b205-beda-319d-6f2b8ea55601@gmail.com> References: <20190215163220.20041-1-paul.kocialkowski@bootlin.com> <387ed483-b205-beda-319d-6f2b8ea55601@gmail.com> Organization: Bootlin Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.30.5 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On Fri, 2019-02-15 at 09:38 -0800, Florian Fainelli wrote: > On 2/15/19 8:32 AM, Paul Kocialkowski wrote: > > Some PHY drivers like the generic one do not provide a read_status > > callback on their own but rely on genphy_read_status being called > > directly. > > > > With the current code, this results in a NULL function pointer call. > > Call genphy_read_status instead when there is no specific callback. > > > > Fixes: f411a6160bd4 ("net: phy: Add gmiitorgmii converter support") > > Signed-off-by: Paul Kocialkowski > > --- > > Added Fixes tag and net label for resend. > > You would want to use phy_read_status() which encapsulates that check as > well as checks that the phy_drv pointer is not NULL. Well, this driver is a bit different and our priv->phy_drv != phydev- >drv, so we can't use the helper directly. I should probably have mentionned it in the commit message, sorry! As I was mentionning to Andrew in the initial submission of this patch, this driver is a bit unusual since it represents a GMII to RGMII bridge, so it's not actually a PHY driver on its own -- it just sticks itself in between the actual PHY and the MAC. Cheers and thanks for the review, Paul > > drivers/net/phy/xilinx_gmii2rgmii.c | 5 ++++- > > 1 file changed, 4 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/net/phy/xilinx_gmii2rgmii.c b/drivers/net/phy/xilinx_gmii2rgmii.c > > index 74a8782313cf..bd6084e315de 100644 > > --- a/drivers/net/phy/xilinx_gmii2rgmii.c > > +++ b/drivers/net/phy/xilinx_gmii2rgmii.c > > @@ -44,7 +44,10 @@ static int xgmiitorgmii_read_status(struct phy_device *phydev) > > u16 val = 0; > > int err; > > > > - err = priv->phy_drv->read_status(phydev); > > + if (priv->phy_drv->read_status) > > + err = priv->phy_drv->read_status(phydev); > > + else > > + err = genphy_read_status(phydev); > > if (err < 0) > > return err; > > > > > > -- Paul Kocialkowski, Bootlin Embedded Linux and kernel engineering https://bootlin.com