diff options
author | David Daney <[email protected]> | 2015-10-08 10:15:10 -0500 |
---|---|---|
committer | Bjorn Helgaas <[email protected]> | 2015-10-08 10:15:10 -0500 |
commit | 9a28033753ca9e86593e15050c7ae02fbc03f9ae (patch) | |
tree | 9febdc44f45e6669e4579c432503a82063090b5f /drivers/fpga/fpga-mgr.c | |
parent | 6701212e86398622a05b85d87391646bf0e81bfc (diff) |
PCI: generic: Allow multiple hosts with different map_bus() methods
The generic driver kept a global struct pci_ops ("gen_pci_ops") which it
patched with the .map_bus() method appropriate for the bus device. This is
a problem when we have two different types of bus devices: the .map_bus()
method for the last device probed clobbers the method for previous devices.
The result is that only the last bus device probed has the correct
.map_bus(), and the others fail.
Move the struct pci_ops into the bus-specific structure and initialize a
pointer to it when the bus device is probed.
Signed-off-by: David Daney <[email protected]>
Signed-off-by: Bjorn Helgaas <[email protected]>
Reviewed-by: Arnd Bergmann <[email protected]>
Acked-by: Will Deacon <[email protected]>
Diffstat (limited to 'drivers/fpga/fpga-mgr.c')
0 files changed, 0 insertions, 0 deletions