I suggest everyone take a look at the effort posted to netdev:
http://oss.sgi.com/archives/netdev/2004-12/msg00643.html
That's the work Dan told me about. Now we just have to update the au1x driver :)
Pete
It's an attempt at a phy abstraction layer that goes the next logical step after the minimal support provided in mii.h.
It's evolved out of the in-driver abstraction that is currently used in the sungem, ibm_emac, and gianfar drivers in 2.6. It was just a matter of time before somebody got tired of copying the same PHY mgmt bits into every driver. :)
-Matt