After a conversation with acme, I realised that ethtool_ops is far too
narrow scope. What we need are netdev_ops. This patch renames the
ethtool_ops to netdev_ops and fixes some other minor flaws:
- add _len() ops for operations which previously had to kmalloc their
own memory.
- move the netdev_ops from ethtool.h to netdevice.h
- makes some ops generic as requested by Jeff Garzik.
I think netdev_ops is still a little too ethtool-specific; something
I'd like to do is convert the parameters to be a little less
ethtool-related. For example, instead of ->get_drvinfo, I'd like to
see ethtool_get_drvinfo() call several methods and fill in all the data
that way.
But let's see what everyone thinks of this patch first ...