Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8ee5bdf3 authored by Jiang Liu's avatar Jiang Liu Committed by Bjorn Helgaas
Browse files

PCI/ACPI: Use normal list for struct acpi_pci_driver



Use normal list for struct acpi_pci_driver to simplify code.

Signed-off-by: default avatarJiang Liu <jiang.liu@huawei.com>
Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
Signed-off-by: default avatarTaku Izumi <izumi.taku@jp.fujitsu.com>
Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
parent 059e4ba2
Loading
Loading
Loading
Loading
+3 −13
Original line number Diff line number Diff line
@@ -72,8 +72,8 @@ static struct acpi_driver acpi_pci_root_driver = {
};

static LIST_HEAD(acpi_pci_roots);
static LIST_HEAD(acpi_pci_drivers);

static struct acpi_pci_driver *sub_driver;
static DEFINE_MUTEX(osc_lock);

int acpi_pci_register_driver(struct acpi_pci_driver *driver)
@@ -81,10 +81,7 @@ int acpi_pci_register_driver(struct acpi_pci_driver *driver)
	int n = 0;
	struct acpi_pci_root *root;

	struct acpi_pci_driver **pptr = &sub_driver;
	while (*pptr)
		pptr = &(*pptr)->next;
	*pptr = driver;
	list_add_tail(&driver->node, &acpi_pci_drivers);

	if (!driver->add)
		return 0;
@@ -103,14 +100,7 @@ void acpi_pci_unregister_driver(struct acpi_pci_driver *driver)
{
	struct acpi_pci_root *root;

	struct acpi_pci_driver **pptr = &sub_driver;
	while (*pptr) {
		if (*pptr == driver)
			break;
		pptr = &(*pptr)->next;
	}
	BUG_ON(!*pptr);
	*pptr = (*pptr)->next;
	list_del(&driver->node);

	if (!driver->remove)
		return;
+1 −1
Original line number Diff line number Diff line
@@ -138,7 +138,7 @@ void acpi_penalize_isa_irq(int irq, int active);
void acpi_pci_irq_disable (struct pci_dev *dev);

struct acpi_pci_driver {
	struct acpi_pci_driver *next;
	struct list_head node;
	int (*add)(acpi_handle handle);
	void (*remove)(acpi_handle handle);
};