aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/early/ehci-dbgp.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/early/ehci-dbgp.c')
-rw-r--r--drivers/usb/early/ehci-dbgp.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/drivers/usb/early/ehci-dbgp.c b/drivers/usb/early/ehci-dbgp.c
index 06e05ea17871..b88cb65b64e0 100644
--- a/drivers/usb/early/ehci-dbgp.c
+++ b/drivers/usb/early/ehci-dbgp.c
@@ -933,3 +933,26 @@ struct console early_dbgp_console = {
933 .flags = CON_PRINTBUFFER, 933 .flags = CON_PRINTBUFFER,
934 .index = -1, 934 .index = -1,
935}; 935};
936
937int dbgp_reset_prep(void)
938{
939 u32 ctrl;
940
941 dbgp_not_safe = 1;
942 if (!ehci_debug)
943 return 0;
944
945 if (early_dbgp_console.index != -1 &&
946 !(early_dbgp_console.flags & CON_BOOT))
947 return 1;
948 /* This means the console is not initialized, or should get
949 * shutdown so as to allow for reuse of the usb device, which
950 * means it is time to shutdown the usb debug port. */
951 ctrl = readl(&ehci_debug->control);
952 if (ctrl & DBGP_ENABLED) {
953 ctrl &= ~(DBGP_CLAIM);
954 writel(ctrl, &ehci_debug->control);
955 }
956 return 0;
957}
958EXPORT_SYMBOL_GPL(dbgp_reset_prep);