aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans de Goede2015-06-17 21:33:48 +0200
committerSimon Glass2015-07-21 17:39:35 -0600
commit8802f56349eef1eedaf12238f84810d0691aaf34 (patch)
treebfc31d7d21a595b0b37e7de2fbb5cc84713e2aa4
parent682c9f8dfc47df94df061df58345d84f69be0a34 (diff)
usb: Add an usb_device parameter to usb_reset_root_port
Add an usb_device parameter to usb_reset_root_port so that it knows which root-port it is resetting. This is necessary for proper device-model support for usb_reset_root_port. Also remove a duplicate declaration of usb_reset_root_port() from usb.h . Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Simon Glass <sjg@chromium.org>
-rw-r--r--common/usb.c2
-rw-r--r--drivers/usb/host/usb-uclass.c2
-rw-r--r--drivers/usb/musb-new/musb_uboot.c4
-rw-r--r--include/usb.h8
4 files changed, 6 insertions, 10 deletions
diff --git a/common/usb.c b/common/usb.c
index d204ba26f59..fbaf8ecbe23 100644
--- a/common/usb.c
+++ b/common/usb.c
@@ -924,7 +924,7 @@ static int usb_hub_port_reset(struct usb_device *dev, struct usb_device *hub)
return err;
}
} else {
- usb_reset_root_port();
+ usb_reset_root_port(dev);
}
return 0;
diff --git a/drivers/usb/host/usb-uclass.c b/drivers/usb/host/usb-uclass.c
index 18680c9d3be..bce6cec1b5c 100644
--- a/drivers/usb/host/usb-uclass.c
+++ b/drivers/usb/host/usb-uclass.c
@@ -265,7 +265,7 @@ int usb_init(void)
return usb_started ? 0 : -1;
}
-int usb_reset_root_port(void)
+int usb_reset_root_port(struct usb_device *udev)
{
return -ENOSYS;
}
diff --git a/drivers/usb/musb-new/musb_uboot.c b/drivers/usb/musb-new/musb_uboot.c
index d1ee5f8d065..1bf676c589b 100644
--- a/drivers/usb/musb-new/musb_uboot.c
+++ b/drivers/usb/musb-new/musb_uboot.c
@@ -180,7 +180,7 @@ void *poll_int_queue(struct usb_device *dev, struct int_queue *queue)
return NULL; /* URB still pending */
}
-int usb_reset_root_port(void)
+int usb_reset_root_port(struct usb_device *dev)
{
void *mbase = host->mregs;
u8 power;
@@ -232,7 +232,7 @@ int usb_lowlevel_init(int index, enum usb_init_type init, void **controller)
if (get_timer(0) >= timeout)
return -ENODEV;
- usb_reset_root_port();
+ usb_reset_root_port(NULL);
host->is_active = 1;
hcd.hcd_priv = host;
diff --git a/include/usb.h b/include/usb.h
index 8a71e282533..2bb6a063c6b 100644
--- a/include/usb.h
+++ b/include/usb.h
@@ -175,9 +175,9 @@ int usb_lowlevel_init(int index, enum usb_init_type init, void **controller);
int usb_lowlevel_stop(int index);
#if defined(CONFIG_MUSB_HOST) || defined(CONFIG_DM_USB)
-int usb_reset_root_port(void);
+int usb_reset_root_port(struct usb_device *dev);
#else
-#define usb_reset_root_port()
+#define usb_reset_root_port(dev)
#endif
int submit_bulk_msg(struct usb_device *dev, unsigned long pipe,
@@ -710,10 +710,6 @@ struct dm_usb_ops {
#define usb_get_ops(dev) ((struct dm_usb_ops *)(dev)->driver->ops)
#define usb_get_emul_ops(dev) ((struct dm_usb_ops *)(dev)->driver->ops)
-#ifdef CONFIG_MUSB_HOST
-int usb_reset_root_port(void);
-#endif
-
/**
* usb_get_dev_index() - look up a device index number
*