[PATCH 0/10] x86: EHCI and earlyprintk= improvements (Round 2)

From: Jason Wessel
Date: Fri Jul 31 2009 - 11:10:28 EST


Greg KH requested a re-post of this patch series, so here is round 2.
The only implementation change here was in patch 7 of 10 per comments
from Alan Stern. The rest is just context changes from the typical
kernel churn.

--

This patch series against the 2.6.31-rc3 covers improving the
reliability of earlyprintk when using a usb debug device connected to
an EHCI debug controller.

The only patch that is not directly related to the USB earlyprintk is
the 5th in the series which changes the console registration such that
you can have more than one earlyprintk device. It is plausible to
drop this patch if folks object to the idea or implementation.

These patches were heavily test on 12 different systems with a total
of 7 different EHCI controllers on both the x86_64 and i386
architectures.

The series starts by moving the EHCI debug code out of the
arch/x86/kernel/early_printk.c and over to under the
drivers/usb/early/ehci-dbgp.c. It is plausible to use this code on
other architectures beyond x86. This also allows the earlyprintk.c to
stay a bit cleaner, since it is primarily intended to handle the
"earlyprintk=" setup.

The other key changes are:
* Update the documentation to reflect the usage constraints
* The earlyprintk=keep,... works correctly with dbgp
* Make the cr nl handling for dbgp the same as the uart drivers
* Numerous errata and initialization fixes to make the usb
debug device work with a wide range of EHCI controllers

Thanks,
Jason.

The following changes since commit b592972493c38665efd7d429a01b23fcb21e331a:
Linus Torvalds (1):
Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/.../tip/l
inux-2.6-tip

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb.git for_gregkh_2

Jason Wessel (10):
ehci early_printk: split ehci debug driver from early_printk.c
usb,early_printk: insert cr prior to nl as needed
ehci-dbgp: Execute early BIOS hand off
usb,early_printk: EHCI debug controller initialization delays
printk,early_printk,console: Allow more than one early console
ehci-dbgp: stability improvements and external re-init
ehci-dbgp,ehci: Allow early or late use of the dbgp device
ehci-dbgp: errata for EHCI debug controller initialization
ehci-dbgp: errata for EHCI debug/host controller synchronization
ehci-dbgp,documentation: Documentation updates for ehci-dbgp

Documentation/kernel-parameters.txt | 2 +-
Documentation/x86/earlyprintk.txt | 39 ++-
arch/x86/kernel/early_printk.c | 780 ++--------------------------
drivers/usb/Makefile | 1 +
drivers/usb/early/Makefile | 5 +
drivers/usb/early/ehci-dbgp.c | 996 +++++++++++++++++++++++++++++++++++
drivers/usb/host/ehci-hcd.c | 8 +
drivers/usb/host/ehci-hub.c | 10 +
drivers/usb/host/ehci-pci.c | 39 +-
include/linux/usb/ehci_def.h | 22 +
kernel/printk.c | 41 +-
11 files changed, 1158 insertions(+), 785 deletions(-)
create mode 100644 drivers/usb/early/Makefile
create mode 100644 drivers/usb/early/ehci-dbgp.c
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/