From patchwork Wed Apr 5 09:27:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marco Felsch X-Patchwork-Id: 671066 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8C412C7619A for ; Wed, 5 Apr 2023 09:31:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237688AbjDEJbj (ORCPT ); Wed, 5 Apr 2023 05:31:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55518 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237258AbjDEJbU (ORCPT ); Wed, 5 Apr 2023 05:31:20 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 810AB5FDA for ; Wed, 5 Apr 2023 02:30:25 -0700 (PDT) Received: from dude02.red.stw.pengutronix.de ([2a0a:edc0:0:1101:1d::28]) by metis.ext.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1pjzQ7-0004pA-RV; Wed, 05 Apr 2023 11:27:11 +0200 From: Marco Felsch Date: Wed, 05 Apr 2023 11:27:00 +0200 Subject: [PATCH 09/12] net: phy: nxp-tja11xx: make use of phy_device_atomic_register() MIME-Version: 1.0 Message-Id: <20230405-net-next-topic-net-phy-reset-v1-9-7e5329f08002@pengutronix.de> References: <20230405-net-next-topic-net-phy-reset-v1-0-7e5329f08002@pengutronix.de> In-Reply-To: <20230405-net-next-topic-net-phy-reset-v1-0-7e5329f08002@pengutronix.de> To: Andrew Lunn , Heiner Kallweit , Russell King , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Florian Fainelli , Broadcom internal kernel review list , Richard Cochran , Radu Pirea , Shyam Sundar S K , Yisen Zhuang , Salil Mehta , Jassi Brar , Ilias Apalodimas , Iyappan Subramanian , Keyur Chudgar , Quan Nguyen , "Rafael J. Wysocki" , Len Brown , Rob Herring , Frank Rowand Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org, devicetree@vger.kernel.org, kernel@pengutronix.de X-Mailer: b4 0.12.1 X-SA-Exim-Connect-IP: 2a0a:edc0:0:1101:1d::28 X-SA-Exim-Mail-From: m.felsch@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-acpi@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org Use the new atomic API to setup and register the phy accordingly. Signed-off-by: Marco Felsch --- drivers/net/phy/nxp-tja11xx.c | 31 +++++++------------------------ 1 file changed, 7 insertions(+), 24 deletions(-) diff --git a/drivers/net/phy/nxp-tja11xx.c b/drivers/net/phy/nxp-tja11xx.c index 2a4c0f6d74eb..af9cb5e1a7ee 100644 --- a/drivers/net/phy/nxp-tja11xx.c +++ b/drivers/net/phy/nxp-tja11xx.c @@ -561,6 +561,8 @@ static void tja1102_p1_register(struct work_struct *work) /* Real PHY ID of Port 1 is 0 */ .phy_id = PHY_ID_TJA1102, .phy_id_broken = true, + .parent_mdiodev = dev, + .fwnode = of_fwnode_handle(child), }; struct phy_device *phy; @@ -583,30 +585,11 @@ static void tja1102_p1_register(struct work_struct *work) continue; } - phy = phy_device_create(&config); - if (IS_ERR(phy)) { - dev_err(dev, "Can't create PHY device for Port 1: %i\n", - config.phy_addr); - continue; - } - - /* Overwrite parent device. phy_device_create() set parent to - * the mii_bus->dev, which is not correct in case. - */ - phy->mdio.dev.parent = dev; - - ret = of_mdiobus_phy_device_register(bus, phy, child, - config.phy_addr); - if (ret) { - /* All resources needed for Port 1 should be already - * available for Port 0. Both ports use the same - * interrupt line, so -EPROBE_DEFER would make no sense - * here. - */ - dev_err(dev, "Can't register Port 1. Unexpected error: %i\n", - ret); - phy_device_free(phy); - } + phy = phy_device_atomic_register(&config); + if (IS_ERR(phy)) + dev_err_probe(dev, PTR_ERR(phy), + "Can't create PHY device for Port 1: %i\n", + config.phy_addr); } }