Messages in this thread | | | From | "Rafael J. Wysocki" <> | Subject | Re: driver probe error reporting | Date | Wed, 17 Dec 2008 22:44:34 +0100 |
| |
On Wednesday, 17 of December 2008, Greg KH wrote: > On Wed, Dec 17, 2008 at 01:44:52PM +0100, Rafael J. Wysocki wrote: > > On Wednesday, 17 of December 2008, Greg KH wrote: > > > On Mon, Dec 15, 2008 at 11:15:02PM +0000, Ben Dooks wrote: > > > > This runs on from the discussion in [1] on how drivers (especially > > > > one using a variant of the device driver framework) report errors > > > > on probe. There are two main classes of errors, the type which happen > > > > at probe time (device not responding, not enough memory, etc) and > > > > errors that are due to configuration such as missing device configuration > > > > data. > > > > > > > > It has been suggested that using dev_err() to report any configuration > > > > data error is a bloat of code as a properly debugged kernel should never > > > > find itself in this state. > > > > > > > > Unfortunatley the only diagnostic dev_xxx() macro is dev_dbg() which is > > > > only available if the the driver code itself defines DEBUG. I would think > > > > it would be better to have a macro that can be turned on/off by a kernel > > > > configuration for when debugging which turns on the messages that are > > > > important to developers creating new machine/arch support but disabled > > > > for shipping kernels. > > > > > > Not anymore, dev_dbg() can be dynamically switched on and off at runtime > > > in 2.6.28. > > > > IMO, there's a problem with that, because it turns on _all_ of the debug info > > from the entire kernel, which is _never_ necessary. > > No, it is turned on and off on a per-module basis, not for the whole > kernel (although that is possible if you so desire.) > > So this should not be an issue.
Well, recently I've been debugging suspend-resume quite a lot and I had to compile it out. I use verbose PM debugging for that, which is based on dev_dbg(), and it is very inconvenient with dynamic printk.
Thanks, Rafael
| |