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. - : send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html