> > +int hclge_mac_mdio_config(struct hclge_dev *hdev) > > +{ > > + struct hclge_mac *mac = &hdev->hw.mac; > > + struct mii_bus *mdio_bus; > > + struct net_device *ndev = &mac->ndev; > > + struct phy_device *phy; > > + bool is_c45; > > + int ret; > > + > > + if (hdev->hw.mac.phy_addr >= PHY_MAX_ADDR) > > + return 0; > > + > > + if (hdev->hw.mac.phy_if == PHY_INTERFACE_MODE_NA) > > + return 0; > > + else if (mac->phy_if == PHY_INTERFACE_MODE_SGMII) > > + is_c45 = 0; > > + else if (mac->phy_if == PHY_INTERFACE_MODE_XGMII) > > + is_c45 = 1; > > + else > > + return -ENODATA; > > Can you consider using a switch () case statement here?
Does this concept even make sense? The Marvell 10G phy will use SGMII for 10/100/1000Mbs and swap to XGMII for 10Gbps. It however stays a c45 device all the time. In general, i don't think PHY mode is related to C22/C45. Andrew