On 05/18/2017 04:08 AM, Yuyang Du wrote:
> From: Yuyang Du <[email protected]>
> 
> Each vhci has 2*VHCI_HC_PORTS ports, in which VHCI_HC_PORTS
> ports are HighSpeed (or below), and VHCI_HC_PORTS are SuperSpeed.
> This new macro VHCI_PORTS reflects this configuration.
> 
> Signed-off-by: Yuyang Du <[email protected]>

Acked-by: Shuah Khan <[email protected]>

thanks,
-- Shuah

> ---
>  drivers/usb/usbip/vhci.h       |  5 ++++-
>  drivers/usb/usbip/vhci_sysfs.c | 10 +++++-----
>  2 files changed, 9 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/usb/usbip/vhci.h b/drivers/usb/usbip/vhci.h
> index db28eb5..5cfb59e 100644
> --- a/drivers/usb/usbip/vhci.h
> +++ b/drivers/usb/usbip/vhci.h
> @@ -84,6 +84,9 @@ enum hub_speed {
>  #define VHCI_HC_PORTS 8
>  #endif
>  
> +/* Each VHCI has 2 hubs (USB2 and USB3), each has VHCI_HC_PORTS ports */
> +#define VHCI_PORTS   (VHCI_HC_PORTS*2)
> +
>  #ifdef CONFIG_USBIP_VHCI_NR_HCS
>  #define VHCI_NR_HCS CONFIG_USBIP_VHCI_NR_HCS
>  #else
> @@ -145,7 +148,7 @@ static inline __u32 port_to_rhport(__u32 port)
>  
>  static inline int port_to_pdev_nr(__u32 port)
>  {
> -     return port / (VHCI_HC_PORTS * 2);
> +     return port / VHCI_PORTS;
>  }
>  
>  static inline struct vhci_hcd *hcd_to_vhci_hcd(struct usb_hcd *hcd)
> diff --git a/drivers/usb/usbip/vhci_sysfs.c b/drivers/usb/usbip/vhci_sysfs.c
> index 3ad68ff..5778b64 100644
> --- a/drivers/usb/usbip/vhci_sysfs.c
> +++ b/drivers/usb/usbip/vhci_sysfs.c
> @@ -92,7 +92,7 @@ static ssize_t status_show_vhci(int pdev_nr, char *out)
>  
>               spin_lock(&vdev->ud.lock);
>               port_show_vhci(&out, HUB_SPEED_HIGH,
> -                            pdev_nr * VHCI_HC_PORTS * 2 + i, vdev);
> +                            pdev_nr * VHCI_PORTS + i, 
> [email protected]);
>               spin_unlock(&vdev->ud.lock);
>       }
>  
> @@ -101,7 +101,7 @@ static ssize_t status_show_vhci(int pdev_nr, char *out)
>  
>               spin_lock(&vdev->ud.lock);
>               port_show_vhci(&out, HUB_SPEED_SUPER,
> -                            pdev_nr * VHCI_HC_PORTS * 2 + VHCI_HC_PORTS + i, 
> vdev);
> +                            pdev_nr * VHCI_PORTS + VHCI_HC_PORTS + i, vdev);
>               spin_unlock(&vdev->ud.lock);
>       }
>  
> @@ -117,7 +117,7 @@ static ssize_t status_show_not_ready(int pdev_nr, char 
> *out)
>  
>       for (i = 0; i < VHCI_HC_PORTS; i++) {
>               out += sprintf(out, "hs  %04u %03u ",
> -                                 (pdev_nr * VHCI_HC_PORTS * 2) + i,
> +                                 (pdev_nr * VHCI_PORTS) + i,
>                                   VDEV_ST_NOTASSIGNED);
>               out += sprintf(out, "000 00000000 0000000000000000 0-0");
>               out += sprintf(out, "\n");
> @@ -125,7 +125,7 @@ static ssize_t status_show_not_ready(int pdev_nr, char 
> *out)
>  
>       for (i = 0; i < VHCI_HC_PORTS; i++) {
>               out += sprintf(out, "ss  %04u %03u ",
> -                                 (pdev_nr * VHCI_HC_PORTS * 2) + 
> VHCI_HC_PORTS + i,
> +                                 (pdev_nr * VHCI_PORTS) + VHCI_HC_PORTS + i,
>                                   VDEV_ST_NOTASSIGNED);
>               out += sprintf(out, "000 00000000 0000000000000000 0-0");
>               out += sprintf(out, "\n");
> @@ -176,7 +176,7 @@ static ssize_t nports_show(struct device *dev, struct 
> device_attribute *attr,
>       /*
>        * Half the ports are for SPEED_HIGH and half for SPEED_SUPER, thus the 
> * 2.
>        */
> -     out += sprintf(out, "%d\n", VHCI_HC_PORTS * vhci_num_controllers * 2);
> +     out += sprintf(out, "%d\n", VHCI_PORTS * vhci_num_controllers);
>       return out - s;
>  }
>  static DEVICE_ATTR_RO(nports);
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to