Re: What should be done with wrong warning "please use bus_type methods." on sd, sr, st and osst?

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

 



On Mon, 2008-03-24 at 10:59 -0700, Greg KH wrote:
> On Mon, Mar 24, 2008 at 10:24:07AM -0500, James Bottomley wrote:
> > 
> > On Mon, 2008-03-24 at 15:00 +0100, Eric Piel wrote:
> > > Since commit 751bf4d7865e4ced406be93b04c7436d866d3684 (scsi_sysfs: 
> > > restore prep_fn when ULD is removed), the warning "Driver '%s' needs 
> > > updating - please use bus_type methods." is generated for several scsi 
> > > drivers (sr, sg, st and osst). It does so because it thinks that the 
> > > driver remove() functions will not be called (cf 
> > > __device_release_driver()). Actually, they are called by scsi_bus_remove().
> > > 
> > > This has been noted already a couple of times [1] [2] [3], but it seems 
> > > absolutely nothing conclusive came out of the reports.
> > > 
> > > What should be done? Delete the warning? Change it so it doesn't get 
> > > triggered if drv->bus->remove == scsi_bus_remove? Merge 
> > > scsi_bus_remove() into the driver remove() functions? Disregard the 
> > > monthly warming reports?
> > 
> > At least for SCSI, the warning is wrong .. the drivers are properly
> > converted.  The issue that triggers the warning is that we use the
> > bus_type power management methods to receive the notifies in the
> > mid-layer (where we do mid-layer specific stuff) then we notify the
> > drivers through the driver power management methods.
> > 
> > A solution would be to duplicate the power management methods in the
> > scsi_driver structure, but this is a complete waste of space since the
> > generic driver ones aren't going away (at least according to Kay and
> > Greg).  I still think the best thing to do is just to turn off this
> > spurious warning.
> 
> Do you have a patch that can detect the usage that you currently have so
> that I can change the warning message to not trigger if things are set
> up that way instead?

Well, my suggested fix would be the attached one since you and Kay seem
to be telling me that converting to bus_type X methods still leaves us
free to reuse the driver X methods.  If you're planning on deprecating
the driver X methods, then sure, it makes sense for me to duplicate them
in the scsi driver.

James

---

diff --git a/drivers/base/driver.c b/drivers/base/driver.c
index bf31a01..bc9f76d 100644
--- a/drivers/base/driver.c
+++ b/drivers/base/driver.c
@@ -215,11 +215,6 @@ int driver_register(struct device_driver *drv)
 {
 	int ret;
 
-	if ((drv->bus->probe && drv->probe) ||
-	    (drv->bus->remove && drv->remove) ||
-	    (drv->bus->shutdown && drv->shutdown))
-		printk(KERN_WARNING "Driver '%s' needs updating - please use "
-			"bus_type methods\n", drv->name);
 	ret = bus_add_driver(drv);
 	if (ret)
 		return ret;


--
To unsubscribe from this list: 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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux