smc91x is a prime example of the kind of information drivers need - base
address and irq are very much insufficient to describe how this device is
connected. There's much more information required to specify this device
fully, and throwing it into the driver doesn't work. We've been there
and proven that point.
The device tree is quite capable of expressing information beyond addresses and interrupts.
Bus width? Register offset spacing? SMC LED configuration? Whether
to use the hardware wait signal from the SMC?
If you're going to say yes to all that, I'm going to start asking how
you cope with verifying that the data for ethernet driver A doesn't
get accidentally used for ethernet driver B.
I assume you have some kind of compiler, which needs a set of specification
files to tell it what's required for each driver which is OF compatible.
If not, I can see no way for OF trees to ever be safe and correct.