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>utp
parent
7c1deec0af
commit
7e0c5ee874
|
@ -352,12 +352,10 @@ static struct xhci_container_ctx
|
||||||
* @param udev pointer to USB deivce structure
|
* @param udev pointer to USB deivce structure
|
||||||
* @return 0 on success else -1 on failure
|
* @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;
|
u64 byte_64 = 0;
|
||||||
unsigned int slot_id = udev->slot_id;
|
|
||||||
struct xhci_virt_device *virt_dev;
|
struct xhci_virt_device *virt_dev;
|
||||||
struct xhci_ctrl *ctrl = udev->controller;
|
|
||||||
|
|
||||||
/* Slot ID 0 is reserved */
|
/* Slot ID 0 is reserved */
|
||||||
if (ctrl->devs[slot_id]) {
|
if (ctrl->devs[slot_id]) {
|
||||||
|
|
|
@ -491,7 +491,7 @@ int usb_alloc_device(struct usb_device *udev)
|
||||||
|
|
||||||
xhci_acknowledge_event(ctrl);
|
xhci_acknowledge_event(ctrl);
|
||||||
|
|
||||||
ret = xhci_alloc_virt_device(udev);
|
ret = xhci_alloc_virt_device(ctrl, udev->slot_id);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
/*
|
/*
|
||||||
* TODO: Unsuccessful Address Device command shall leave
|
* TODO: Unsuccessful Address Device command shall leave
|
||||||
|
|
|
@ -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_inval_cache(uintptr_t addr, u32 type_len);
|
||||||
void xhci_cleanup(struct xhci_ctrl *ctrl);
|
void xhci_cleanup(struct xhci_ctrl *ctrl);
|
||||||
struct xhci_ring *xhci_ring_alloc(unsigned int num_segs, bool link_trbs);
|
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,
|
int xhci_mem_init(struct xhci_ctrl *ctrl, struct xhci_hccr *hccr,
|
||||||
struct xhci_hcor *hcor);
|
struct xhci_hcor *hcor);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue