xhci: xhci-hub: use port structure members instead of xhci_get_ports()
xhci_get_ports() is one of the last functions using port_arrays in xhci-hub.c. We get the same data directly from hub and port structures instead, so convert and remove both xhci_get_ports() and port_arrays from all function that no longer need it. Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
38986ffa6a
commit
925f349d4d
|
@ -541,22 +541,6 @@ static void xhci_clear_port_change_bit(struct xhci_hcd *xhci, u16 wValue,
|
||||||
port_change_bit, wIndex, port_status);
|
port_change_bit, wIndex, port_status);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int xhci_get_ports(struct usb_hcd *hcd, __le32 __iomem ***port_array)
|
|
||||||
{
|
|
||||||
int max_ports;
|
|
||||||
struct xhci_hcd *xhci = hcd_to_xhci(hcd);
|
|
||||||
|
|
||||||
if (hcd->speed >= HCD_USB3) {
|
|
||||||
max_ports = xhci->num_usb3_ports;
|
|
||||||
*port_array = xhci->usb3_ports;
|
|
||||||
} else {
|
|
||||||
max_ports = xhci->num_usb2_ports;
|
|
||||||
*port_array = xhci->usb2_ports;
|
|
||||||
}
|
|
||||||
|
|
||||||
return max_ports;
|
|
||||||
}
|
|
||||||
|
|
||||||
struct xhci_hub *xhci_get_rhub(struct usb_hcd *hcd)
|
struct xhci_hub *xhci_get_rhub(struct usb_hcd *hcd)
|
||||||
{
|
{
|
||||||
struct xhci_hcd *xhci = hcd_to_xhci(hcd);
|
struct xhci_hcd *xhci = hcd_to_xhci(hcd);
|
||||||
|
@ -1032,7 +1016,6 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
u32 temp, status;
|
u32 temp, status;
|
||||||
int retval = 0;
|
int retval = 0;
|
||||||
__le32 __iomem **port_array;
|
|
||||||
int slot_id;
|
int slot_id;
|
||||||
struct xhci_bus_state *bus_state;
|
struct xhci_bus_state *bus_state;
|
||||||
u16 link_state = 0;
|
u16 link_state = 0;
|
||||||
|
@ -1044,7 +1027,7 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,
|
||||||
|
|
||||||
rhub = xhci_get_rhub(hcd);
|
rhub = xhci_get_rhub(hcd);
|
||||||
ports = rhub->ports;
|
ports = rhub->ports;
|
||||||
max_ports = xhci_get_ports(hcd, &port_array);
|
max_ports = rhub->num_ports;
|
||||||
bus_state = &xhci->bus_state[hcd_index(hcd)];
|
bus_state = &xhci->bus_state[hcd_index(hcd)];
|
||||||
|
|
||||||
spin_lock_irqsave(&xhci->lock, flags);
|
spin_lock_irqsave(&xhci->lock, flags);
|
||||||
|
@ -1425,7 +1408,6 @@ int xhci_hub_status_data(struct usb_hcd *hcd, char *buf)
|
||||||
int i, retval;
|
int i, retval;
|
||||||
struct xhci_hcd *xhci = hcd_to_xhci(hcd);
|
struct xhci_hcd *xhci = hcd_to_xhci(hcd);
|
||||||
int max_ports;
|
int max_ports;
|
||||||
__le32 __iomem **port_array;
|
|
||||||
struct xhci_bus_state *bus_state;
|
struct xhci_bus_state *bus_state;
|
||||||
bool reset_change = false;
|
bool reset_change = false;
|
||||||
struct xhci_hub *rhub;
|
struct xhci_hub *rhub;
|
||||||
|
@ -1433,7 +1415,7 @@ int xhci_hub_status_data(struct usb_hcd *hcd, char *buf)
|
||||||
|
|
||||||
rhub = xhci_get_rhub(hcd);
|
rhub = xhci_get_rhub(hcd);
|
||||||
ports = rhub->ports;
|
ports = rhub->ports;
|
||||||
max_ports = xhci_get_ports(hcd, &port_array);
|
max_ports = rhub->num_ports;
|
||||||
bus_state = &xhci->bus_state[hcd_index(hcd)];
|
bus_state = &xhci->bus_state[hcd_index(hcd)];
|
||||||
|
|
||||||
/* Initial status is no changes */
|
/* Initial status is no changes */
|
||||||
|
@ -1483,7 +1465,6 @@ int xhci_bus_suspend(struct usb_hcd *hcd)
|
||||||
{
|
{
|
||||||
struct xhci_hcd *xhci = hcd_to_xhci(hcd);
|
struct xhci_hcd *xhci = hcd_to_xhci(hcd);
|
||||||
int max_ports, port_index;
|
int max_ports, port_index;
|
||||||
__le32 __iomem **port_array;
|
|
||||||
struct xhci_bus_state *bus_state;
|
struct xhci_bus_state *bus_state;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
struct xhci_hub *rhub;
|
struct xhci_hub *rhub;
|
||||||
|
@ -1491,7 +1472,7 @@ int xhci_bus_suspend(struct usb_hcd *hcd)
|
||||||
|
|
||||||
rhub = xhci_get_rhub(hcd);
|
rhub = xhci_get_rhub(hcd);
|
||||||
ports = rhub->ports;
|
ports = rhub->ports;
|
||||||
max_ports = xhci_get_ports(hcd, &port_array);
|
max_ports = rhub->num_ports;
|
||||||
bus_state = &xhci->bus_state[hcd_index(hcd)];
|
bus_state = &xhci->bus_state[hcd_index(hcd)];
|
||||||
|
|
||||||
spin_lock_irqsave(&xhci->lock, flags);
|
spin_lock_irqsave(&xhci->lock, flags);
|
||||||
|
@ -1592,7 +1573,6 @@ int xhci_bus_resume(struct usb_hcd *hcd)
|
||||||
{
|
{
|
||||||
struct xhci_hcd *xhci = hcd_to_xhci(hcd);
|
struct xhci_hcd *xhci = hcd_to_xhci(hcd);
|
||||||
struct xhci_bus_state *bus_state;
|
struct xhci_bus_state *bus_state;
|
||||||
__le32 __iomem **port_array;
|
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
int max_ports, port_index;
|
int max_ports, port_index;
|
||||||
int slot_id;
|
int slot_id;
|
||||||
|
@ -1604,7 +1584,7 @@ int xhci_bus_resume(struct usb_hcd *hcd)
|
||||||
|
|
||||||
rhub = xhci_get_rhub(hcd);
|
rhub = xhci_get_rhub(hcd);
|
||||||
ports = rhub->ports;
|
ports = rhub->ports;
|
||||||
max_ports = xhci_get_ports(hcd, &port_array);
|
max_ports = rhub->num_ports;
|
||||||
bus_state = &xhci->bus_state[hcd_index(hcd)];
|
bus_state = &xhci->bus_state[hcd_index(hcd)];
|
||||||
|
|
||||||
if (time_before(jiffies, bus_state->next_statechange))
|
if (time_before(jiffies, bus_state->next_statechange))
|
||||||
|
|
Loading…
Reference in New Issue