Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756196AbcKCIr6 (ORCPT ); Thu, 3 Nov 2016 04:47:58 -0400 Received: from 3.mo69.mail-out.ovh.net ([188.165.52.203]:60630 "EHLO 3.mo69.mail-out.ovh.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754647AbcKCIr4 (ORCPT ); Thu, 3 Nov 2016 04:47:56 -0400 X-Greylist: delayed 977 seconds by postgrey-1.27 at vger.kernel.org; Thu, 03 Nov 2016 04:47:56 EDT Subject: Re: [PATCH v5 5/7] net: ethernet: bgmac: device tree phy enablement To: Jon Mason , David Miller , Rob Herring , Mark Rutland , Florian Fainelli References: <1478106488-11779-1-git-send-email-jon.mason@broadcom.com> <1478106488-11779-6-git-send-email-jon.mason@broadcom.com> Cc: bcm-kernel-feedback-list@broadcom.com, netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org From: Rafal Milecki Message-ID: <35b16640-8600-8c48-2f04-886dc925229d@milecki.pl> Date: Thu, 3 Nov 2016 09:31:21 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: <1478106488-11779-6-git-send-email-jon.mason@broadcom.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Ovh-Tracer-Id: 17719412734368058903 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: -100 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrfeelvddrkeehgdejudcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfqggfjpdevjffgvefmvefgnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1651 Lines: 65 On 11/02/2016 06:08 PM, Jon Mason wrote: > Change the bgmac driver to allow for phy's defined by the device tree This is a late review, I know, sorry... :( > +static int bcma_phy_direct_connect(struct bgmac *bgmac) > +{ > + struct fixed_phy_status fphy_status = { > + .link = 1, > + .speed = SPEED_1000, > + .duplex = DUPLEX_FULL, > + }; > + struct phy_device *phy_dev; > + int err; > + > + phy_dev = fixed_phy_register(PHY_POLL, &fphy_status, -1, NULL); > + if (!phy_dev || IS_ERR(phy_dev)) { > + dev_err(bgmac->dev, "Failed to register fixed PHY device\n"); > + return -ENODEV; > + } > + > + err = phy_connect_direct(bgmac->net_dev, phy_dev, bgmac_adjust_link, > + PHY_INTERFACE_MODE_MII); > + if (err) { > + dev_err(bgmac->dev, "Connecting PHY failed\n"); > + return err; > + } > + > + return err; > +} This bcma specific function looks exactly the same as... > +static int platform_phy_direct_connect(struct bgmac *bgmac) > +{ > + struct fixed_phy_status fphy_status = { > + .link = 1, > + .speed = SPEED_1000, > + .duplex = DUPLEX_FULL, > + }; > + struct phy_device *phy_dev; > + int err; > + > + phy_dev = fixed_phy_register(PHY_POLL, &fphy_status, -1, NULL); > + if (!phy_dev || IS_ERR(phy_dev)) { > + dev_err(bgmac->dev, "Failed to register fixed PHY device\n"); > + return -ENODEV; > + } > + > + err = phy_connect_direct(bgmac->net_dev, phy_dev, bgmac_adjust_link, > + PHY_INTERFACE_MODE_MII); > + if (err) { > + dev_err(bgmac->dev, "Connecting PHY failed\n"); > + return err; > + } > + > + return err; > +} This one. Would that make sense to keep bgmac_phy_connect_direct and just use it in bcma/platform code?