diff options
author | Alexander Pyhalov <apyhalov@gmail.com> | 2018-05-23 12:23:44 +0300 |
---|---|---|
committer | Hans Rosenfeld <hans.rosenfeld@joyent.com> | 2018-05-24 15:12:46 +0200 |
commit | fcd69270d3e30d8121da73f26d9d8aec4375ecd4 (patch) | |
tree | 10da0a520fc5ab53d314d8b4b213ad2f754def72 | |
parent | 0df48811699b83d09c552548effcb1718d6ff1d0 (diff) | |
download | illumos-joyent-fcd69270d3e30d8121da73f26d9d8aec4375ecd4.tar.gz |
9550 Create hub symlinks for xhci devices
Reviewed by: Andy Stormont <astormont@racktopsystems.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Toomas Soome <tsoome@me.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Approved by: Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
-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"; |