On Thu, 2010-06-17 at 16:28 -0700, Greg KH wrote: > On Thu, Jun 17, 2010 at 04:15:58PM -0700, Joe Perches wrote: > > On Thu, 2010-06-17 at 15:51 -0700, Greg KH wrote: > > > On Sat, Jun 12, 2010 at 10:30:50PM -0700, Joe Perches wrote: > > > > On Sat, 2010-06-12 at 22:07 -0700, Joe Perches wrote: > > > > > 2: Create some comedi logging functions or macros like: > > > > > comedi_<level>(fmt, arg...) (ie: comedi_info, comedi_err, etc) > > > > > where "comedi:" is always prefixed and an > > > > > optional #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt > > > > > could be used. > > > > > I would prefer the conversion of everything over to the dev_printk() > > > versions instead of creating a new macro for every individual subsystem. > > > That way you get the advantage of logging everything in the common > > > format and the dynamic debug functionality as well. > > > > What I posted has dynamic_debug. > > > > +#elif defined(CONFIG_DYNAMIC_DEBUG) > > +/* dynamic_pr_debug() uses pr_fmt() internally so we don't need it here */ > > +#define comedi_debug(fmt, ...) \ > > + dynamic_pr_debug(fmt, ##__VA_ARGS__) > > > > As far as I know, comedi doesn't always take a struct device *. > > I believe it's only used when there's a DMA. > > No, there's a struct device down in the device almost always. > > > In struct comedi_device, there are two struct device *'s. > > > > struct device *class_dev; > > ... > > struct device *hw_dev; > > hw_dev is what we want to use. Perhaps Ian or Frank might clarify if that's reasonable. It doesn't look like it to me. Look at comedi_set_hw_dev. See how often it's used? _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel