linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 17/19] PCI: rpaphp: Use pcibios_remove_pci_devices() symmetrically
  2007-04-03  0:26 [PATCH 0/19]: RPAPHP pci hotplug cleanup patchbomb Linas Vepstas
@ 2007-04-03  0:49 ` Linas Vepstas
  0 siblings, 0 replies; 4+ messages in thread
From: Linas Vepstas @ 2007-04-03  0:49 UTC (permalink / raw)
  To: Greg KH; +Cc: Andrew Morton, linuxppc-dev, linux-pci


At first blush, the disable_slot() routine does not look
at all like its symmetric with the enable_slot() routine;
as it seems to call a very different set of routines.
However, this is easily fixed: pcibios_remove_pci_devices()
does the right thing.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Cc: John Rose <johnrose@austin.ibm.com>

----

 drivers/pci/hotplug/rpaphp_core.c |   10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

Index: linux-2.6.21-rc4-git4/drivers/pci/hotplug/rpaphp_core.c
===================================================================
--- linux-2.6.21-rc4-git4.orig/drivers/pci/hotplug/rpaphp_core.c	2007-04-02 14:40:10.000000000 -0500
+++ linux-2.6.21-rc4-git4/drivers/pci/hotplug/rpaphp_core.c	2007-04-02 14:40:12.000000000 -0500
@@ -424,18 +424,12 @@ static int enable_slot(struct hotplug_sl
 	return retval;
 }
 
-static int __disable_slot(struct slot *slot)
+static inline int __disable_slot(struct slot *slot)
 {
-	struct pci_dev *dev, *tmp;
-
 	if (slot->state == NOT_CONFIGURED)
 		return -EINVAL;
 
-	list_for_each_entry_safe(dev, tmp, &slot->bus->devices, bus_list) {
-		eeh_remove_bus_device(dev);
-		pci_remove_bus_device(dev);
-	}
-
+	pcibios_remove_pci_devices(slot->bus);
 	slot->state = NOT_CONFIGURED;
 	return 0;
 }

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

* [PATCH 17/19] PCI: rpaphp: Use pcibios_remove_pci_devices() symmetrically
@ 2007-04-03 17:31 Linas Vepstas
  2007-05-07  5:09 ` Michael Ellerman
  0 siblings, 1 reply; 4+ messages in thread
From: Linas Vepstas @ 2007-04-03 17:31 UTC (permalink / raw)
  To: Kristen Carlson Accardi; +Cc: Andrew Morton, linuxppc-dev, pcihpd-discuss


At first blush, the disable_slot() routine does not look
at all like its symmetric with the enable_slot() routine;
as it seems to call a very different set of routines.
However, this is easily fixed: pcibios_remove_pci_devices()
does the right thing.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Cc: John Rose <johnrose@austin.ibm.com>

----

 drivers/pci/hotplug/rpaphp_core.c |   10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

Index: linux-2.6.21-rc4-git4/drivers/pci/hotplug/rpaphp_core.c
===================================================================
--- linux-2.6.21-rc4-git4.orig/drivers/pci/hotplug/rpaphp_core.c	2007-04-03 11:04:41.000000000 -0500
+++ linux-2.6.21-rc4-git4/drivers/pci/hotplug/rpaphp_core.c	2007-04-03 11:04:47.000000000 -0500
@@ -424,18 +424,12 @@ static int enable_slot(struct hotplug_sl
 	return retval;
 }
 
-static int __disable_slot(struct slot *slot)
+static inline int __disable_slot(struct slot *slot)
 {
-	struct pci_dev *dev, *tmp;
-
 	if (slot->state == NOT_CONFIGURED)
 		return -EINVAL;
 
-	list_for_each_entry_safe(dev, tmp, &slot->bus->devices, bus_list) {
-		eeh_remove_bus_device(dev);
-		pci_remove_bus_device(dev);
-	}
-
+	pcibios_remove_pci_devices(slot->bus);
 	slot->state = NOT_CONFIGURED;
 	return 0;
 }

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

* Re: [PATCH 17/19] PCI: rpaphp: Use pcibios_remove_pci_devices() symmetrically
  2007-04-03 17:31 [PATCH 17/19] PCI: rpaphp: Use pcibios_remove_pci_devices() symmetrically Linas Vepstas
@ 2007-05-07  5:09 ` Michael Ellerman
  2007-05-07 17:04   ` Linas Vepstas
  0 siblings, 1 reply; 4+ messages in thread
From: Michael Ellerman @ 2007-05-07  5:09 UTC (permalink / raw)
  To: Linas Vepstas
  Cc: Andrew Morton, linuxppc-dev, Kristen Carlson Accardi,
	pcihpd-discuss

[-- Attachment #1: Type: text/plain, Size: 1711 bytes --]

On Tue, 2007-04-03 at 12:31 -0500, Linas Vepstas wrote:
> At first blush, the disable_slot() routine does not look
> at all like its symmetric with the enable_slot() routine;
> as it seems to call a very different set of routines.
> However, this is easily fixed: pcibios_remove_pci_devices()
> does the right thing.
> 
> Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
> Cc: John Rose <johnrose@austin.ibm.com>
> 
> ----
> 
>  drivers/pci/hotplug/rpaphp_core.c |   10 ++--------
>  1 file changed, 2 insertions(+), 8 deletions(-)
> 
> Index: linux-2.6.21-rc4-git4/drivers/pci/hotplug/rpaphp_core.c
> ===================================================================
> --- linux-2.6.21-rc4-git4.orig/drivers/pci/hotplug/rpaphp_core.c	2007-04-03 11:04:41.000000000 -0500
> +++ linux-2.6.21-rc4-git4/drivers/pci/hotplug/rpaphp_core.c	2007-04-03 11:04:47.000000000 -0500
> @@ -424,18 +424,12 @@ static int enable_slot(struct hotplug_sl
>  	return retval;
>  }
>  
> -static int __disable_slot(struct slot *slot)
> +static inline int __disable_slot(struct slot *slot)
>  {
> -	struct pci_dev *dev, *tmp;
> -
>  	if (slot->state == NOT_CONFIGURED)
>  		return -EINVAL;
>  
> -	list_for_each_entry_safe(dev, tmp, &slot->bus->devices, bus_list) {
> -		eeh_remove_bus_device(dev);
> -		pci_remove_bus_device(dev);
> -	}
> -
> +	pcibios_remove_pci_devices(slot->bus);

You need to add an EXPORT_SYMBOL() for this.

cheers

-- 
Michael Ellerman
OzLabs, IBM Australia Development Lab

wwweb: http://michael.ellerman.id.au
phone: +61 2 6212 1183 (tie line 70 21183)

We do not inherit the earth from our ancestors,
we borrow it from our children. - S.M.A.R.T Person

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

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

* Re: [PATCH 17/19] PCI: rpaphp: Use pcibios_remove_pci_devices() symmetrically
  2007-05-07  5:09 ` Michael Ellerman
@ 2007-05-07 17:04   ` Linas Vepstas
  0 siblings, 0 replies; 4+ messages in thread
From: Linas Vepstas @ 2007-05-07 17:04 UTC (permalink / raw)
  To: Michael Ellerman
  Cc: Andrew Morton, linuxppc-dev, Kristen Carlson Accardi,
	pcihpd-discuss

On Mon, May 07, 2007 at 03:09:14PM +1000, Michael Ellerman wrote:
> > -
> > +	pcibios_remove_pci_devices(slot->bus);
> 
> You need to add an EXPORT_SYMBOL() for this.

Dohh!  I should know better by now, shouldn't I?

--linas

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

end of thread, other threads:[~2007-05-07 17:04 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-04-03 17:31 [PATCH 17/19] PCI: rpaphp: Use pcibios_remove_pci_devices() symmetrically Linas Vepstas
2007-05-07  5:09 ` Michael Ellerman
2007-05-07 17:04   ` Linas Vepstas
  -- strict thread matches above, loose matches on Subject: below --
2007-04-03  0:26 [PATCH 0/19]: RPAPHP pci hotplug cleanup patchbomb Linas Vepstas
2007-04-03  0:49 ` [PATCH 17/19] PCI: rpaphp: Use pcibios_remove_pci_devices() symmetrically Linas Vepstas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).