[PATCH net-next] net: phy: realtek: get rid of magic numbers in rtl8201_config_intr()

Aleksander Jan Bajkowski posted 1 patch 2 months, 2 weeks ago
drivers/net/phy/realtek/realtek_main.c | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
[PATCH net-next] net: phy: realtek: get rid of magic numbers in rtl8201_config_intr()
Posted by Aleksander Jan Bajkowski 2 months, 2 weeks ago
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
Re: [PATCH net-next] net: phy: realtek: get rid of magic numbers in rtl8201_config_intr()
Posted by Nicolai Buchwitz 2 months, 2 weeks ago
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
Re: [PATCH net-next] net: phy: realtek: get rid of magic numbers in rtl8201_config_intr()
Posted by Daniel Golle 2 months, 2 weeks ago
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>