drivers/net/phy/realtek/realtek_main.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-)
Replace the magic numbers with defines. Register names were obtained from
publicly available documentation[1]. This should make it clear what's going
on in the code.
1. RTL8201F/RTL8201FL/RTL8201FN Rev. 1.4 Datasheet
Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
---
drivers/net/phy/realtek/realtek_main.c | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/drivers/net/phy/realtek/realtek_main.c b/drivers/net/phy/realtek/realtek_main.c
index 75565fbdbf6d..e78f3b9e89db 100644
--- a/drivers/net/phy/realtek/realtek_main.c
+++ b/drivers/net/phy/realtek/realtek_main.c
@@ -22,7 +22,14 @@
#include "../phylib.h"
#include "realtek.h"
+#define RTL8201F_IER_PAGE 0x07
#define RTL8201F_IER 0x13
+#define RTL8201F_IER_LINK BIT(13)
+#define RTL8201F_IER_DUPLEX BIT(12)
+#define RTL8201F_IER_ANERR BIT(11)
+#define RTL8201F_IER_MASK (RTL8201F_IER_ANERR | \
+ RTL8201F_IER_DUPLEX | \
+ RTL8201F_IER_LINK)
#define RTL8201F_ISR 0x1e
#define RTL8201F_ISR_ANERR BIT(15)
@@ -346,11 +353,13 @@ static int rtl8201_config_intr(struct phy_device *phydev)
if (err)
return err;
- val = BIT(13) | BIT(12) | BIT(11);
- err = phy_write_paged(phydev, 0x7, RTL8201F_IER, val);
+ val = RTL8201F_IER_MASK;
+ err = phy_write_paged(phydev, RTL8201F_IER_PAGE,
+ RTL8201F_IER, val);
} else {
val = 0;
- err = phy_write_paged(phydev, 0x7, RTL8201F_IER, val);
+ err = phy_write_paged(phydev, RTL8201F_IER_PAGE,
+ RTL8201F_IER, val);
if (err)
return err;
--
2.51.0
On 6.4.2026 22:12, Aleksander Jan Bajkowski wrote:
> Replace the magic numbers with defines. Register names were obtained
> from
> publicly available documentation[1]. This should make it clear what's
> going
> on in the code.
>
> 1. RTL8201F/RTL8201FL/RTL8201FN Rev. 1.4 Datasheet
> Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
> ---
> drivers/net/phy/realtek/realtek_main.c | 15 ++++++++++++---
> 1 file changed, 12 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/phy/realtek/realtek_main.c
> b/drivers/net/phy/realtek/realtek_main.c
> index 75565fbdbf6d..e78f3b9e89db 100644
> --- a/drivers/net/phy/realtek/realtek_main.c
> +++ b/drivers/net/phy/realtek/realtek_main.c
> @@ -22,7 +22,14 @@
> #include "../phylib.h"
> #include "realtek.h"
>
> +#define RTL8201F_IER_PAGE 0x07
> #define RTL8201F_IER 0x13
> +#define RTL8201F_IER_LINK BIT(13)
> +#define RTL8201F_IER_DUPLEX BIT(12)
> +#define RTL8201F_IER_ANERR BIT(11)
> +#define RTL8201F_IER_MASK (RTL8201F_IER_ANERR | \
> + RTL8201F_IER_DUPLEX | \
> + RTL8201F_IER_LINK)
>
> #define RTL8201F_ISR 0x1e
> #define RTL8201F_ISR_ANERR BIT(15)
> @@ -346,11 +353,13 @@ static int rtl8201_config_intr(struct phy_device
> *phydev)
> if (err)
> return err;
>
> - val = BIT(13) | BIT(12) | BIT(11);
> - err = phy_write_paged(phydev, 0x7, RTL8201F_IER, val);
> + val = RTL8201F_IER_MASK;
> + err = phy_write_paged(phydev, RTL8201F_IER_PAGE,
> + RTL8201F_IER, val);
> } else {
> val = 0;
> - err = phy_write_paged(phydev, 0x7, RTL8201F_IER, val);
> + err = phy_write_paged(phydev, RTL8201F_IER_PAGE,
> + RTL8201F_IER, val);
> if (err)
> return err;
Matches the datasheet (RTL8201F/RTL8201FL/RTL8201FN Rev. 1.4 Datasheet)
Reviewed-by: Nicolai Buchwitz nb@tipi-net.de
On Mon, Apr 06, 2026 at 10:12:12PM +0200, Aleksander Jan Bajkowski wrote: > Replace the magic numbers with defines. Register names were obtained from > publicly available documentation[1]. This should make it clear what's going > on in the code. > > 1. RTL8201F/RTL8201FL/RTL8201FN Rev. 1.4 Datasheet > Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl> Reviewed-by: Daniel Golle <daniel@makrotopia.org>
© 2016 - 2026 Red Hat, Inc.