commit de04d704a98 ("Use the actual struct devdesc at the start [...]")
cleaned up all of the *_devdesc implementations to embed struct devdesc
at the beginning of all of the derivatives, to remove some fragility and
generally clean things up a little bit.
Take it a step further and remove varargs from dv_open(). All of these
can assume that a devdesc, at a minimum, will be passed to them.