Re: [PATCH v6 03/12] usb: dbc: probe and setup xhci debug capability

From: Lu Baolu
Date: Tue Jan 26 2016 - 05:28:30 EST

On 01/26/2016 03:36 PM, Greg Kroah-Hartman wrote:
> On Tue, Jan 26, 2016 at 12:14:16PM +0800, Lu Baolu wrote:
>> xHCI debug capability (DbC) is an optional functionality provided
>> by an xHCI host controller. Software learns this capability by
>> walking through the extended capability list in mmio of the host.
>> This patch introduces the code to probe and initialize the debug
>> capability hardware during early boot. With hardware initialization
>> done, the debug target (system under debug which has DbC enabled)
>> will present a debug device through the debug port. The debug device
>> is fully compliant with the USB framework and provides the equivalent
>> of a very high performance (USB3) full-duplex serial link between the
>> debug host and target.
>> Signed-off-by: Lu Baolu <>
>> ---
>> arch/x86/Kconfig.debug | 12 +
>> drivers/usb/early/Makefile | 1 +
> Why did you make a whole new subdirectory, just for your one driver?
> Please don't do that, just put it in the host controller directory where
> it belongs...

I am sorry, but driver/usb/early is an existing subdirectory.

$ ls drivers/usb/early/
ehci-dbgp.c Makefile

If I understand it correctly, the "early" subdirectory is used to
keep drivers which should be loaded during early boot stage.
We already have code for EHCI debug port there with the
filename ehci-dbgp.c. It is used to aid the developer to get
kernel messages during early boot through EHCI debug port.

What I have done is to implement the same thing with
xHCI debug port. It's not part of xHCI host controller driver
and it is executed even before xHCI driver is loaded.