diff options
| -rw-r--r-- | usr/src/cmd/devfsadm/usb_link.c | 44 |
1 files changed, 25 insertions, 19 deletions
diff --git a/usr/src/cmd/devfsadm/usb_link.c b/usr/src/cmd/devfsadm/usb_link.c index d47c4931eb..ac6a8447fb 100644 --- a/usr/src/cmd/devfsadm/usb_link.c +++ b/usr/src/cmd/devfsadm/usb_link.c @@ -61,6 +61,8 @@ static devfsadm_create_t usb_cbt[] = { ILEVEL_0, usb_process }, { "usb", DDI_NT_NEXUS, "ehci", DRV_EXACT|TYPE_EXACT, ILEVEL_0, usb_process }, + { "usb", DDI_NT_NEXUS, "xhci", DRV_EXACT|TYPE_EXACT, + ILEVEL_0, usb_process }, { "usb", DDI_NT_SCSI_NEXUS, "scsa2usb", DRV_EXACT|TYPE_EXACT, ILEVEL_0, usb_process }, { "usb", DDI_NT_UGEN, "scsa2usb", DRV_EXACT|TYPE_EXACT, @@ -189,28 +191,29 @@ minor_fini(void) } typedef enum { - DRIVER_HUBD = 0, - DRIVER_OHCI = 1, - DRIVER_EHCI = 2, - DRIVER_UHCI = 3, - DRIVER_USB_AC = 4, - DRIVER_USB_AS = 5, - DRIVER_HID = 6, - DRIVER_USB_MID = 7, - DRIVER_DDIVS_USBC = 8, - DRIVER_SCSA2USB = 9, - DRIVER_USBPRN = 10, - DRIVER_UGEN = 11, - DRIVER_VIDEO = 12, - DRIVER_HWAHC = 13, - DRIVER_HWARC = 14, - DRIVER_WUSB_CA = 15, - DRIVER_UNKNOWN = 16 + DRIVER_HUBD, + DRIVER_OHCI, + DRIVER_EHCI, + DRIVER_UHCI, + DRIVER_XHCI, + DRIVER_USB_AC, + DRIVER_USB_AS, + DRIVER_HID, + DRIVER_USB_MID, + DRIVER_DDIVS_USBC, + DRIVER_SCSA2USB, + DRIVER_USBPRN, + DRIVER_UGEN, + DRIVER_VIDEO, + DRIVER_HWAHC, + DRIVER_HWARC, + DRIVER_WUSB_CA, + DRIVER_UNKNOWN } driver_defs_t; typedef struct { char *driver_name; - int index; + driver_defs_t index; } driver_name_table_entry_t; driver_name_table_entry_t driver_name_table[] = { @@ -218,6 +221,7 @@ driver_name_table_entry_t driver_name_table[] = { { "ohci", DRIVER_OHCI }, { "ehci", DRIVER_EHCI }, { "uhci", DRIVER_UHCI }, + { "xhci", DRIVER_XHCI }, { "usb_ac", DRIVER_USB_AC }, { "usb_as", DRIVER_USB_AS }, { "hid", DRIVER_HID }, @@ -244,7 +248,8 @@ usb_process(di_minor_t minor, di_node_t node) devfsadm_enumerate_t rules[1]; char *l_path, *p_path, *buf, *devfspath; char *minor_nm, *drvr_nm, *name = (char *)NULL; - int i, index; + int i; + driver_defs_t index; int flags = 0; int create_secondary_link = 0; @@ -307,6 +312,7 @@ usb_process(di_minor_t minor, di_node_t node) case DRIVER_OHCI: case DRIVER_EHCI: case DRIVER_UHCI: + case DRIVER_XHCI: rules[0] = hub_rules[0]; /* For HUBs */ name = "hub"; |
