On Fri, Apr 13, 2012 at 11:19:37AM -0400, Alan Stern wrote: > On Fri, 13 Apr 2012, Johannes Stezenbach wrote: > > > On Fri, Apr 13, 2012 at 10:35:59AM -0400, Alan Stern wrote: > > > On Fri, 13 Apr 2012, Johannes Stezenbach wrote: > > > > > > > > Does dynamic debug offer an "is the message two lines below enabled" test? > > > > Simply changing the "#ifdef DEBUG" for dbg_port_buf() > > > > to "#if defined(DEBUG) || defined(CONFIG_DYNAMIC_DEBUG)" > > > > is probably not acceptable due to the overhead of dbg_port_buf()? > > > > > > I don't understand your question. Doesn't dbg_port_buf need to be > > > defined whenever dynamic debugging is enabled? > > > > > > Alternatively, the definition of dbg_port_buf (and related routines) in > > > the !defined(DEBUG) case could be changed; you could add > > > > > > buf[0] = 0; > > > > > > That way you wouldn't get garbage out, although you wouldn't get > > > anything useful either. > > > > The ideal solution I'm looking for gives useful output > > when dynamic debugging is enabled for ehci, but does no > > useless string formatting when CONFIG_DYNAMIC_DEBUG is y > > but the dynamic debug for ehci is disabled. > > But there is no such thing as dynamic debug for ehci, is there? > There's a separate dynamic debug setting for each dev_dbg statement. > So your ideal solution makes no sense. When CONFIG_DYNAMIC_DEBUG=y but ehci debug is disabled in /sys/kernel/debug/dynamic_debug/control, then dbg_port() calls dbg_port_buf() which would format the string, then calls ehci_dbg() which calls dev_dbg() which discards it. Does it make sense now? Thanks, Johannes -- 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