mirror of
https://xff.cz/git/u-boot/
synced 2025-09-01 16:52:14 +02:00
dm: usb: Adjust usb_alloc_new_device() to return an error
This function returns NULL on error at present. Adjust it so that we can return a real error, as is needed with driver model. Also improve the error handling in its caller, usb_hub_port_connect_change(), and adjust the code order to prepare for driver model. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
This commit is contained in:
@@ -703,10 +703,26 @@ void usb_hub_reset(void);
|
||||
int hub_port_reset(struct usb_device *dev, int port,
|
||||
unsigned short *portstat);
|
||||
|
||||
struct usb_device *usb_alloc_new_device(void *controller);
|
||||
/**
|
||||
* usb_alloc_new_device() - Allocate a new device
|
||||
*
|
||||
* @devp: returns a pointer of a new device structure. With driver model this
|
||||
* is a device pointer, but with legacy USB this pointer is
|
||||
* driver-specific.
|
||||
* @return 0 if OK, -ENOSPC if we have found out of room for new devices
|
||||
*/
|
||||
int usb_alloc_new_device(struct udevice *controller, struct usb_device **devp);
|
||||
|
||||
/**
|
||||
* usb_free_device() - Free a partially-inited device
|
||||
*
|
||||
* This is an internal function. It is used to reverse the action of
|
||||
* usb_alloc_new_device() when we hit a problem during init.
|
||||
*/
|
||||
void usb_free_device(struct udevice *controller);
|
||||
|
||||
int usb_new_device(struct usb_device *dev);
|
||||
void usb_free_device(void);
|
||||
|
||||
int usb_alloc_device(struct usb_device *dev);
|
||||
|
||||
#endif /*_USB_H_ */
|
||||
|
Reference in New Issue
Block a user