> +static int txgbe_pcs_read(struct mii_bus *bus, int addr, int devnum, int regnum) > +{ > + struct wx *wx = bus->priv; > + u32 offset, val; > + > + offset = devnum << 16 | regnum; > + > + /* Set the LAN port indicator to IDA_ADDR */ > + wr32(wx, TXGBE_XPCS_IDA_ADDR, offset); > + > + /* Read the data from IDA_DATA register */ > + val = rd32(wx, TXGBE_XPCS_IDA_DATA); addr is ignored here. So i assume the hardware only supports a single address? Please add a check for address. If it is 0, do the read, otherwise return either -EOPNOTSUPP, or 0xffff. What we don't want is it to appear there are 32 PCS devices. Andrew