Re: driver probe error reporting

From: Rafael J. Wysocki
Date: Wed Dec 17 2008 - 16:45:28 EST


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
--
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/