]> Pileus Git - ~andy/linux/blobdiff - drivers/usb/host/xhci-hub.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit
[~andy/linux] / drivers / usb / host / xhci-hub.c
index 430e88fd3f6cd170261592175d51b6971406c1f2..35e257f79c7b0c7d8565a753e5e5dfb90b128301 100644 (file)
@@ -57,17 +57,15 @@ static void xhci_common_hub_descriptor(struct xhci_hcd *xhci,
        desc->bHubContrCurrent = 0;
 
        desc->bNbrPorts = ports;
-       /* Ugh, these should be #defines, FIXME */
-       /* Using table 11-13 in USB 2.0 spec. */
        temp = 0;
-       /* Bits 1:0 - support port power switching, or power always on */
+       /* Bits 1:0 - support per-port power switching, or power always on */
        if (HCC_PPC(xhci->hcc_params))
-               temp |= 0x0001;
+               temp |= HUB_CHAR_INDV_PORT_LPSM;
        else
-               temp |= 0x0002;
+               temp |= HUB_CHAR_NO_LPSM;
        /* Bit  2 - root hubs are not part of a compound device */
        /* Bits 4:3 - individual port over current protection */
-       temp |= 0x0008;
+       temp |= HUB_CHAR_INDV_PORT_OCPM;
        /* Bits 6:5 - no TTs in root ports */
        /* Bit  7 - no port indicators */
        desc->wHubCharacteristics = cpu_to_le16(temp);
@@ -86,9 +84,9 @@ static void xhci_usb2_hub_descriptor(struct usb_hcd *hcd, struct xhci_hcd *xhci,
        ports = xhci->num_usb2_ports;
 
        xhci_common_hub_descriptor(xhci, desc, ports);
-       desc->bDescriptorType = 0x29;
+       desc->bDescriptorType = USB_DT_HUB;
        temp = 1 + (ports / 8);
-       desc->bDescLength = 7 + 2 * temp;
+       desc->bDescLength = USB_DT_HUB_NONVAR_SIZE + 2 * temp;
 
        /* The Device Removable bits are reported on a byte granularity.
         * If the port doesn't exist within that byte, the bit is set to 0.
@@ -137,8 +135,8 @@ static void xhci_usb3_hub_descriptor(struct usb_hcd *hcd, struct xhci_hcd *xhci,
 
        ports = xhci->num_usb3_ports;
        xhci_common_hub_descriptor(xhci, desc, ports);
-       desc->bDescriptorType = 0x2a;
-       desc->bDescLength = 12;
+       desc->bDescriptorType = USB_DT_SS_HUB;
+       desc->bDescLength = USB_DT_SS_HUB_SIZE;
 
        /* header decode latency should be zero for roothubs,
         * see section 4.23.5.2.