public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
* [CFT 29/29] Add Pseudo LLD bus_type probe and remove methods
       [not found] <20060105142951.13.01@flint.arm.linux.org.uk>
@ 2006-01-05 14:44 ` Russell King
  2006-01-10  6:00   ` patch add-pseudo-lld-bus_type-probe-and-remove-methods.patch added to gregkh-2.6 tree gregkh
  2006-01-06 11:48 ` [CFT 1/29] Add bus_type probe, remove, shutdown methods Russell King
  1 sibling, 1 reply; 5+ messages in thread
From: Russell King @ 2006-01-05 14:44 UTC (permalink / raw)
  To: LKML; +Cc: Greg K-H, SCSI

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

---
 drivers/scsi/scsi_debug.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff -up -x BitKeeper -x ChangeSet -x SCCS -x _xlk -x *.orig -x *.rej -x .git linus/drivers/scsi/scsi_debug.c linux/drivers/scsi/scsi_debug.c
--- linus/drivers/scsi/scsi_debug.c	Sat Nov 12 07:32:38 2005
+++ linux/drivers/scsi/scsi_debug.c	Sun Nov 13 16:45:02 2005
@@ -221,8 +221,6 @@ static struct bus_type pseudo_lld_bus;
 static struct device_driver sdebug_driverfs_driver = {
 	.name 		= sdebug_proc_name,
 	.bus		= &pseudo_lld_bus,
-	.probe          = sdebug_driver_probe,
-	.remove         = sdebug_driver_remove,
 };
 
 static const int check_condition_result =
@@ -1796,6 +1794,8 @@ static int pseudo_lld_bus_match(struct d
 static struct bus_type pseudo_lld_bus = {
         .name = "pseudo",
         .match = pseudo_lld_bus_match,
+	.probe = sdebug_driver_probe,
+	.remove = sdebug_driver_remove,
 };
 
 static void sdebug_release_adapter(struct device * dev)

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [CFT 1/29] Add bus_type probe, remove, shutdown methods.
       [not found] <20060105142951.13.01@flint.arm.linux.org.uk>
  2006-01-05 14:44 ` [CFT 29/29] Add Pseudo LLD bus_type probe and remove methods Russell King
@ 2006-01-06 11:48 ` Russell King
  2006-01-06 16:34   ` James Bottomley
  1 sibling, 1 reply; 5+ messages in thread
From: Russell King @ 2006-01-06 11:48 UTC (permalink / raw)
  To: LKML, linux-scsi, pcihpd-discuss, schwidefsky; +Cc: Greg K-H

On Thu, Jan 05, 2006 at 02:29:51PM +0000, Russell King wrote:
> The long-term idea is to remove the device_driver methods entirely.

With the three additional patches I've just posted, this leaves:

	ccw_driver
	css_driver
	pcie_port_service_driver
	scsi_driver

using the generic device_driver probe/remove/shutdown/suspend/resume
methods.

I'm not sure what's going on with the PCIE code - my attempts to
contact the PCIE folk about their suspend/resume implementation has
been met by silence.

The scsi_driver business looks like being a pig to solve - so can
SCSI folk please look at what's required to unuse these fields.

Could the s390 folk also look at what's required for ccw_driver and
css_driver please?

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 Serial core

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [CFT 1/29] Add bus_type probe, remove, shutdown methods.
  2006-01-06 11:48 ` [CFT 1/29] Add bus_type probe, remove, shutdown methods Russell King
@ 2006-01-06 16:34   ` James Bottomley
  2006-01-06 16:57     ` Russell King
  0 siblings, 1 reply; 5+ messages in thread
From: James Bottomley @ 2006-01-06 16:34 UTC (permalink / raw)
  To: Russell King; +Cc: LKML, linux-scsi, pcihpd-discuss, schwidefsky, Greg K-H

On Fri, 2006-01-06 at 11:48 +0000, Russell King wrote:
> The scsi_driver business looks like being a pig to solve - so can
> SCSI folk please look at what's required to unuse these fields.

Well, not necessarily pig.  Perhaps piglet.  We definitely need the
separate probe, shutdown and remove methods for each of our ULDs.
However, if they moved into the bus, since scsi_driver is always of type
scsi_bus, we could add separate probe, shutdown and remove fields to
struct scsi_driver and have the new fields in scsi_bus call those.  I
have to ask, though; isn't that primarily what most other bus types are
going to be doing anyway?  So doesn't it make sense to leave the fields
in the generic driver?  Then the rule becomes that if the bus has the
field, we call it, and the bus routine *may* call the corresponding
generic driver field if it feels like it.  Otherwise if the bus has no
callbacks, just use the generic driver ones?

James

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [CFT 1/29] Add bus_type probe, remove, shutdown methods.
  2006-01-06 16:34   ` James Bottomley
@ 2006-01-06 16:57     ` Russell King
  0 siblings, 0 replies; 5+ messages in thread
From: Russell King @ 2006-01-06 16:57 UTC (permalink / raw)
  To: James Bottomley; +Cc: LKML, linux-scsi, pcihpd-discuss, schwidefsky, Greg K-H

On Fri, Jan 06, 2006 at 10:34:49AM -0600, James Bottomley wrote:
> On Fri, 2006-01-06 at 11:48 +0000, Russell King wrote:
> > The scsi_driver business looks like being a pig to solve - so can
> > SCSI folk please look at what's required to unuse these fields.
> 
> Well, not necessarily pig.  Perhaps piglet.  We definitely need the
> separate probe, shutdown and remove methods for each of our ULDs.
> However, if they moved into the bus, since scsi_driver is always of type
> scsi_bus, we could add separate probe, shutdown and remove fields to
> struct scsi_driver and have the new fields in scsi_bus call those.  I
> have to ask, though; isn't that primarily what most other bus types are
> going to be doing anyway?  So doesn't it make sense to leave the fields
> in the generic driver?  Then the rule becomes that if the bus has the
> field, we call it, and the bus routine *may* call the corresponding
> generic driver field if it feels like it.  Otherwise if the bus has no
> callbacks, just use the generic driver ones?

Firstly, having both causes confusion.  As a prime example of this,
see the PCIE crap - they implement both the bus_type suspend/resume
methods _and_ the device_driver suspend/resume methods, despite these
device_driver suspend/resume methods never ever being called.

Secondly, keeping both negates the _whole_ point of this series and
the previous platform device driver series - needless bloat:

- the extra bloat in struct device_driver for all bus types,
  many of which do not have things like shutdown or suspend/resume
  callbacks.

- the extra code bloat in many drivers to convert the struct device
  to something more bus specific.

Also, don't you think it's wrong to keep these fields _just_ to
support single case that SCSI wants to remain using the Old Way,
when everything else can be (and almost has been) converted to the
New Way?

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 Serial core

^ permalink raw reply	[flat|nested] 5+ messages in thread

* patch add-pseudo-lld-bus_type-probe-and-remove-methods.patch added to gregkh-2.6 tree
  2006-01-05 14:44 ` [CFT 29/29] Add Pseudo LLD bus_type probe and remove methods Russell King
@ 2006-01-10  6:00   ` gregkh
  0 siblings, 0 replies; 5+ messages in thread
From: gregkh @ 2006-01-10  6:00 UTC (permalink / raw)
  To: rmk, greg, gregkh, linux-scsi, rmk+kernel


This is a note to let you know that I've just added the patch titled

     Subject: [CFT 29/29] Add Pseudo LLD bus_type probe and remove methods

to my gregkh-2.6 tree.  Its filename is

     add-pseudo-lld-bus_type-probe-and-remove-methods.patch

This tree can be found at 
    http://www.kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/patches/


>From rmk+greg=kroah.com@arm.linux.org.uk Thu Jan  5 06:49:11 2006
From: Russell King <rmk@arm.linux.org.uk>
CC: Greg K-H <greg@kroah.com>, SCSI <linux-scsi@vger.kernel.org>
Subject: [CFT 29/29] Add Pseudo LLD bus_type probe and remove methods
Date: Thu, 05 Jan 2006 14:44:46 +0000
Message-ID: <20060105142951.13.29@flint.arm.linux.org.uk>

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/scsi/scsi_debug.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- gregkh-2.6.orig/drivers/scsi/scsi_debug.c
+++ gregkh-2.6/drivers/scsi/scsi_debug.c
@@ -221,8 +221,6 @@ static struct bus_type pseudo_lld_bus;
 static struct device_driver sdebug_driverfs_driver = {
 	.name 		= sdebug_proc_name,
 	.bus		= &pseudo_lld_bus,
-	.probe          = sdebug_driver_probe,
-	.remove         = sdebug_driver_remove,
 };
 
 static const int check_condition_result =
@@ -1796,6 +1794,8 @@ static int pseudo_lld_bus_match(struct d
 static struct bus_type pseudo_lld_bus = {
         .name = "pseudo",
         .match = pseudo_lld_bus_match,
+	.probe = sdebug_driver_probe,
+	.remove = sdebug_driver_remove,
 };
 
 static void sdebug_release_adapter(struct device * dev)


Patches currently in gregkh-2.6 which might be from rmk@arm.linux.org.uk are

driver/add-bttv-sub-bus_type-probe-and-remove-methods.patch
driver/add-bus_type-probe-remove-shutdown-methods..patch
driver/add-ccwgroup_bus_type-probe-and-remove-methods.patch
driver/add-dio_bus_type-probe-and-remove-methods.patch
driver/add-ecard_bus_type-probe-remove-shutdown-methods.patch
driver/add-gameport-bus_type-probe-and-remove-methods.patch
driver/add-i2c_bus_type-probe-and-remove-methods.patch
driver/add-ide_bus_type-probe-and-remove-methods.patch
driver/add-locomo-bus_type-probe-remove-methods.patch
driver/add-logic-module-bus_type-probe-remove-methods.patch
driver/add-macio_bus_type-probe-and-remove-methods.patch
driver/add-mcp-bus_type-probe-and-remove-methods.patch
driver/add-mmc_bus_type-probe-and-remove-methods.patch
driver/add-ocp_bus_type-probe-and-remove-methods.patch
driver/add-of_platform_bus_type-probe-and-remove-methods.patch
driver/add-parisc_bus_type-probe-and-remove-methods.patch
driver/add-pci_bus_type-probe-and-remove-methods.patch
driver/add-pcmcia_bus_type-probe-and-remove-methods.patch
driver/add-pnp_bus_type-probe-and-remove-methods.patch
driver/add-pseudo-lld-bus_type-probe-and-remove-methods.patch
driver/add-rio_bus_type-probe-and-remove-methods.patch
driver/add-sa1111-bus_type-probe-remove-methods.patch
driver/add-serio-bus_type-probe-and-remove-methods.patch
driver/add-sh_bus_type-probe-and-remove-methods.patch
driver/add-superhyway_bus_type-probe-and-remove-methods.patch
driver/add-tiocx-bus_type-probe-remove-methods.patch
driver/add-usb_serial_bus_type-probe-and-remove-methods.patch
driver/add-vio_bus_type-probe-and-remove-methods.patch
driver/add-zorro_bus_type-probe-and-remove-methods.patch
driver/remove-usb-gadget-generic-driver-methods.patch

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2006-01-10  6:00 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20060105142951.13.01@flint.arm.linux.org.uk>
2006-01-05 14:44 ` [CFT 29/29] Add Pseudo LLD bus_type probe and remove methods Russell King
2006-01-10  6:00   ` patch add-pseudo-lld-bus_type-probe-and-remove-methods.patch added to gregkh-2.6 tree gregkh
2006-01-06 11:48 ` [CFT 1/29] Add bus_type probe, remove, shutdown methods Russell King
2006-01-06 16:34   ` James Bottomley
2006-01-06 16:57     ` Russell King

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox