On Fri, 31 May 2013, Takashi Iwai wrote: > > I don't see the complexity/hell in adding functions > > for specific types of struct * to reduce the complexity > > of the code though. Centralizing those indirections > > into functions also generally reduces overall code size. > > I don't mind to add the struct pointer to new snd_*() -- if we really > introduce them. The bigger question is whether we really need to > introduce such, and if yes, what variants. And for that, I don't > think we need to add many functions. Maybe snd_card_<level>() would > be good. But others don't seem to make sense to me (remember that I > suggest dropping CONFIG_SND_VERBOSE_PRINTK).
struct snd_card contains pointers to two different devices: dev and card_dev. Some contexts might want to use one of them for log messages while other contexts might want to use the other. I guess defining snd_card_*() to use card->card_dev makes the most sense. If some code wants to use card->dev instead, it can pass that as the first argument to dev_*(). The most commonly used levels seem to be err, warn, info, and dbg. Those ought to be enough. In fact, you probably could getting along without warn -- just err, info, and dbg. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/