|
@@ -491,7 +491,7 @@ static int ehci_wait_for_port(int port);
|
|
|
* Return -ENODEV for any general failure
|
|
|
* Return -EIO if wait for port fails
|
|
|
*/
|
|
|
-int dbgp_external_startup(void)
|
|
|
+static int _dbgp_external_startup(void)
|
|
|
{
|
|
|
int devnum;
|
|
|
struct usb_debug_descriptor dbgp_desc;
|
|
@@ -613,6 +613,11 @@ err:
|
|
|
goto try_again;
|
|
|
return -ENODEV;
|
|
|
}
|
|
|
+
|
|
|
+int dbgp_external_startup(struct usb_hcd *hcd)
|
|
|
+{
|
|
|
+ return xen_dbgp_external_startup(hcd) ?: _dbgp_external_startup();
|
|
|
+}
|
|
|
EXPORT_SYMBOL_GPL(dbgp_external_startup);
|
|
|
|
|
|
static int ehci_reset_port(int port)
|
|
@@ -804,7 +809,7 @@ try_next_port:
|
|
|
dbgp_ehci_status("ehci skip - already configured");
|
|
|
}
|
|
|
|
|
|
- ret = dbgp_external_startup();
|
|
|
+ ret = _dbgp_external_startup();
|
|
|
if (ret == -EIO)
|
|
|
goto next_debug_port;
|
|
|
|
|
@@ -934,7 +939,7 @@ static void early_dbgp_write(struct console *con, const char *str, u32 n)
|
|
|
ctrl = readl(&ehci_debug->control);
|
|
|
if (!(ctrl & DBGP_ENABLED)) {
|
|
|
dbgp_not_safe = 1;
|
|
|
- dbgp_external_startup();
|
|
|
+ _dbgp_external_startup();
|
|
|
} else {
|
|
|
cmd |= CMD_RUN;
|
|
|
writel(cmd, &ehci_regs->command);
|
|
@@ -974,10 +979,14 @@ struct console early_dbgp_console = {
|
|
|
.index = -1,
|
|
|
};
|
|
|
|
|
|
-int dbgp_reset_prep(void)
|
|
|
+int dbgp_reset_prep(struct usb_hcd *hcd)
|
|
|
{
|
|
|
+ int ret = xen_dbgp_reset_prep(hcd);
|
|
|
u32 ctrl;
|
|
|
|
|
|
+ if (ret)
|
|
|
+ return ret;
|
|
|
+
|
|
|
dbgp_not_safe = 1;
|
|
|
if (!ehci_debug)
|
|
|
return 0;
|