Message ID | 1368461313-4371-6-git-send-email-jiang.liu@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | Bjorn Helgaas |
Headers | show |
On Tuesday, May 14, 2013 12:08:29 AM Jiang Liu wrote: > Now the global list acpi_pci_roots pci_root.c is useless, remove it. Well, are patches [1-4/9] needed for that or does it apply without them? Rafael > Signed-off-by: Jiang Liu <jiang.liu@huawei.com> > Cc: Len Brown <lenb@kernel.org> > Cc: "Rafael J. Wysocki" <rjw@sisk.pl> > Cc: linux-acpi@vger.kernel.org > Cc: linux-kernel@vger.kernel.org > --- > drivers/acpi/pci_root.c | 25 +++---------------------- > include/acpi/acpi_bus.h | 1 - > 2 files changed, 3 insertions(+), 23 deletions(-) > > diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c > index b80e06e..91ddfd6 100644 > --- a/drivers/acpi/pci_root.c > +++ b/drivers/acpi/pci_root.c > @@ -65,10 +65,6 @@ static struct acpi_scan_handler pci_root_handler = { > .detach = acpi_pci_root_remove, > }; > > -/* Lock to protect both acpi_pci_roots lists */ > -static DEFINE_MUTEX(acpi_pci_root_lock); > -static LIST_HEAD(acpi_pci_roots); > - > static DEFINE_MUTEX(osc_lock); > > /** > @@ -423,7 +419,6 @@ static int acpi_pci_root_add(struct acpi_device *device, > } > } > > - INIT_LIST_HEAD(&root->node); > root->device = device; > root->segment = segment & 0xFFFF; > strcpy(acpi_device_name(device), ACPI_PCI_ROOT_DEVICE_NAME); > @@ -501,10 +496,6 @@ static int acpi_pci_root_add(struct acpi_device *device, > * TBD: Need PCI interface for enumeration/configuration of roots. > */ > > - mutex_lock(&acpi_pci_root_lock); > - list_add_tail(&root->node, &acpi_pci_roots); > - mutex_unlock(&acpi_pci_root_lock); > - > /* > * Scan the Root Bridge > * -------------------- > @@ -518,7 +509,7 @@ static int acpi_pci_root_add(struct acpi_device *device, > "Bus %04x:%02x not present in PCI namespace\n", > root->segment, (unsigned int)root->secondary.start); > result = -ENODEV; > - goto out_del_root; > + goto end; > } > > /* ASPM setting */ > @@ -538,20 +529,13 @@ static int acpi_pci_root_add(struct acpi_device *device, > if (system_state != SYSTEM_BOOTING) { > pcibios_resource_survey_bus(root->bus); > pci_assign_unassigned_bus_resources(root->bus); > - } > - > - /* need to after hot-added ioapic is registered */ > - if (system_state != SYSTEM_BOOTING) > + /* need to after hot-added ioapic is registered */ > pci_enable_bridges(root->bus); > + } > > pci_bus_add_devices(root->bus); > return 1; > > -out_del_root: > - mutex_lock(&acpi_pci_root_lock); > - list_del(&root->node); > - mutex_unlock(&acpi_pci_root_lock); > - > end: > kfree(root); > return result; > @@ -568,9 +552,6 @@ static void acpi_pci_root_remove(struct acpi_device *device) > > pci_remove_root_bus(root->bus); > > - mutex_lock(&acpi_pci_root_lock); > - list_del(&root->node); > - mutex_unlock(&acpi_pci_root_lock); > kfree(root); > } > > diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h > index 22ba56e..4eb9a88 100644 > --- a/include/acpi/acpi_bus.h > +++ b/include/acpi/acpi_bus.h > @@ -447,7 +447,6 @@ int register_acpi_bus_type(struct acpi_bus_type *); > int unregister_acpi_bus_type(struct acpi_bus_type *); > > struct acpi_pci_root { > - struct list_head node; > struct acpi_device * device; > struct pci_bus *bus; > u16 segment; >
On Tue 14 May 2013 07:28:45 AM CST, Rafael J. Wysocki wrote: > On Tuesday, May 14, 2013 12:08:29 AM Jiang Liu wrote: >> Now the global list acpi_pci_roots pci_root.c is useless, remove it. > > Well, are patches [1-4/9] needed for that or does it apply without them? Hi Rafael, This two patches have no dependency on others. Thanks! > > Rafael > > -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tuesday, May 14, 2013 08:41:56 PM Liu Jiang wrote: > On Tue 14 May 2013 07:28:45 AM CST, Rafael J. Wysocki wrote: > > On Tuesday, May 14, 2013 12:08:29 AM Jiang Liu wrote: > >> Now the global list acpi_pci_roots pci_root.c is useless, remove it. > > > > Well, are patches [1-4/9] needed for that or does it apply without them? > Hi Rafael, > This two patches have no dependency on others. Can you please submit them separately, then? Rafael
diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c index b80e06e..91ddfd6 100644 --- a/drivers/acpi/pci_root.c +++ b/drivers/acpi/pci_root.c @@ -65,10 +65,6 @@ static struct acpi_scan_handler pci_root_handler = { .detach = acpi_pci_root_remove, }; -/* Lock to protect both acpi_pci_roots lists */ -static DEFINE_MUTEX(acpi_pci_root_lock); -static LIST_HEAD(acpi_pci_roots); - static DEFINE_MUTEX(osc_lock); /** @@ -423,7 +419,6 @@ static int acpi_pci_root_add(struct acpi_device *device, } } - INIT_LIST_HEAD(&root->node); root->device = device; root->segment = segment & 0xFFFF; strcpy(acpi_device_name(device), ACPI_PCI_ROOT_DEVICE_NAME); @@ -501,10 +496,6 @@ static int acpi_pci_root_add(struct acpi_device *device, * TBD: Need PCI interface for enumeration/configuration of roots. */ - mutex_lock(&acpi_pci_root_lock); - list_add_tail(&root->node, &acpi_pci_roots); - mutex_unlock(&acpi_pci_root_lock); - /* * Scan the Root Bridge * -------------------- @@ -518,7 +509,7 @@ static int acpi_pci_root_add(struct acpi_device *device, "Bus %04x:%02x not present in PCI namespace\n", root->segment, (unsigned int)root->secondary.start); result = -ENODEV; - goto out_del_root; + goto end; } /* ASPM setting */ @@ -538,20 +529,13 @@ static int acpi_pci_root_add(struct acpi_device *device, if (system_state != SYSTEM_BOOTING) { pcibios_resource_survey_bus(root->bus); pci_assign_unassigned_bus_resources(root->bus); - } - - /* need to after hot-added ioapic is registered */ - if (system_state != SYSTEM_BOOTING) + /* need to after hot-added ioapic is registered */ pci_enable_bridges(root->bus); + } pci_bus_add_devices(root->bus); return 1; -out_del_root: - mutex_lock(&acpi_pci_root_lock); - list_del(&root->node); - mutex_unlock(&acpi_pci_root_lock); - end: kfree(root); return result; @@ -568,9 +552,6 @@ static void acpi_pci_root_remove(struct acpi_device *device) pci_remove_root_bus(root->bus); - mutex_lock(&acpi_pci_root_lock); - list_del(&root->node); - mutex_unlock(&acpi_pci_root_lock); kfree(root); } diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h index 22ba56e..4eb9a88 100644 --- a/include/acpi/acpi_bus.h +++ b/include/acpi/acpi_bus.h @@ -447,7 +447,6 @@ int register_acpi_bus_type(struct acpi_bus_type *); int unregister_acpi_bus_type(struct acpi_bus_type *); struct acpi_pci_root { - struct list_head node; struct acpi_device * device; struct pci_bus *bus; u16 segment;
Now the global list acpi_pci_roots pci_root.c is useless, remove it. Signed-off-by: Jiang Liu <jiang.liu@huawei.com> Cc: Len Brown <lenb@kernel.org> Cc: "Rafael J. Wysocki" <rjw@sisk.pl> Cc: linux-acpi@vger.kernel.org Cc: linux-kernel@vger.kernel.org --- drivers/acpi/pci_root.c | 25 +++---------------------- include/acpi/acpi_bus.h | 1 - 2 files changed, 3 insertions(+), 23 deletions(-)