dm: usb: Convert core usb.c file to support driver model
Add the required #ifdefs and remove unwanted data structures so that the USB uclass will be able to use this file. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
This commit is contained in:
parent
0ed27905ce
commit
95fbfe4298
31
common/usb.c
31
common/usb.c
|
@ -28,6 +28,7 @@
|
||||||
*/
|
*/
|
||||||
#include <common.h>
|
#include <common.h>
|
||||||
#include <command.h>
|
#include <command.h>
|
||||||
|
#include <dm.h>
|
||||||
#include <asm/processor.h>
|
#include <asm/processor.h>
|
||||||
#include <linux/compiler.h>
|
#include <linux/compiler.h>
|
||||||
#include <linux/ctype.h>
|
#include <linux/ctype.h>
|
||||||
|
@ -41,11 +42,12 @@
|
||||||
|
|
||||||
#define USB_BUFSIZ 512
|
#define USB_BUFSIZ 512
|
||||||
|
|
||||||
|
static int asynch_allowed;
|
||||||
|
char usb_started; /* flag for the started/stopped USB status */
|
||||||
|
|
||||||
|
#ifndef CONFIG_DM_USB
|
||||||
static struct usb_device usb_dev[USB_MAX_DEVICE];
|
static struct usb_device usb_dev[USB_MAX_DEVICE];
|
||||||
static int dev_index;
|
static int dev_index;
|
||||||
static int asynch_allowed;
|
|
||||||
|
|
||||||
char usb_started; /* flag for the started/stopped USB status */
|
|
||||||
|
|
||||||
#ifndef CONFIG_USB_MAX_CONTROLLER_COUNT
|
#ifndef CONFIG_USB_MAX_CONTROLLER_COUNT
|
||||||
#define CONFIG_USB_MAX_CONTROLLER_COUNT 1
|
#define CONFIG_USB_MAX_CONTROLLER_COUNT 1
|
||||||
|
@ -158,6 +160,7 @@ int usb_disable_asynch(int disable)
|
||||||
asynch_allowed = !disable;
|
asynch_allowed = !disable;
|
||||||
return old_value;
|
return old_value;
|
||||||
}
|
}
|
||||||
|
#endif /* !CONFIG_DM_USB */
|
||||||
|
|
||||||
|
|
||||||
/*-------------------------------------------------------------------
|
/*-------------------------------------------------------------------
|
||||||
|
@ -821,6 +824,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].
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifndef CONFIG_DM_USB
|
||||||
|
|
||||||
/* returns a pointer to the device with the index [index].
|
/* returns a pointer to the device with the index [index].
|
||||||
* if the device is not assigned (dev->devnum==-1) returns NULL
|
* if the device is not assigned (dev->devnum==-1) returns NULL
|
||||||
|
@ -877,7 +881,9 @@ __weak int usb_alloc_device(struct usb_device *udev)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif /* !CONFIG_DM_USB */
|
||||||
|
|
||||||
|
#ifndef CONFIG_DM_USB
|
||||||
int usb_legacy_port_reset(struct usb_device *hub, int portnr)
|
int usb_legacy_port_reset(struct usb_device *hub, int portnr)
|
||||||
{
|
{
|
||||||
if (hub) {
|
if (hub) {
|
||||||
|
@ -896,6 +902,7 @@ int usb_legacy_port_reset(struct usb_device *hub, int portnr)
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static int get_descriptor_len(struct usb_device *dev, int len, int expect_len)
|
static int get_descriptor_len(struct usb_device *dev, int len, int expect_len)
|
||||||
{
|
{
|
||||||
|
@ -1031,7 +1038,7 @@ static int usb_prepare_device(struct usb_device *dev, int addr, bool do_read,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int usb_select_config(struct usb_device *dev)
|
int usb_select_config(struct usb_device *dev)
|
||||||
{
|
{
|
||||||
ALLOC_CACHE_ALIGN_BUFFER(unsigned char, tmpbuf, USB_BUFSIZ);
|
ALLOC_CACHE_ALIGN_BUFFER(unsigned char, tmpbuf, USB_BUFSIZ);
|
||||||
int err;
|
int err;
|
||||||
|
@ -1089,8 +1096,8 @@ static int usb_select_config(struct usb_device *dev)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int usb_setup_device(struct usb_device *dev, bool do_read,
|
int usb_setup_device(struct usb_device *dev, bool do_read,
|
||||||
struct usb_device *parent, int portnr)
|
struct usb_device *parent, int portnr)
|
||||||
{
|
{
|
||||||
int addr;
|
int addr;
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -1107,6 +1114,7 @@ static int usb_setup_device(struct usb_device *dev, bool do_read,
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef CONFIG_DM_USB
|
||||||
/*
|
/*
|
||||||
* By the time we get here, the device has gotten a new device ID
|
* 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
|
* and is in the default state. We need to identify the thing and
|
||||||
|
@ -1139,6 +1147,7 @@ int usb_new_device(struct usb_device *dev)
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
__weak
|
__weak
|
||||||
int board_usb_init(int index, enum usb_init_type init)
|
int board_usb_init(int index, enum usb_init_type init)
|
||||||
|
@ -1151,4 +1160,14 @@ int board_usb_cleanup(int index, enum usb_init_type init)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool usb_device_has_child_on_port(struct usb_device *parent, int port)
|
||||||
|
{
|
||||||
|
#ifdef CONFIG_DM_USB
|
||||||
|
return false;
|
||||||
|
#else
|
||||||
|
return parent->children[port] != NULL;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
Loading…
Reference in New Issue