From: Birger Koblitz <mail@birger-koblitz.de>
To: Andrew Lunn <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>,
Paolo Abeni <pabeni@redhat.com>
Cc: linux-usb@vger.kernel.org, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org,
Chih Kai Hsu <hsu.chih.kai@realtek.com>,
Birger Koblitz <mail@birger-koblitz.de>
Subject: [PATCH net-next] r8152: Use ocp/mdio test and clear functions in r8157_hw_phy_cfg()
Date: Tue, 28 Apr 2026 05:44:58 +0200 [thread overview]
Message-ID: <20260428-use_bit_functions-v1-1-6eb5a3507610@birger-koblitz.de> (raw)
Replace explicit testing of bits and clearing these bits by existing
functions ocp_word_test_and_clr_bits() and r8152_mdio_test_and_clr_bit()
to re-use this code.
This allows to remove the "ocp_data" variable. Also remove the "ret" variable
which was incorrectly used for the r8153_phy_status() return value which
is a u16, so that the remaining "data" variable is sufficient.
Signed-off-by: Birger Koblitz <mail@birger-koblitz.de>
---
The ocp and mdio bit test-and-clear functions were added in the last
netdev patch submission cycle at the same time as the support for
the RTL8157. Make use of these new functions in the PHY setup of
that Chip.
---
drivers/net/usb/r8152.c | 20 ++++----------------
1 file changed, 4 insertions(+), 16 deletions(-)
diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c
index 7337bf1b7d6ad03572edbc492706c07a8f58760f..c7c1b07d4159d50a1641894235a011e467e5d3e7 100644
--- a/drivers/net/usb/r8152.c
+++ b/drivers/net/usb/r8152.c
@@ -7952,17 +7952,11 @@ static void r8156b_hw_phy_cfg(struct r8152 *tp)
static void r8157_hw_phy_cfg(struct r8152 *tp)
{
- u32 ocp_data;
u16 data;
- int ret;
r8156b_wait_loading_flash(tp);
- ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_MISC_0);
- if (ocp_data & PCUT_STATUS) {
- ocp_data &= ~PCUT_STATUS;
- ocp_write_word(tp, MCU_TYPE_USB, USB_MISC_0, ocp_data);
- }
+ ocp_word_test_and_clr_bits(tp, MCU_TYPE_USB, USB_MISC_0, PCUT_STATUS);
data = r8153_phy_status(tp, 0);
switch (data) {
@@ -7976,19 +7970,13 @@ static void r8157_hw_phy_cfg(struct r8152 *tp)
break;
}
- data = r8152_mdio_read(tp, MII_BMCR);
- if (data & BMCR_PDOWN) {
- data &= ~BMCR_PDOWN;
- r8152_mdio_write(tp, MII_BMCR, data);
- }
+ r8152_mdio_test_and_clr_bit(tp, MII_BMCR, BMCR_PDOWN);
r8153_aldps_en(tp, false);
rtl_eee_enable(tp, false);
- ret = r8153_phy_status(tp, PHY_STAT_LAN_ON);
- if (ret < 0)
- return;
- WARN_ON_ONCE(ret != PHY_STAT_LAN_ON);
+ data = r8153_phy_status(tp, PHY_STAT_LAN_ON);
+ WARN_ON_ONCE(data != PHY_STAT_LAN_ON);
/* PFM mode */
ocp_word_clr_bits(tp, MCU_TYPE_PLA, PLA_PHY_PWR, PFM_PWM_SWITCH);
---
base-commit: 35c2c39832e569449b9192fa1afbbc4c66227af7
change-id: 20260427-use_bit_functions-06fa965bb832
Best regards,
--
Birger Koblitz <mail@birger-koblitz.de>
next reply other threads:[~2026-04-28 3:45 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-28 3:44 Birger Koblitz [this message]
2026-04-30 1:00 ` [PATCH net-next] r8152: Use ocp/mdio test and clear functions in r8157_hw_phy_cfg() patchwork-bot+netdevbpf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260428-use_bit_functions-v1-1-6eb5a3507610@birger-koblitz.de \
--to=mail@birger-koblitz.de \
--cc=andrew+netdev@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=hsu.chih.kai@realtek.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox