Hi, On 01/25/2017 05:57 PM, Peter Zijlstra wrote: > On Wed, Jan 25, 2017 at 10:23:55AM +0100, Ingo Molnar wrote: >> * Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> wrote: >> >>>> Hiding essentially an early udelay() implementation in an early-printk driver is >>>> ugly and counterproductive. >> Yeah - so could we do this in a more generic fashion, not in the early-printk >> driver but in core x86 code? > So ideally early_printk() would not depend on udelay() being setup. > > In fact, ideally early_printk() wouldn't even use udelay -- this very > much includes its own copy. > > Why is udelay() required? Can't the thing simply poll its own register > state to wait for completion? In my driver, udelay() is mostly used to handle time out. Xdbc hides most USB things in its firmware. Early printk driver only needs to setup the registers/data structures and wait until link ready or time out. Without udelay(), I have no means to convert the polling times into waiting time. Best regards, Lu Baolu > > This all sounds like xdbc cruft is still unreliably garbage.. > -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html