From nobody Sat Jun 20 18:37:07 2026 Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6ADC63A7595 for ; Sat, 11 Apr 2026 15:50:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775922606; cv=none; b=JEOywNJpFvjsecTweCIZUc+pU/jvCvYQVzOBjtShO+RGrTGJ1DHyAL6xSQlQB70BFVS1aJDq3ouOlso78PIQ9hXkOgiB6f4FAV/AdPyfmoUXNgzfQEASAErka+lYAjyc/Y76XAJ51gs2kmf2JKGBwes6ujb05ZzI2m+pP7daH8A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775922606; c=relaxed/simple; bh=jLJHxn45YIu0ODRVIGUSiV0+fkK3PfmgztscGeaXR/A=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type; b=UCwRd9j2SuG0FVhjdxK8amYZ6oU8QsTz7NCEow4m7jj0+jfGDtEOSkrDjvYhTxDqa+atQTGuVoHNBVtYKLeLDyuFDxG5T8nhQSK9gmfnoKgBC6pQuE3reowF9PXwTHGvdr9jrIrZ3PsGVLIfTrbYOHphKvMEKUGVudiLE56bZtw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Ty/XSEba; arc=none smtp.client-ip=209.85.128.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Ty/XSEba" Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-488aa77a06eso49631955e9.0 for ; Sat, 11 Apr 2026 08:50:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775922604; x=1776527404; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=RivRwNQOkJLh4rdW5APMQeQflMY8Havh14Tia1kZuAk=; b=Ty/XSEbaBNeWpnLP5b4vdZoWinVhBbzBcGj2pGY/Kg9pptG+Abuqyi2H/5d3PDVUDJ 9yvqjOLB6jIWdd+t3MhiHFSow4t6Z+HvQOVm66Jdj0xoaTP6ZrUoefZytRcTJy2jM/2P ZEF9YthxSgiF95VqoS9MBVrEEtqiFD1mhsQojiF0bTFzHlhd6kPMo0XKPaQ6KvOo132o PXiXXKwKi2DM+vJedzjzvX9qdJ9q5oUFMrXcH19cyj874C41wnSYnTmPBEO87+SBpSyt T/+47O1fuD0om7ugTAlH4PdwZPGrSV8aWwwtYcjk4W0XLU0sXGcnIo3xTwsTOYEfIYwk /E+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775922604; x=1776527404; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=RivRwNQOkJLh4rdW5APMQeQflMY8Havh14Tia1kZuAk=; b=PYNV2/wttSRnP6y2ka5HnjGfyPZpbg7z5nVU+dRPocnIfRap0mQQ8Ij/MKaTUOir+a tzNRnNylHDV0CV1sG/8HJGXCw4ZlAzZOhmALVEplvol5PMi2uPCmOoe9w/aIHqy6Qf0u ba9W3okJ73ePjwgxNr9u1WBlnBHiEvbW03lkuvll8O4yRRLXJENFPCuHcVxIjxqgBglX /v3NW4p2IVbpqpzzV1hgB/PgpAVar3WJQJSbrRFNdj+R2LNRX1jgd69okob9nOTymjOo TBJUReEHwpDWvmD9vyXoudqT1djMYc+pqPH7mHwQysFo8AMknx/haYejLwn8rYddoTqa +kNA== X-Forwarded-Encrypted: i=1; AJvYcCWp5d/eCtnQqWDQCFskwWEAd6V4+GHUP0O9pE26WXL2QkJ74PZHwdasWVvGF3sc6s+5SV8SDiJvCjXff7Y=@vger.kernel.org X-Gm-Message-State: AOJu0Yyl/QFg1sBA6oOdZE1CBuzQGBGxSKbptNWir3b7YwdTeQXTDF/L B9Sj5DK5fjcQYjr4tS5+qUxF1EwqvS/U8SxrT6Tknl4G5+ZKKLteE425 X-Gm-Gg: AeBDietpnI1Ht03eRkROgJrcjqWnd0xoiHXXzn56lOKMoR8NIBua9Z1mAuLyInib3kl GPpX+lwqUjiZRN12S5NBXkodOK7GrsJ7c4tfDarXvZ6JBRLkQT6rR3apaDRG/qNZotdQy30A3kf gfKrJeYsYppuKm00thx1iUdMnBr+cD4yox4y+O0rwehPNCDLPpASw4jvyFYWrCaeCzgFZZvFyRa Ya/HqXeFk5YbNsBl7CoIgy3uIqx/1TLkK1x00Itr93CzSiE9f0DzMs9e+gJ3NStBGV6gytJ5u7Z bQtkO5tDZjO+FUQbyh2QCZib9ggmSeAETUHd3vhsu7XUjo7OgfkmkmBPrEN9cPuhampjfRZ0dqo c/bhFhIIvbLWD/1AeUiTf5V1r8iEMfGzX3qeTpsV04yLQJiFPvmcQqMkAyLlLzmC2Uj3R0AmbyR OnspkumgavvzIBLBWINUoL6msjVvSp478= X-Received: by 2002:a05:600c:5298:b0:485:3ee1:eba5 with SMTP id 5b1f17b1804b1-488d68820abmr105375755e9.27.1775922603531; Sat, 11 Apr 2026 08:50:03 -0700 (PDT) Received: from biju.lan ([2a00:23c4:a758:8a01:1ef3:1f1e:3a7e:32e7]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-488d53808b2sm181718715e9.11.2026.04.11.08.50.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Apr 2026 08:50:03 -0700 (PDT) From: Biju X-Google-Original-From: Biju To: Andrew Lunn , Heiner Kallweit , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Cc: Biju Das , Russell King , Lad Prabhakar , Horatiu Vultur , Vladimir Oltean , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Geert Uytterhoeven , Biju Das , linux-renesas-soc@vger.kernel.org Subject: [PATCH next-next] net: phy: mscc: Drop redundant phydev->lock Date: Sat, 11 Apr 2026 16:49:56 +0100 Message-ID: <20260411154959.200091-1-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable From: Biju Das Remove manual mutex_lock/unlock(&phydev->lock) calls from several functions in the MSCC PHY driver, as the PHY core already holds this lock when invoking these callbacks. The affected functions are: vsc85xx_edge_rate_cntl_set() =E2=80=94 lock/unlock around phy_modify_paged() vsc85xx_mac_if_set() =E2=80=94 lock/unlock with a goto out_unlock error path vsc8531_pre_init_seq_set() =E2=80=94 lock/unlock around phy_select/restore_= page() vsc85xx_eee_init_seq_set() =E2=80=94 lock/unlock around phy_select/restore_= page() Along with dropping the locks, error-path labels are renamed from out_unlock to err or restore_oldpage to better reflect their purpose now that no unlocking is performed. In vsc8531_pre_init_seq_set() and vsc85xx_eee_init_seq_set(), the redundant intermediate assignment of oldpage before returning is also eliminated. No functional change intended. Signed-off-by: Biju Das --- Note: Only boot tested on Renesas RZ/{T2H,N2H} platform. --- drivers/net/phy/mscc/mscc_main.c | 41 ++++++++++---------------------- 1 file changed, 12 insertions(+), 29 deletions(-) diff --git a/drivers/net/phy/mscc/mscc_main.c b/drivers/net/phy/mscc/mscc_m= ain.c index 2b9fb8a675a6..75430f55acfd 100644 --- a/drivers/net/phy/mscc/mscc_main.c +++ b/drivers/net/phy/mscc/mscc_main.c @@ -486,15 +486,9 @@ static int vsc85xx_dt_led_modes_get(struct phy_device = *phydev, =20 static int vsc85xx_edge_rate_cntl_set(struct phy_device *phydev, u8 edge_r= ate) { - int rc; - - mutex_lock(&phydev->lock); - rc =3D phy_modify_paged(phydev, MSCC_PHY_PAGE_EXTENDED_2, - MSCC_PHY_WOL_MAC_CONTROL, EDGE_RATE_CNTL_MASK, - edge_rate << EDGE_RATE_CNTL_POS); - mutex_unlock(&phydev->lock); - - return rc; + return phy_modify_paged(phydev, MSCC_PHY_PAGE_EXTENDED_2, + MSCC_PHY_WOL_MAC_CONTROL, EDGE_RATE_CNTL_MASK, + edge_rate << EDGE_RATE_CNTL_POS); } =20 static int vsc85xx_mac_if_set(struct phy_device *phydev, @@ -503,7 +497,6 @@ static int vsc85xx_mac_if_set(struct phy_device *phydev, int rc; u16 reg_val; =20 - mutex_lock(&phydev->lock); reg_val =3D phy_read(phydev, MSCC_PHY_EXT_PHY_CNTL_1); reg_val &=3D ~(MAC_IF_SELECTION_MASK); switch (interface) { @@ -522,17 +515,15 @@ static int vsc85xx_mac_if_set(struct phy_device *phyd= ev, break; default: rc =3D -EINVAL; - goto out_unlock; + goto err; } rc =3D phy_write(phydev, MSCC_PHY_EXT_PHY_CNTL_1, reg_val); if (rc) - goto out_unlock; + goto err; =20 rc =3D genphy_soft_reset(phydev); =20 -out_unlock: - mutex_unlock(&phydev->lock); - +err: return rc; } =20 @@ -668,19 +659,15 @@ static int vsc8531_pre_init_seq_set(struct phy_device= *phydev) if (rc < 0) return rc; =20 - mutex_lock(&phydev->lock); oldpage =3D phy_select_page(phydev, MSCC_PHY_PAGE_TR); if (oldpage < 0) - goto out_unlock; + goto restore_oldpage; =20 for (i =3D 0; i < ARRAY_SIZE(init_seq); i++) vsc85xx_tr_write(phydev, init_seq[i].reg, init_seq[i].val); =20 -out_unlock: - oldpage =3D phy_restore_page(phydev, oldpage, oldpage); - mutex_unlock(&phydev->lock); - - return oldpage; +restore_oldpage: + return phy_restore_page(phydev, oldpage, oldpage); } =20 static int vsc85xx_eee_init_seq_set(struct phy_device *phydev) @@ -708,19 +695,15 @@ static int vsc85xx_eee_init_seq_set(struct phy_device= *phydev) unsigned int i; int oldpage; =20 - mutex_lock(&phydev->lock); oldpage =3D phy_select_page(phydev, MSCC_PHY_PAGE_TR); if (oldpage < 0) - goto out_unlock; + goto restore_oldpage; =20 for (i =3D 0; i < ARRAY_SIZE(init_eee); i++) vsc85xx_tr_write(phydev, init_eee[i].reg, init_eee[i].val); =20 -out_unlock: - oldpage =3D phy_restore_page(phydev, oldpage, oldpage); - mutex_unlock(&phydev->lock); - - return oldpage; +restore_oldpage: + return phy_restore_page(phydev, oldpage, oldpage); } =20 /* phydev->bus->mdio_lock should be locked when using this function */ --=20 2.43.0