Subject: [BK PATCH] PCI hotplug changes for 2.5.63
From: Greg KH <[email-masked]>
To: [email-masked], [email-masked]
Cc: [email-masked], [email-masked]

Hi,

Here's some patches that clean up the remove logic a lot for the PCI
hotplug drivers.  The main PCI patches were done by Russell King and
Christoph Hellwig, and then I went and cleaned up the PCI Hotplug
drivers a lot based on their changes.  I also fixed up some exit logic
in the IBM PCI hotplug driver, as it was a mess.

Scott, I modified the cPCI core in order to get it to build and link
properly again, but as I don't have the hardware to test it, you should
probably look over the change and see if I messed anything up or not.
Also, I think you are the last user of the pci_visit structure, make
sure you really need it, otherwise we can get rid of it entirely from
the PCI core.

Please pull from:  bk://kernel.bkbits.net/gregkh/linux/pci-2.5

thanks,

greg k-h

 drivers/hotplug/cpqphp_proc.c      |  143 ---------
 drivers/hotplug/Makefile           |    2 
 drivers/hotplug/acpiphp_pci.c      |  191 -------------
 drivers/hotplug/cpci_hotplug_pci.c |   34 --
 drivers/hotplug/cpqphp.h           |   27 -
 drivers/hotplug/cpqphp_core.c      |   18 -
 drivers/hotplug/cpqphp_pci.c       |  204 --------------
 drivers/hotplug/cpqphp_proc.c      |   96 +-----
 drivers/hotplug/cpqphp_sysfs.c     |  143 +++++++++
 drivers/hotplug/ibmphp.h           |    6 
 drivers/hotplug/ibmphp_core.c      |  538 +++++++++----------------------------
 drivers/hotplug/ibmphp_hpc.c       |    2 
 drivers/hotplug/pci_hotplug_core.c |   18 -
 drivers/pci/hotplug.c              |   63 +++-
 drivers/pci/probe.c                |    1 
 include/linux/pci.h                |    4 
 16 files changed, 380 insertions(+), 1110 deletions(-)
-----

[email-masked], 2003-02-24 16:35:48-08:00, [email-masked]
  [PATCH] CPCI core: remove unneeded visit device on unconfigure.
  
  The driver now links properly, but this is untested due to my
  lack of cPCI hardware.

 drivers/hotplug/cpci_hotplug_pci.c |   34 ----------------------------------
 1 files changed, 34 deletions(-)
------

[email-masked], 2003-02-24 16:33:09-08:00, [email-masked]
  [PATCH] PCI: export pci_scan_bus_parented which is needed by the IBM pci hotplug driver.

 drivers/pci/probe.c |    1 +
 1 files changed, 1 insertion(+)
------

[email-masked], 2003-02-24 16:32:16-08:00, [email-masked]
  [PATCH] IBM PCI Hotplug: convert driver to use pci_bus_remove_device()
  
  Also cleaned up a lot of unnecessary bus walking on device startup
  and shutdown.

 drivers/hotplug/ibmphp_core.c |  136 ------------------------------------------
 1 files changed, 3 insertions(+), 133 deletions(-)
------

[email-masked], 2003-02-24 16:31:00-08:00, [email-masked]
  [PATCH] ACPI PCI hotplug: convert to use pci_remove_bus_device()
  
  Also got rid of some unneeded bus walking on device init and shutdown.

 drivers/hotplug/acpiphp_pci.c |  146 ------------------------------------------
 1 files changed, 3 insertions(+), 143 deletions(-)
------

[email-masked], 2003-02-24 16:30:40-08:00, [email-masked]
  [PATCH] Compaq PCI Hotplug: remove unused walk of the device on insertion.

 drivers/hotplug/cpqphp_pci.c |   54 -------------------------------------------
 1 files changed, 54 deletions(-)
------

[email-masked], 2003-02-24 16:29:53-08:00, [email-masked]
  [PATCH] Compaq PCI Hotplug: convert to use pci_remove_bus_device instead of custom code.

 drivers/hotplug/cpqphp_pci.c |  104 +------------------------------------------
 1 files changed, 3 insertions(+), 101 deletions(-)
------

[email-masked], 2003-02-24 16:28:58-08:00, [email-masked]
  [PATCH] PCI: Make hot unplugging of PCI buses work
  
  Here's the updated patch:
  
  - Scott spotted a leak my handling of procfs wrt buses.
  - I've also killed pci_remove_device() entirely - it is now inlined.
  - After one of Alan's mails, I decided that pci_remove_behind_bridge()
    is a much better name than pci_remove_all_bus_devices()

 drivers/pci/hotplug.c |   63 ++++++++++++++++++++++++++++++++++++++++++++------
 include/linux/pci.h   |    3 +-
 2 files changed, 58 insertions(+), 8 deletions(-)
------

[email-masked], 2003-02-24 16:27:59-08:00, [email-masked]
  [PATCH] PCI: remove check_region abuse (and code duplication) from pci hp code
  
  We have a function pci_dev_driver() to check whether a pci_dev has an
  driver attached to it.  It's handling of legacy devices is a bit simpler
  than what the hotplug code did (duplicated in various places), but if
  that stuff is really needed the generic code should be updated.

 drivers/hotplug/acpiphp_pci.c |   45 +----------------------------------------
 drivers/hotplug/cpqphp_pci.c  |   46 +-----------------------------------------
 drivers/hotplug/ibmphp_core.c |   37 +--------------------------------
 include/linux/pci.h           |    1 
 4 files changed, 6 insertions(+), 123 deletions(-)
------

[email-masked], 2003-02-24 16:27:32-08:00, [email-masked]
  [PATCH] Compaq PCI Hotplug: rename cpqphp_proc.c to cpqphp_sysfs.c

 drivers/hotplug/cpqphp_proc.c  |  143 -----------------------------------------
 drivers/hotplug/Makefile       |    2 
 drivers/hotplug/cpqphp_sysfs.c |  143 +++++++++++++++++++++++++++++++++++++++++
 3 files changed, 144 insertions(+), 144 deletions(-)
------

[email-masked], 2003-02-24 16:26:59-08:00, [email-masked]
  [PATCH] Compaq PCI Hotplug: move /proc files to sysfs

 drivers/hotplug/cpqphp.h      |   27 -----------
 drivers/hotplug/cpqphp_core.c |   18 -------
 drivers/hotplug/cpqphp_proc.c |   96 +++++++++---------------------------------
 3 files changed, 25 insertions(+), 116 deletions(-)
------

[email-masked], 2003-02-24 16:26:14-08:00, [email-masked]
  [PATCH] PCI Hotplug: remove the list_lock, as we rely on sysfs to detect any duplicate slot names.

 drivers/hotplug/pci_hotplug_core.c |   18 +-----------------
 1 files changed, 1 insertion(+), 17 deletions(-)
------

[email-masked], 2003-02-24 16:25:54-08:00, [email-masked]
  [PATCH] IBM PCI Hotplug: get rid of unneeded ops structure and surrounding logic.

 drivers/hotplug/ibmphp.h      |    5 ---
 drivers/hotplug/ibmphp_core.c |   69 +++++++++---------------------------------
 2 files changed, 15 insertions(+), 59 deletions(-)
------

[email-masked], 2003-02-24 16:25:28-08:00, [email-masked]
  [PATCH] IBM PCI Hotplug: fix typo in previous patch.

 drivers/hotplug/ibmphp_core.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)
------

[email-masked], 2003-02-24 16:24:48-08:00, [email-masked]
  [PATCH] IBM PCI Hotplug: Clean up the error handling logic for a number of functions, and fix a locking mess.

Push file://home/greg/linux/BK/pci-2.5 -> file://home/greg/linux/BK/bleed-2.5
 drivers/hotplug/ibmphp.h      |    1 
 drivers/hotplug/ibmphp_core.c |  294 ++++++++++++++++--------------------------
 drivers/hotplug/ibmphp_hpc.c  |    2 
 3 files changed, 120 insertions(+), 177 deletions(-)
------