From patchwork Thu Apr 28 01:45:45 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "David Rivshin (Allworx)" X-Patchwork-Id: 8965201 Return-Path: X-Original-To: patchwork-linux-omap@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 789979F1D3 for ; Thu, 28 Apr 2016 01:46:26 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 885CA20295 for ; Thu, 28 Apr 2016 01:46:25 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 9FA7820220 for ; Thu, 28 Apr 2016 01:46:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752385AbcD1BqC (ORCPT ); Wed, 27 Apr 2016 21:46:02 -0400 Received: from mail-qg0-f65.google.com ([209.85.192.65]:35569 "EHLO mail-qg0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752210AbcD1BqA (ORCPT ); Wed, 27 Apr 2016 21:46:00 -0400 Received: by mail-qg0-f65.google.com with SMTP id b14so4524785qge.2; Wed, 27 Apr 2016 18:45:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Wr7YPz0Ylp3pBYsl8eNLRrB8l9mMbf7GRdI446iMiwE=; b=c5Z94NV8fUVNNihdXtv+hii05lBmrlZCbXnESKkO7om5Dk0MqqWlxEnKiH7hMqr0NU WPvIrOLjWPxqXBBa83jkxCnKvy/S1yVxWA4KTmQvxCMoaxRc1qur2s2yqM3OmmwgtPUt U49T6obvgO1cT8xG55m+oUusoI1oC994CWXUUNsBUq6D+Nezh6hYT5IgnIZYzj9iaqhx 1oE2WaxLMcM9QmavTWi5SQ1ebeln3D7rZIJ+LymVX0b5M/O1x7AvB+OfVjXJ6vSnzQjj LBtR0oM78KvN3A6wYvYEq/Bnj5ELxWQey0peT8DW+6HVxEMeQvfix/9qY4S3H+vk38yT PCbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Wr7YPz0Ylp3pBYsl8eNLRrB8l9mMbf7GRdI446iMiwE=; b=OGX6EG/8X355Q3m5sfdq7fsPT5Dsk+5KAuBXbmbkfVLNChWQWNO9A3NF1YSHwr0TVA w5If4g0E04klXpur0jvXptgMWKb4aYvKp0gMNsVxCHzZIzNvwQhgSX/mKHr3pTc1Lx83 +u3hJPQNEagfwXV30jutLE7x7HnN5ENO+yjzJKYrzuT5WwDoIyWF1vElvVBFApOsjHve ohJ72BsGO7GXMF6sXEuYo9JSsLvjcFnKkIJ1A+HNPsjkN+O7QIC/zNzO60VTMHiABO1X wDJInK4vg+O4jCWVCfMjp978yTmQ7j9re35vD3MmKakjZRMjP+5hy3+0O+CD6kb6WBgj zt6A== X-Gm-Message-State: AOPr4FXY02ydPbpsfy6P0bLBUQLePCs/7GqMUEEZXxYNvl/FTOjNPRDGrlVfth0y/NvaTw== X-Received: by 10.141.23.211 with SMTP id z202mr12092046qhd.52.1461807958829; Wed, 27 Apr 2016 18:45:58 -0700 (PDT) Received: from drivshin-linux.crosskeys.inscitek.com ([24.213.148.66]) by smtp.gmail.com with ESMTPSA id j75sm2134130qgd.19.2016.04.27.18.45.56 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 27 Apr 2016 18:45:58 -0700 (PDT) From: "David Rivshin (Allworx)" To: netdev@vger.kernel.org, linux-omap@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, David Miller , Mugunthan V N , Grygorii Strashko , Andrew Goodbody , Markus Brunner , Nicolas Chauvet Subject: [PATCH net v3 5/5] drivers: net: cpsw: use of_phy_connect() in fixed-link case Date: Wed, 27 Apr 2016 21:45:45 -0400 Message-Id: <1461807945-4665-1-git-send-email-drivshin.allworx@gmail.com> X-Mailer: git-send-email 2.5.5 In-Reply-To: <1461805808-4102-1-git-send-email-drivshin.allworx@gmail.com> References: <1461805808-4102-1-git-send-email-drivshin.allworx@gmail.com> Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org X-Spam-Status: No, score=-7.8 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, T_DKIM_INVALID, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: David Rivshin If a fixed-link DT subnode is used, the phy_device was looked up so that a PHY ID string could be constructed and passed to phy_connect(). This is not necessary, as the device_node can be passed directly to of_phy_connect() instead. This reuses the same codepath as if the phy-handle DT property was used. Signed-off-by: David Rivshin Tested-by: Nicolas Chauvet Tested-by: Andrew Goodbody Reviewed-by: Mugunthan V N Reviewed-by: Grygorii Strashko --- Changes since v2 [1]: - Added Tested-by from Andrew Goodbody [3] - Added Reviewed-by from Mugunthan V N [4] - Added Reviewed-by from Grygorii Strashko [5] Changes since v1 [2]: - Rebased (trivial conflict, e5a03bfd modified the deleted snprintf) - Added Tested-by from Nicolas Chauvet [1] http://patchwork.ozlabs.org/patch/613276/ [2] http://patchwork.ozlabs.org/patch/560327/ [3] https://lkml.org/lkml/2016/4/22/537 [4] https://lkml.org/lkml/2016/4/22/63 [5] https://lkml.org/lkml/2016/4/22/529 drivers/net/ethernet/ti/cpsw.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/drivers/net/ethernet/ti/cpsw.c b/drivers/net/ethernet/ti/cpsw.c index 712bc6d..e2fcdf1 100644 --- a/drivers/net/ethernet/ti/cpsw.c +++ b/drivers/net/ethernet/ti/cpsw.c @@ -2044,30 +2044,21 @@ static int cpsw_probe_dt(struct cpsw_platform_data *data, "phy-handle", 0); parp = of_get_property(slave_node, "phy_id", &lenp); if (slave_data->phy_node) { dev_dbg(&pdev->dev, "slave[%d] using phy-handle=\"%s\"\n", i, slave_data->phy_node->full_name); } else if (of_phy_is_fixed_link(slave_node)) { - struct device_node *phy_node; - struct phy_device *phy_dev; - /* In the case of a fixed PHY, the DT node associated * to the PHY is the Ethernet MAC DT node. */ ret = of_phy_register_fixed_link(slave_node); if (ret) return ret; - phy_node = of_node_get(slave_node); - phy_dev = of_phy_find_device(phy_node); - if (!phy_dev) - return -ENODEV; - snprintf(slave_data->phy_id, sizeof(slave_data->phy_id), - PHY_ID_FMT, phy_dev->mdio.bus->id, - phy_dev->mdio.addr); + slave_data->phy_node = of_node_get(slave_node); } else if (parp) { u32 phyid; struct device_node *mdio_node; struct platform_device *mdio; if (lenp != (sizeof(__be32) * 2)) { dev_err(&pdev->dev, "Invalid slave[%d] phy_id property\n", i);