summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2015-03-25 12:22:50 -0600
committerSimon Glass <sjg@chromium.org>2015-04-18 11:11:28 -0600
commit7e0c5ee8748ae46aafebaedd594240ca4705f9ea (patch)
treed1423732a761c85ae9f426b97747462dd4c1e3a2
parent7c1deec0afc209fea14bc38e3a3e1d28b773ee55 (diff)
downloadu-boot-imx-7e0c5ee8748ae46aafebaedd594240ca4705f9ea.zip
u-boot-imx-7e0c5ee8748ae46aafebaedd594240ca4705f9ea.tar.gz
u-boot-imx-7e0c5ee8748ae46aafebaedd594240ca4705f9ea.tar.bz2
dm: usb: xhci: Use explicit parameters for xhci_alloc_virt_device()
This function should not be delving into struct usb_device. Pass in the parameters it needs directly. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
-rw-r--r--drivers/usb/host/xhci-mem.c4
-rw-r--r--drivers/usb/host/xhci.c2
-rw-r--r--drivers/usb/host/xhci.h2
3 files changed, 3 insertions, 5 deletions
diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c
index 10f11cd..2ac5016 100644
--- a/drivers/usb/host/xhci-mem.c
+++ b/drivers/usb/host/xhci-mem.c
@@ -352,12 +352,10 @@ static struct xhci_container_ctx
* @param udev pointer to USB deivce structure
* @return 0 on success else -1 on failure
*/
-int xhci_alloc_virt_device(struct usb_device *udev)
+int xhci_alloc_virt_device(struct xhci_ctrl *ctrl, unsigned int slot_id)
{
u64 byte_64 = 0;
- unsigned int slot_id = udev->slot_id;
struct xhci_virt_device *virt_dev;
- struct xhci_ctrl *ctrl = udev->controller;
/* Slot ID 0 is reserved */
if (ctrl->devs[slot_id]) {
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index 61a4a36..b4208a1 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -491,7 +491,7 @@ int usb_alloc_device(struct usb_device *udev)
xhci_acknowledge_event(ctrl);
- ret = xhci_alloc_virt_device(udev);
+ ret = xhci_alloc_virt_device(ctrl, udev->slot_id);
if (ret < 0) {
/*
* TODO: Unsuccessful Address Device command shall leave
diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
index 1f48933..1dde804 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -1255,7 +1255,7 @@ void xhci_flush_cache(uintptr_t addr, u32 type_len);
void xhci_inval_cache(uintptr_t addr, u32 type_len);
void xhci_cleanup(struct xhci_ctrl *ctrl);
struct xhci_ring *xhci_ring_alloc(unsigned int num_segs, bool link_trbs);
-int xhci_alloc_virt_device(struct usb_device *udev);
+int xhci_alloc_virt_device(struct xhci_ctrl *ctrl, unsigned int slot_id);
int xhci_mem_init(struct xhci_ctrl *ctrl, struct xhci_hccr *hccr,
struct xhci_hcor *hcor);