summaryrefslogtreecommitdiff
path: root/drivers/usb
diff options
context:
space:
mode:
authorStefano Babic <sbabic@denx.de>2015-10-30 14:52:51 +0100
committerStefano Babic <sbabic@denx.de>2015-10-30 14:52:51 +0100
commite573bdb324c78fac56655a493bea843842c9d9f8 (patch)
tree3933d354a6be71cbe66d583fec3f5b2479e596ee /drivers/usb
parenta69fdc7787bfa2f27eed74c2ee58c28ce932d502 (diff)
parent0eb4cf9c14315e1976a116de75da6f420ac0e8dd (diff)
downloadu-boot-imx-e573bdb324c78fac56655a493bea843842c9d9f8.zip
u-boot-imx-e573bdb324c78fac56655a493bea843842c9d9f8.tar.gz
u-boot-imx-e573bdb324c78fac56655a493bea843842c9d9f8.tar.bz2
Merge branch 'master' of git://git.denx.de/u-boot
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/dwc3/linux-compat.h5
-rw-r--r--drivers/usb/eth/smsc95xx.c27
-rw-r--r--drivers/usb/eth/usb_ether.c2
-rw-r--r--drivers/usb/host/ehci-hcd.c6
-rw-r--r--drivers/usb/host/usb-uclass.c8
-rw-r--r--drivers/usb/host/xhci.c4
-rw-r--r--drivers/usb/musb-new/usb-compat.h10
7 files changed, 21 insertions, 41 deletions
diff --git a/drivers/usb/dwc3/linux-compat.h b/drivers/usb/dwc3/linux-compat.h
index b36f68f..6c9c279 100644
--- a/drivers/usb/dwc3/linux-compat.h
+++ b/drivers/usb/dwc3/linux-compat.h
@@ -30,9 +30,4 @@ static inline void *devm_kzalloc(struct device *dev, unsigned int size,
{
return kzalloc(size, flags);
}
-
-static inline void *kmalloc_array(size_t n, size_t size, gfp_t flags)
-{
- return kzalloc(n * size, flags);
-}
#endif
diff --git a/drivers/usb/eth/smsc95xx.c b/drivers/usb/eth/smsc95xx.c
index dc8fa88..202e482 100644
--- a/drivers/usb/eth/smsc95xx.c
+++ b/drivers/usb/eth/smsc95xx.c
@@ -120,8 +120,9 @@
/* Some extra defines */
#define HS_USB_PKT_SIZE 512
#define FS_USB_PKT_SIZE 64
-#define DEFAULT_HS_BURST_CAP_SIZE (16 * 1024 + 5 * HS_USB_PKT_SIZE)
-#define DEFAULT_FS_BURST_CAP_SIZE (6 * 1024 + 33 * FS_USB_PKT_SIZE)
+/* 5/33 is lower limit for BURST_CAP to work */
+#define DEFAULT_HS_BURST_CAP_SIZE (5 * HS_USB_PKT_SIZE)
+#define DEFAULT_FS_BURST_CAP_SIZE (33 * FS_USB_PKT_SIZE)
#define DEFAULT_BULK_IN_DELAY 0x00002000
#define MAX_SINGLE_PACKET_SIZE 2048
#define EEPROM_MAC_OFFSET 0x01
@@ -135,7 +136,7 @@
#define USB_BULK_SEND_TIMEOUT 5000
#define USB_BULK_RECV_TIMEOUT 5000
-#define RX_URB_SIZE 2048
+#define RX_URB_SIZE DEFAULT_HS_BURST_CAP_SIZE
#define PHY_CONNECT_TIMEOUT 5000
#define TURBO_MODE
@@ -529,22 +530,6 @@ static int smsc95xx_init_common(struct usb_device *udev, struct ueth_data *dev,
if (ret < 0)
return ret;
- ret = smsc95xx_read_reg(udev, HW_CFG, &read_buf);
- if (ret < 0)
- return ret;
- debug("Read Value from HW_CFG : 0x%08x\n", read_buf);
-
- read_buf |= HW_CFG_BIR_;
- ret = smsc95xx_write_reg(udev, HW_CFG, read_buf);
- if (ret < 0)
- return ret;
-
- ret = smsc95xx_read_reg(udev, HW_CFG, &read_buf);
- if (ret < 0)
- return ret;
- debug("Read Value from HW_CFG after writing "
- "HW_CFG_BIR_: 0x%08x\n", read_buf);
-
#ifdef TURBO_MODE
if (dev->pusb_dev->speed == USB_SPEED_HIGH) {
burst_cap = DEFAULT_HS_BURST_CAP_SIZE / HS_USB_PKT_SIZE;
@@ -945,7 +930,7 @@ int smsc95xx_eth_get_info(struct usb_device *dev, struct ueth_data *ss,
#ifdef CONFIG_DM_ETH
static int smsc95xx_eth_start(struct udevice *dev)
{
- struct usb_device *udev = dev_get_parentdata(dev);
+ struct usb_device *udev = dev_get_parent_priv(dev);
struct smsc95xx_private *priv = dev_get_priv(dev);
struct eth_pdata *pdata = dev_get_platdata(dev);
@@ -1029,7 +1014,7 @@ static int smsc95xx_free_pkt(struct udevice *dev, uchar *packet, int packet_len)
int smsc95xx_write_hwaddr(struct udevice *dev)
{
- struct usb_device *udev = dev_get_parentdata(dev);
+ struct usb_device *udev = dev_get_parent_priv(dev);
struct eth_pdata *pdata = dev_get_platdata(dev);
struct smsc95xx_private *priv = dev_get_priv(dev);
diff --git a/drivers/usb/eth/usb_ether.c b/drivers/usb/eth/usb_ether.c
index 3c3e082..62d20f0 100644
--- a/drivers/usb/eth/usb_ether.c
+++ b/drivers/usb/eth/usb_ether.c
@@ -19,7 +19,7 @@
int usb_ether_register(struct udevice *dev, struct ueth_data *ueth, int rxsize)
{
- struct usb_device *udev = dev_get_parentdata(dev);
+ struct usb_device *udev = dev_get_parent_priv(dev);
struct usb_interface_descriptor *iface_desc;
bool ep_in_found = false, ep_out_found = false;
struct usb_interface *iface;
diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c
index 135ef72..c85dbce 100644
--- a/drivers/usb/host/ehci-hcd.c
+++ b/drivers/usb/host/ehci-hcd.c
@@ -303,7 +303,7 @@ static void ehci_update_endpt2_dev_n_port(struct usb_device *udev,
ttdev = udev;
parent = udev->dev;
- uparent = dev_get_parentdata(parent);
+ uparent = dev_get_parent_priv(parent);
while (uparent->speed != USB_SPEED_HIGH) {
struct udevice *dev = parent;
@@ -313,9 +313,9 @@ static void ehci_update_endpt2_dev_n_port(struct usb_device *udev,
return;
}
- ttdev = dev_get_parentdata(dev);
+ ttdev = dev_get_parent_priv(dev);
parent = dev->parent;
- uparent = dev_get_parentdata(parent);
+ uparent = dev_get_parent_priv(parent);
}
parent_devnum = uparent->devnum;
#else
diff --git a/drivers/usb/host/usb-uclass.c b/drivers/usb/host/usb-uclass.c
index c66ebb6..7f6a9a6 100644
--- a/drivers/usb/host/usb-uclass.c
+++ b/drivers/usb/host/usb-uclass.c
@@ -289,7 +289,7 @@ static struct usb_device *find_child_devnum(struct udevice *parent, int devnum)
if (!device_active(parent))
return NULL;
- udev = dev_get_parentdata(parent);
+ udev = dev_get_parent_priv(parent);
if (udev->devnum == devnum)
return udev;
@@ -575,7 +575,7 @@ int usb_scan_device(struct udevice *parent, int port,
udev->portnr = port;
debug("Calling usb_setup_device(), portnr=%d\n", udev->portnr);
parent_udev = device_get_uclass_id(parent) == UCLASS_USB_HUB ?
- dev_get_parentdata(parent) : NULL;
+ dev_get_parent_priv(parent) : NULL;
ret = usb_setup_device(udev, priv->desc_before_addr, parent_udev);
debug("read_descriptor for '%s': ret=%d\n", parent->name, ret);
if (ret)
@@ -638,7 +638,7 @@ int usb_detect_change(void)
if (!device_active(dev))
continue;
- udev = dev_get_parentdata(dev);
+ udev = dev_get_parent_priv(dev);
if (usb_get_port_status(udev, udev->portnr, &status)
< 0)
/* USB request failed */
@@ -694,7 +694,7 @@ struct udevice *usb_get_bus(struct udevice *dev)
int usb_child_pre_probe(struct udevice *dev)
{
- struct usb_device *udev = dev_get_parentdata(dev);
+ struct usb_device *udev = dev_get_parent_priv(dev);
struct usb_dev_platdata *plat = dev_get_parent_platdata(dev);
int ret;
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index 307e1a6..ca598aa 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -1119,7 +1119,7 @@ static struct usb_device *get_usb_device(struct udevice *dev)
if (device_get_uclass_id(dev) == UCLASS_USB)
udev = dev_get_uclass_priv(dev);
else
- udev = dev_get_parentdata(dev);
+ udev = dev_get_parent_priv(dev);
return udev;
}
@@ -1150,7 +1150,7 @@ static int xhci_submit_control_msg(struct udevice *dev, struct usb_device *udev,
} else {
while (!is_root_hub(hub->parent))
hub = hub->parent;
- uhop = dev_get_parentdata(hub);
+ uhop = dev_get_parent_priv(hub);
root_portnr = uhop->portnr;
}
}
diff --git a/drivers/usb/musb-new/usb-compat.h b/drivers/usb/musb-new/usb-compat.h
index 53fe4ff..1c41e2a 100644
--- a/drivers/usb/musb-new/usb-compat.h
+++ b/drivers/usb/musb-new/usb-compat.h
@@ -82,7 +82,7 @@ static inline u16 find_tt(struct usb_device *udev)
*/
ttdev = udev;
parent = udev->dev;
- uparent = dev_get_parentdata(parent);
+ uparent = dev_get_parent_priv(parent);
while (uparent->speed != USB_SPEED_HIGH) {
struct udevice *dev = parent;
@@ -92,9 +92,9 @@ static inline u16 find_tt(struct usb_device *udev)
return 0;
}
- ttdev = dev_get_parentdata(dev);
+ ttdev = dev_get_parent_priv(dev);
parent = dev->parent;
- uparent = dev_get_parentdata(parent);
+ uparent = dev_get_parent_priv(parent);
}
return (uparent->devnum << 8) | (ttdev->portnr - 1);
@@ -119,12 +119,12 @@ static inline struct usb_device *usb_dev_get_parent(struct usb_device *udev)
* If these 2 are not the same we are being called from
* usb_scan_device() and udev itself is the parent.
*/
- if (dev_get_parentdata(udev->dev) != udev)
+ if (dev_get_parent_priv(udev->dev) != udev)
return udev;
/* We are being called normally, use the parent pointer */
if (device_get_uclass_id(parent) == UCLASS_USB_HUB)
- return dev_get_parentdata(parent);
+ return dev_get_parent_priv(parent);
return NULL;
}