Re: dev_printk output

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, May 20, 2006 at 02:21:35PM -0700, Greg KH wrote:
> On Fri, May 19, 2006 at 10:55:44PM -0600, Matthew Wilcox wrote:
> > On Fri, May 19, 2006 at 01:28:47PM -0700, Greg KH wrote:
> > > On Fri, May 19, 2006 at 02:11:42PM -0600, Matthew Wilcox wrote:
> > > > On Thu, May 18, 2006 at 01:09:57PM -0700, Patrick Mansfield wrote:
> > > > > Funky how loading sd after sg changes the output ... and using the driver
> > > > > name as a prefix sometimes messes this up for scsi.
> > > > > 
> > > > >  0:0:0:0: Attached scsi generic sg0 type 0
> > > > > sd 1:0:0:0: Attached scsi generic sg0 type 0
> > > 
> > > Something like (untested):
> > > 	printk(level "%s %s %s: " format , (dev)->bus ? (dev)->bus->name : "", (dev)->driver ? (dev)->driver->name : "", (dev)->bus_id , ## arg)
> > 
> > Then we still get the inconsistency of device names changing as drivers
> > are loaded.
> 
> The bus id doesn't change, just the "hint" as to who is controling it at
> that point in time.  Which is something that is needed/wanted by a lot
> of people.

Sure, but it's also unwanted by others ;-)  There's no reason we have to
have a 'one size fits all' solution.  Let's add a dev_bus_printk() (or
maybe just bus_printk()?) that does
	printk(level "%s %s: " format , (dev)->bus ? (dev)->bus->name : "", \
		(dev)->bus_id , ## arg)

or we could rename the current dev_printk() implementation to drv_printk()
and have dev_printk() do the above.  or we could do something like:

#define DEV_DRV(dev)	(dev)->driver ? (dev)->driver->name : ""
#define DEV_BUS(dev)	(dev)->bus ? (dev)->bus->name : ""
#define dev_printk(level, dev, format, arg...)  \
	printk(level "%s %s: " format, DEV_BUS(dev), (dev)->bus_id , ## arg)
#define drv_printk(level, dev, format, arg...)  \
	printk(level "%s %s %s: " format, DEV_DRV(dev), DEV_BUS(dev), \
		(dev)->bus_id , ## arg)

Obviously, we could argue about the exact naming until the cows come home, 
so let me say that I don't really care.  I just want something that
looks like "scsi 0:0:0:0" rather than "sd 0:0:0:0" or " 0:0:0:0",
depending on whether sd has been loaded or not.

If you're still reluctant, think about it this way.  There are bits of
the kernel which need to tell the user about a device that may, or may
not have a driver attached.  The scsi midlayer is one, and I'm sure
there are others.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux