mirror of
https://github.com/torvalds/linux.git
synced 2026-06-01 19:13:47 +02:00
PCI: Move __pci_walk_bus() mutex to where we need it
Simplify __pci_walk_bus() by moving the pci_bus_sem mutex into pci_walk_bus(), the only place it is needed, and removing the parameter that told __pci_walk_bus() whether to acquire the mutex. Link: https://lore.kernel.org/r/20241022224851.340648-4-kbusch@meta.com Signed-off-by: Keith Busch <kbusch@kernel.org> [bhelgaas: commit log] Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Reviewed-by: Davidlohr Bueso <dave@stgolabs.net> Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
This commit is contained in:
parent
e3f30d563a
commit
4d6dcd6c2f
|
|
@ -390,7 +390,7 @@ void pci_bus_add_devices(const struct pci_bus *bus)
|
|||
EXPORT_SYMBOL(pci_bus_add_devices);
|
||||
|
||||
static void __pci_walk_bus(struct pci_bus *top, int (*cb)(struct pci_dev *, void *),
|
||||
void *userdata, bool locked)
|
||||
void *userdata)
|
||||
{
|
||||
struct pci_dev *dev;
|
||||
struct pci_bus *bus;
|
||||
|
|
@ -398,8 +398,6 @@ static void __pci_walk_bus(struct pci_bus *top, int (*cb)(struct pci_dev *, void
|
|||
int retval;
|
||||
|
||||
bus = top;
|
||||
if (!locked)
|
||||
down_read(&pci_bus_sem);
|
||||
next = top->devices.next;
|
||||
for (;;) {
|
||||
if (next == &bus->devices) {
|
||||
|
|
@ -422,8 +420,6 @@ static void __pci_walk_bus(struct pci_bus *top, int (*cb)(struct pci_dev *, void
|
|||
if (retval)
|
||||
break;
|
||||
}
|
||||
if (!locked)
|
||||
up_read(&pci_bus_sem);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -441,7 +437,9 @@ static void __pci_walk_bus(struct pci_bus *top, int (*cb)(struct pci_dev *, void
|
|||
*/
|
||||
void pci_walk_bus(struct pci_bus *top, int (*cb)(struct pci_dev *, void *), void *userdata)
|
||||
{
|
||||
__pci_walk_bus(top, cb, userdata, false);
|
||||
down_read(&pci_bus_sem);
|
||||
__pci_walk_bus(top, cb, userdata);
|
||||
up_read(&pci_bus_sem);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(pci_walk_bus);
|
||||
|
||||
|
|
@ -449,7 +447,7 @@ void pci_walk_bus_locked(struct pci_bus *top, int (*cb)(struct pci_dev *, void *
|
|||
{
|
||||
lockdep_assert_held(&pci_bus_sem);
|
||||
|
||||
__pci_walk_bus(top, cb, userdata, true);
|
||||
__pci_walk_bus(top, cb, userdata);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(pci_walk_bus_locked);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user