Bit 0 in register 1.5 doesn't represent a device but is a flag that Clause 22 registers are present. Therefore disregard this bit when populating the device list. If code needs this information it should read register 1.5 directly instead of accessing the device list. Because this bit doesn't represent a device don't define a MDIO_MMD_XYZ constant, just define a MDIO_DEVS_XYZ constant for the flag in the device list bitmap.
v2: - make masking of bit 0 more explicit - improve commit message v3: - replace single patch with a series - add functionality of patch 1 Heiner Kallweit (3): net: phy: remove unneeded masking of PHY register read results net: phy: disregard "Clause 22 registers present" bit in get_phy_c45_devs_in_pkg net: phy: add constant for "Clause 22 registers present" flags in device list bitmap drivers/net/phy/phy_device.c | 15 +++++++++------ include/uapi/linux/mdio.h | 1 + 2 files changed, 10 insertions(+), 6 deletions(-) -- 2.20.1