Re: [alsa-devel] Improving or replacing snd_printk()

From: Joe Perches
Date: Thu May 30 2013 - 16:30:24 EST


On Thu, 2013-05-30 at 15:43 -0400, Alan Stern wrote:
> On Thu, 30 May 2013, Jaroslav Kysela wrote:
>
> > Date 30.5.2013 20:14, Alan Stern wrote:
> > > On Wed, 29 May 2013, Joe Perches wrote:
> > >
> > >> On Wed, 2013-05-29 at 15:27 -0400, Alan Stern wrote:
> > >>> Has there been any thought of improving snd_printk(), or even better,
> > >>> changing the call sites to use the dev_*() routines instead?
> > >>
> > >> Perhaps better would be to add and use some combination of
> > >> type specific logging message functions/macros like:
> > >>
> > >> void snd_<level>(const struct snd_device *dev, const char *fmt, ...)
> > >> void snd_card_<level>(const struct snd_card *card, const char *fmt, ...)
> > >> void snd_ac97_<level>(const struct snd_ac97 *ac97, const char *fmt, ...)
> > >>
> > >> allowing NULL as the type pointer when necessary/appropriate.
> > >
> > > Almost anything would be better than the current situation. The only
> > > enhancement provided by CONFIG_SND_VERBOSE_PRINTK is to print the
> > > filename and line number, which is relatively unhelpful (unless there
> > > are multiple copies of the same message in several places).
> >
> > I don't think that it's useless to see the origin of the source message
> > from the first glance. It may be improved, of course, but adding more
> > and more functions with minor benefits is another step to another hell.
>
> Maybe so. However, including the device and driver names in the log
> messages is a major benefit, not a minor one.
>
> I'd be happy to have just a snd_<level> family of functions, with
> snd_printk and snd_printd deprecated. Does anybody object?

Not me.

I think the benefit of the consolidated family of
macros/functions is avoiding the visual clutter of:

dev_<level>(&pointer->deref->deref->dev,
fmt, ...)

and potential uses of

if (pointer->deref && pointer->deref->deref)
dev_<level>(etc...)
else
pr_<level>("unregistered dev: " fmt, ...)


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