On 18/06/10 00:47, Joe Perches wrote: > 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? It's only set by a few drivers currently. Perhaps it should be set by comedi_alloc_board_minor() using the 'hardware_device' parameter. However, in the case of "legacy" comedi devices (the ones not configured automatically via comedi_auto_config()), that parameter will be NULL. On a side note, if comedi_alloc_board_minor() were changed to call comedi_set_hw_dev(), then the driver "_attach" routines could be changed to check that they really are attaching to the correct hardware device rather than relying on the struct comedi_devconfig options array values (which aren't set anyway for auto-configured USB devices). comedi_set_hw_dev() also ought to return early if the new hw_dev value is the same as the previous value. -- -=( Ian Abbott @ MEV Ltd. E-mail: <abbotti@xxxxxxxxx> )=- -=( Tel: +44 (0)161 477 1898 FAX: +44 (0)161 718 3587 )=- _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel