Messages in this thread | | | Date | Fri, 15 Feb 2008 17:45:47 -0500 (EST) | From | Scott Murray <> | Subject | Re: [PATCH 06/12] PCI Hotplug: make cpcihp driver use modern apis |
| |
On Thu, 14 Feb 2008, Greg Kroah-Hartman wrote:
> This removes the depandancy of the cpcihp driver from the PCI_LEGACY > config option by removing its usage of the pci_find_bus() function. > > > Cc: Kristen Carlson Accardi <kristen.c.accardi@intel.com> > Cc: Scott Murray <scottm@somanetworks.com> > Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Sorry for the slow reply, this looks fine to me.
Signed-off-by: Scott Murray <scottm@somanetworks.com>
Scott
> --- > drivers/pci/hotplug/Kconfig | 2 +- > drivers/pci/hotplug/cpcihp_generic.c | 8 +++++++- > 2 files changed, 8 insertions(+), 2 deletions(-) > > diff --git a/drivers/pci/hotplug/Kconfig b/drivers/pci/hotplug/Kconfig > index 2cdd832..17fb3d6 100644 > --- a/drivers/pci/hotplug/Kconfig > +++ b/drivers/pci/hotplug/Kconfig > @@ -119,7 +119,7 @@ config HOTPLUG_PCI_CPCI_ZT5550 > > config HOTPLUG_PCI_CPCI_GENERIC > tristate "Generic port I/O CompactPCI Hotplug driver" > - depends on HOTPLUG_PCI_CPCI && X86 && PCI_LEGACY > + depends on HOTPLUG_PCI_CPCI && X86 > help > Say Y here if you have a CompactPCI system card that exposes the #ENUM > hotswap signal as a bit in a system register that can be read through > diff --git a/drivers/pci/hotplug/cpcihp_generic.c b/drivers/pci/hotplug/cpcihp_generic.c > index f3852a6..148fb46 100644 > --- a/drivers/pci/hotplug/cpcihp_generic.c > +++ b/drivers/pci/hotplug/cpcihp_generic.c > @@ -154,12 +154,18 @@ static int __init cpcihp_generic_init(void) > if(!r) > return -EBUSY; > > - dev = pci_find_slot(bridge_busnr, PCI_DEVFN(bridge_slot, 0)); > + bus = pci_find_bus(0, bridge_busnr); > + if (!bus) { > + err("Invalid bus number %d", bridge_busnr); > + return -EINVAL; > + } > + dev = pci_get_slot(bus, PCI_DEVFN(bridge_slot, 0)); > if(!dev || dev->hdr_type != PCI_HEADER_TYPE_BRIDGE) { > err("Invalid bridge device %s", bridge); > return -EINVAL; > } > bus = dev->subordinate; > + pci_dev_put(dev); > > memset(&generic_hpc, 0, sizeof (struct cpci_hp_controller)); > generic_hpc_ops.query_enum = query_enum; >
-- Scott Murray SOMA Networks, Inc. Toronto, Ontario e-mail: scottm@somanetworks.com
| |