RE: [PATCH] staging: comedi: cleanup all the comedi_driver 'detach'functions

From: H Hartley Sweeten
Date: Fri May 18 2012 - 12:56:18 EST


On Friday, May 18, 2012 3:23 AM, Ian Abbott wrote:
> On 2012-05-18 01:11, H Hartley Sweeten wrote:
>> 2. Remove all the printk noise in the detach functions
>>
>> All of the printk output is really just noise. The user did a rmmod to
>> unload the driver, we really don't need to tell them about it.
>
> I disagree. It's not that unusual for drivers to report device removal.
> (It's not necessarily due to an rmmod either, not that that really
> matters.)

If you feel the messages have value I think the comedi core can
handle displaying them instead of having the message in every
driver.

Can you test this patch and let me know what the resulting output
is? You may need to change the dev_dbg to dev_info or something
else if you don't have the proper kernel debugging enabled.

Thanks,
Hartley

---

From: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>

staging: comedi: have the comedi core output the driver detach message

Instead of having a "detach" message in every comedi driver, have the
comedi core output the message. Output the message using dev_dbg.

Also, change the "BUG" message from a printk format to a dev_warn
format.

Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>

---

diff --git a/drivers/staging/comedi/drivers.c b/drivers/staging/comedi/drivers.c
index 1c3d638..d6bb1f9 100644
--- a/drivers/staging/comedi/drivers.c
+++ b/drivers/staging/comedi/drivers.c
@@ -91,11 +91,14 @@ static void cleanup_device(struct comedi_device *dev)
static void __comedi_device_detach(struct comedi_device *dev)
{
dev->attached = 0;
- if (dev->driver)
+ if (dev->driver) {
dev->driver->detach(dev);
- else
- printk(KERN_WARNING
+ dev_dbg(dev->class_dev, "%s detached\n",
+ dev->driver->driver_name);
+ } else {
+ dev_warn(dev->class_dev,
"BUG: dev->driver=NULL in comedi_device_detach()\n");
+ }
cleanup_device(dev);
}

¢éì®&Þ~º&¶¬–+-±éÝ¥Šw®žË±Êâmébžìdz¹Þ)í…æèw*jg¬±¨¶‰šŽŠÝj/êäz¹ÞŠà2ŠÞ¨è­Ú&¢)ß«a¶Úþø®G«éh®æj:+v‰¨Šwè†Ù>Wš±êÞiÛaxPjØm¶Ÿÿà -»+ƒùdš_