[net-next,8/8] net: stmmac: make pcs_mask and phy_mask u32
Commit Message
The PCS and PHY masks are passed to the mdio bus layer as phy_mask
to prevent bus addresses between 0 and 31 inclusive being scanned,
and this is declared as u32. Also declare these as u32 in stmmac
for type consistency.
Since this is a u32, use BIT_U32() rather than BIT() to generate
values for these fields.
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
---
drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c | 2 +-
drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c | 2 +-
include/linux/stmmac.h | 4 ++--
3 files changed, 4 insertions(+), 4 deletions(-)
Comments
Hi Russell,
kernel test robot noticed the following build errors:
[auto build test ERROR on net-next/main]
url: https://github.com/intel-lab-lkp/linux/commits/Russell-King-Oracle/net-stmmac-mdio-use-same-test-for-MDC-clock-divisor-lookups/20260304-183416
base: net-next/main
patch link: https://lore.kernel.org/r/E1vxjNj-0000000Br1c-2Fg7%40rmk-PC.armlinux.org.uk
patch subject: [PATCH net-next 8/8] net: stmmac: make pcs_mask and phy_mask u32
config: openrisc-allmodconfig (https://download.01.org/0day-ci/archive/20260305/202603050340.7qkvXUGq-lkp@intel.com/config)
compiler: or1k-linux-gcc (GCC) 15.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260305/202603050340.7qkvXUGq-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202603050340.7qkvXUGq-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c: In function 'loongson_gnet_data':
>> drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:171:42: error: implicit declaration of function 'BIT_u32'; did you mean 'BIT_U32'? [-Wimplicit-function-declaration]
171 | plat->mdio_bus_data->phy_mask = ~BIT_u32(2);
| ^~~~~~~
| BIT_U32
vim +171 drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c
164
165 static int loongson_gnet_data(struct pci_dev *pdev,
166 struct plat_stmmacenet_data *plat)
167 {
168 loongson_default_data(pdev, plat);
169
170 plat->phy_interface = PHY_INTERFACE_MODE_GMII;
> 171 plat->mdio_bus_data->phy_mask = ~BIT_u32(2);
172 plat->fix_mac_speed = loongson_gnet_fix_speed;
173
174 return 0;
175 }
176
Hi Russell,
kernel test robot noticed the following build errors:
[auto build test ERROR on net-next/main]
url: https://github.com/intel-lab-lkp/linux/commits/Russell-King-Oracle/net-stmmac-mdio-use-same-test-for-MDC-clock-divisor-lookups/20260304-183416
base: net-next/main
patch link: https://lore.kernel.org/r/E1vxjNj-0000000Br1c-2Fg7%40rmk-PC.armlinux.org.uk
patch subject: [PATCH net-next 8/8] net: stmmac: make pcs_mask and phy_mask u32
config: sparc64-allmodconfig (https://download.01.org/0day-ci/archive/20260305/202603050424.TDlVj9FT-lkp@intel.com/config)
compiler: clang version 23.0.0git (https://github.com/llvm/llvm-project 9a109fbb6e184ec9bcce10615949f598f4c974a9)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260305/202603050424.TDlVj9FT-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202603050424.TDlVj9FT-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:171:35: error: call to undeclared function 'BIT_u32'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
171 | plat->mdio_bus_data->phy_mask = ~BIT_u32(2);
| ^
1 error generated.
vim +/BIT_u32 +171 drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c
164
165 static int loongson_gnet_data(struct pci_dev *pdev,
166 struct plat_stmmacenet_data *plat)
167 {
168 loongson_default_data(pdev, plat);
169
170 plat->phy_interface = PHY_INTERFACE_MODE_GMII;
> 171 plat->mdio_bus_data->phy_mask = ~BIT_u32(2);
172 plat->fix_mac_speed = loongson_gnet_fix_speed;
173
174 return 0;
175 }
176
@@ -699,7 +699,7 @@ static int intel_mgbe_common_data(struct pci_dev *pdev,
/* Intel mgbe SGMII interface uses pcs-xcps */
if (plat->phy_interface == PHY_INTERFACE_MODE_SGMII ||
plat->phy_interface == PHY_INTERFACE_MODE_1000BASEX) {
- plat->mdio_bus_data->pcs_mask = BIT(INTEL_MGBE_XPCS_ADDR);
+ plat->mdio_bus_data->pcs_mask = BIT_U32(INTEL_MGBE_XPCS_ADDR);
plat->mdio_bus_data->default_an_inband = true;
plat->select_pcs = intel_mgbe_select_pcs;
}
@@ -168,7 +168,7 @@ static int loongson_gnet_data(struct pci_dev *pdev,
loongson_default_data(pdev, plat);
plat->phy_interface = PHY_INTERFACE_MODE_GMII;
- plat->mdio_bus_data->phy_mask = ~(u32)BIT(2);
+ plat->mdio_bus_data->phy_mask = ~BIT_u32(2);
plat->fix_mac_speed = loongson_gnet_fix_speed;
return 0;
@@ -84,8 +84,8 @@ struct stmmac_priv;
/* Platfrom data for platform device structure's platform_data field */
struct stmmac_mdio_bus_data {
- unsigned int phy_mask;
- unsigned int pcs_mask;
+ u32 phy_mask;
+ u32 pcs_mask;
int *irqs;
int probed_phy_irq;
bool needs_reset;