[usb] Select preferred USB device configuration based on driver score
authorMichael Brown <mcb30@ipxe.org>
Mon, 14 Sep 2015 15:53:05 +0000 (16:53 +0100)
committerMichael Brown <mcb30@ipxe.org>
Mon, 14 Sep 2015 20:45:34 +0000 (21:45 +0100)
commit549a0caabb2f239fc702ccea3c1825518e13d121
treeb89fb7f19ff26d792f50ff027e2755862e87cb1f
parente727f576c266221c6ee62ae293506078ca6871b2
[usb] Select preferred USB device configuration based on driver score

Generate a score for each possible USB device configuration based on
the available driver support, and select the configuration with the
highest score.  This will allow us to prefer ECM over RNDIS (for
devices which support both) and will allow us to meaningfully select a
configuration even when we have drivers available for all functions
(e.g. when exposing unused functions via EFI_USB_IO_PROTOCOL).

Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/drivers/bus/usb.c
src/drivers/net/dm96xx.c
src/drivers/net/ecm.c
src/drivers/net/ncm.c
src/drivers/net/smsc75xx.c
src/drivers/usb/usbhub.c
src/drivers/usb/usbio.c
src/drivers/usb/usbkbd.c
src/drivers/usb/usbnet.c
src/include/ipxe/usb.h