projects
/
oweals
/
u-boot.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
spl: Always define preloader_console_init
[oweals/u-boot.git]
/
common
/
usb.c
diff --git
a/common/usb.c
b/common/usb.c
index 8d27bc70607560b7c52841f75c3f2fbecf191e94..686f09a77d1ec7caf151b21dadaa17ec979f7f4e 100644
(file)
--- a/
common/usb.c
+++ b/
common/usb.c
@@
-1,3
+1,4
@@
+// SPDX-License-Identifier: GPL-2.0+
/*
* Most of this source has been derived from the Linux USB
* project:
/*
* Most of this source has been derived from the Linux USB
* project:
@@
-13,8
+14,6
@@
*
* Adapted for U-Boot:
* (C) Copyright 2001 Denis Peter, MPL AG Switzerland
*
* Adapted for U-Boot:
* (C) Copyright 2001 Denis Peter, MPL AG Switzerland
- *
- * SPDX-License-Identifier: GPL-2.0+
*/
/*
*/
/*
@@
-29,6
+28,7
@@
#include <common.h>
#include <command.h>
#include <dm.h>
#include <common.h>
#include <command.h>
#include <dm.h>
+#include <malloc.h>
#include <memalign.h>
#include <asm/processor.h>
#include <linux/compiler.h>
#include <memalign.h>
#include <asm/processor.h>
#include <linux/compiler.h>
@@
-43,7
+43,7
@@
static int asynch_allowed;
char usb_started; /* flag for the started/stopped USB status */
static int asynch_allowed;
char usb_started; /* flag for the started/stopped USB status */
-#if
ndef CONFIG_DM_USB
+#if
!CONFIG_IS_ENABLED(DM_USB)
static struct usb_device usb_dev[USB_MAX_DEVICE];
static int dev_index;
static struct usb_device usb_dev[USB_MAX_DEVICE];
static int dev_index;
@@
-172,6
+172,12
@@
int usb_detect_change(void)
return change;
}
return change;
}
+/* Lock or unlock async schedule on the controller */
+__weak int usb_lock_async(struct usb_device *dev, int lock)
+{
+ return 0;
+}
+
/*
* disables the asynch behaviour of the control message. This is used for data
* transfers that uses the exclusiv access to the control and bulk messages.
/*
* disables the asynch behaviour of the control message. This is used for data
* transfers that uses the exclusiv access to the control and bulk messages.
@@
-184,7
+190,7
@@
int usb_disable_asynch(int disable)
asynch_allowed = !disable;
return old_value;
}
asynch_allowed = !disable;
return old_value;
}
-#endif /* !CONFIG_
DM_USB
*/
+#endif /* !CONFIG_
IS_ENABLED(DM_USB)
*/
/*-------------------------------------------------------------------
/*-------------------------------------------------------------------
@@
-193,12
+199,15
@@
int usb_disable_asynch(int disable)
*/
/*
*/
/*
- * submits an Interrupt Message
+ * submits an Interrupt Message. Some drivers may implement non-blocking
+ * polling: when non-block is true and the device is not responding return
+ * -EAGAIN instead of waiting for device to respond.
*/
*/
-int usb_
submit_
int_msg(struct usb_device *dev, unsigned long pipe,
-
void *buffer, int transfer_len, int interval
)
+int usb_int_msg(struct usb_device *dev, unsigned long pipe,
+
void *buffer, int transfer_len, int interval, bool nonblock
)
{
{
- return submit_int_msg(dev, pipe, buffer, transfer_len, interval);
+ return submit_int_msg(dev, pipe, buffer, transfer_len, interval,
+ nonblock);
}
/*
}
/*
@@
-850,7
+859,7
@@
int usb_string(struct usb_device *dev, int index, char *buf, size_t size)
* the USB device are static allocated [USB_MAX_DEVICE].
*/
* the USB device are static allocated [USB_MAX_DEVICE].
*/
-#if
ndef CONFIG_DM_USB
+#if
!CONFIG_IS_ENABLED(DM_USB)
/* returns a pointer to the device with the index [index].
* if the device is not assigned (dev->devnum==-1) returns NULL
/* returns a pointer to the device with the index [index].
* if the device is not assigned (dev->devnum==-1) returns NULL
@@
-907,7
+916,7
@@
__weak int usb_alloc_device(struct usb_device *udev)
{
return 0;
}
{
return 0;
}
-#endif /* !CONFIG_
DM_USB
*/
+#endif /* !CONFIG_
IS_ENABLED(DM_USB)
*/
static int usb_hub_port_reset(struct usb_device *dev, struct usb_device *hub)
{
static int usb_hub_port_reset(struct usb_device *dev, struct usb_device *hub)
{
@@
-1167,7
+1176,7
@@
int usb_setup_device(struct usb_device *dev, bool do_read,
return ret;
}
return ret;
}
-#if
ndef CONFIG_DM_USB
+#if
!CONFIG_IS_ENABLED(DM_USB)
/*
* By the time we get here, the device has gotten a new device ID
* and is in the default state. We need to identify the thing and
/*
* By the time we get here, the device has gotten a new device ID
* and is in the default state. We need to identify the thing and
@@
-1216,14
+1225,14
@@
int board_usb_cleanup(int index, enum usb_init_type init)
bool usb_device_has_child_on_port(struct usb_device *parent, int port)
{
bool usb_device_has_child_on_port(struct usb_device *parent, int port)
{
-#if
def CONFIG_DM_USB
+#if
CONFIG_IS_ENABLED(DM_USB)
return false;
#else
return parent->children[port] != NULL;
#endif
}
return false;
#else
return parent->children[port] != NULL;
#endif
}
-#if
def CONFIG_DM_USB
+#if
CONFIG_IS_ENABLED(DM_USB)
void usb_find_usb2_hub_address_port(struct usb_device *udev,
uint8_t *hub_address, uint8_t *hub_port)
{
void usb_find_usb2_hub_address_port(struct usb_device *udev,
uint8_t *hub_address, uint8_t *hub_port)
{