> +#define PORT_T1_PHY_RESET BIT(15) > +#define PORT_T1_PHY_LOOPBACK BIT(14) > +#define PORT_T1_SPEED_100MBIT BIT(13) > +#define PORT_T1_POWER_DOWN BIT(11) > +#define PORT_T1_ISOLATE BIT(10) > +#define PORT_T1_FULL_DUPLEX BIT(8) These appear to be standard BMCR_ values. Please don't define your own. > + > +#define REG_PORT_T1_PHY_BASIC_STATUS 0x01 > + > +#define PORT_T1_MII_SUPPRESS_CAPABLE BIT(6) > +#define PORT_T1_LINK_STATUS BIT(2) > +#define PORT_T1_EXTENDED_CAPABILITY BIT(0) > + > +#define REG_PORT_T1_PHY_ID_HI 0x02 > +#define REG_PORT_T1_PHY_ID_LO 0x03 MII_PHYSID1 and MII_PHYSID2 Please go through all these #defines and replace them with the standard ones Linux provides. You are obfusticating the code by not using what people already know. Andrew