Re: advice on using dev_info(), dev_err() and friends (was: [PATCH 2/9] isdn4linux: Siemens Gigaset drivers - common module)

From: Greg KH
Date: Tue Feb 21 2006 - 17:58:49 EST


On Tue, Feb 21, 2006 at 06:01:14PM +0100, Tilman Schmidt wrote:
> Hello Greg,
>
> thank you for your comments. Just a few follow-up questions.
>
> On 15.02.2006 04:27, Greg KH wrote:
> > On Sat, Feb 11, 2006 at 03:52:27PM +0100, Hansjoerg Lipp wrote:
> >
> >>--- linux-2.6.16-rc2/drivers/isdn/gigaset/gigaset.h 1970-01-01 01:00:00.000000000 +0100
> >>+++ linux-2.6.16-rc2-gig/drivers/isdn/gigaset/gigaset.h 2006-02-11 15:20:26.000000000 +0100
> [...]
> >>+#undef info
> >>+#define info(format, arg...) printk(KERN_INFO "%s: " format "\n", THIS_MODULE ? THIS_MODULE->name : "gigaset_hw" , ## arg)
> >
> > Care to use the dev_info(), dev_err() and other dev_* friends instead of
> > rolling your own? It gives you a much easier and standardised way of
> > identifying the driver and individual device that the message is
> > happening for.
>
> This turns out to be surprisingly tricky, as these macros take a device
> pointer argument which mustn't be NULL either.
>
> Could you please advise how to use these when I do not have a device
> pointer available (ie. before the probe method has been called)

That's very hard, and I would not worry about that situation.

> or when there is a risk of it being no longer valid (ie. the USB
> device has been unplugged)?

If it's been unplugged, and you already saved a reference to it with a
call to "usb_get_dev()" you are safe, and can use the pointer. If you
have not called it, then your code needs to be fixed :)

thanks,

greg k-h
-
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/