Signed-off-by: Michael Brown <mcb30@ipxe.org>
return -ENOENT;
}
+ /* Record driver */
+ func->driver = driver;
+ func->id = id;
+ func->dev.driver_name = id->name;
+
/* Probe driver */
if ( ( rc = driver->probe ( func, config ) ) != 0 ) {
DBGC ( usb, "USB %s failed to probe driver %s: %s\n",
return rc;
}
- /* Record driver */
- func->driver = driver;
- func->dev.driver_name = id->name;
return 0;
}
struct usb_driver *driver;
/** Driver private data */
void *priv;
+ /** Driver device ID */
+ struct usb_device_id *id;
/** List of interface numbers
*
uint16_t vendor;
/** Product ID */
uint16_t product;
+ /** Arbitrary driver data */
+ unsigned long driver_data;
};
/** Match-anything ID */