All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] acpi, pci: hostbridge hotplug support
@ 2012-06-21  9:34 Taku Izumi
  2012-06-21  9:37 ` [PATCH 1/4] acpi, pci: introduce list for acpi_pci_root drivers Taku Izumi
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Taku Izumi @ 2012-06-21  9:34 UTC (permalink / raw)
  To: linux-pci, Bjorn Helgaas; +Cc: Kenji Kaneshige, Yinghai Lu, Jiang Liu


 This patchset adds basic code for host bridge hotplug.
 
 I assume ACPI container device (ACPI0004) which carries
 hostbridges will be hot-added or hot-removed. In that case
 some codes are now missing for hostbridge hotplug.
 This patchset mainly adds the following:
   - remove hostbridge and devices under it 
   - resoruce-assign code for devices under hot-added hostbridge
 
 The behavior when you don't try hostbridge hotplug should not change.
 
  *[PATCH 1/4] acpi, pci: introduce list for acpi_pci_root drivers
  *[PATCH 2/4] acpi, pci: introduce acpi_root_sem for list manipulation
  *[PATCH 3/4] acpi, pci: add hostbridge removal function
  *[PATCH 4/4] acpi, pci: add resoruce-assign code for devices under 
      hot-added hostbridge
-
Best regards,
Taku Izumi


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 1/4] acpi, pci: introduce list for acpi_pci_root drivers
  2012-06-21  9:34 [PATCH 0/4] acpi, pci: hostbridge hotplug support Taku Izumi
@ 2012-06-21  9:37 ` Taku Izumi
  2012-06-21  9:38 ` [PATCH 2/4] acpi, pci: introduce acpi_root_sem for list manipulation Taku Izumi
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 9+ messages in thread
From: Taku Izumi @ 2012-06-21  9:37 UTC (permalink / raw)
  To: Taku Izumi
  Cc: linux-pci, Bjorn Helgaas, Kenji Kaneshige, Yinghai Lu, Jiang Liu

Use struct list_head for pci root sub drivers manipulation. This has
no functional change.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
---
 drivers/acpi/pci_root.c |   17 +++--------------
 include/linux/acpi.h    |    2 +-
 2 files changed, 4 insertions(+), 15 deletions(-)

Index: linux/drivers/acpi/pci_root.c
===================================================================
--- linux.orig/drivers/acpi/pci_root.c
+++ linux/drivers/acpi/pci_root.c
@@ -72,8 +72,8 @@ static struct acpi_driver acpi_pci_root_
 };
 
 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
 	int n = 0;
 	struct acpi_pci_root *root;
 
-	struct acpi_pci_driver **pptr = &sub_driver;
-	while (*pptr)
-		pptr = &(*pptr)->next;
-	*pptr = driver;
+	list_add(&driver->list, &acpi_pci_drivers);
 
 	if (!driver->add)
 		return 0;
@@ -93,7 +90,6 @@ int acpi_pci_register_driver(struct acpi
 		driver->add(root->device->handle);
 		n++;
 	}
-
 	return n;
 }
 
@@ -103,14 +99,7 @@ void acpi_pci_unregister_driver(struct a
 {
 	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->list);
 
 	if (!driver->remove)
 		return;
Index: linux/include/linux/acpi.h
===================================================================
--- linux.orig/include/linux/acpi.h
+++ linux/include/linux/acpi.h
@@ -138,7 +138,7 @@ void acpi_penalize_isa_irq(int irq, int 
 void acpi_pci_irq_disable (struct pci_dev *dev);
 
 struct acpi_pci_driver {
-	struct acpi_pci_driver *next;
+	struct list_head list;
 	int (*add)(acpi_handle handle);
 	void (*remove)(acpi_handle handle);
 };


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 2/4] acpi, pci: introduce acpi_root_sem for list manipulation
  2012-06-21  9:34 [PATCH 0/4] acpi, pci: hostbridge hotplug support Taku Izumi
  2012-06-21  9:37 ` [PATCH 1/4] acpi, pci: introduce list for acpi_pci_root drivers Taku Izumi
@ 2012-06-21  9:38 ` Taku Izumi
  2012-06-21  9:39 ` [PATCH 3/4] acpi, pci: add hostbridge removal function Taku Izumi
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 9+ messages in thread
From: Taku Izumi @ 2012-06-21  9:38 UTC (permalink / raw)
  To: Taku Izumi
  Cc: linux-pci, Bjorn Helgaas, Kenji Kaneshige, Yinghai Lu, Jiang Liu

Currently acpi_pci_root list and acpi_pci_drivers list are manipulated
without holding any lock. This patch introduce acpi_pci_lock to
manipulate those lists.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
---
 drivers/acpi/pci_root.c |   33 +++++++++++++++++++++++++++------
 1 file changed, 27 insertions(+), 6 deletions(-)

Index: linux/drivers/acpi/pci_root.c
===================================================================
--- linux.orig/drivers/acpi/pci_root.c
+++ linux/drivers/acpi/pci_root.c
@@ -73,6 +73,7 @@ static struct acpi_driver acpi_pci_root_
 
 static LIST_HEAD(acpi_pci_roots);
 static LIST_HEAD(acpi_pci_drivers);
+DECLARE_RWSEM(acpi_pci_sem);
 
 static DEFINE_MUTEX(osc_lock);
 
@@ -81,15 +82,19 @@ int acpi_pci_register_driver(struct acpi
 	int n = 0;
 	struct acpi_pci_root *root;
 
+	down_write(&acpi_pci_sem);
 	list_add(&driver->list, &acpi_pci_drivers);
+	up_write(&acpi_pci_sem);
 
 	if (!driver->add)
 		return 0;
 
+	down_read(&acpi_pci_sem);
 	list_for_each_entry(root, &acpi_pci_roots, node) {
 		driver->add(root->device->handle);
 		n++;
 	}
+	up_read(&acpi_pci_sem);
 	return n;
 }
 
@@ -99,13 +104,17 @@ void acpi_pci_unregister_driver(struct a
 {
 	struct acpi_pci_root *root;
 
+	down_write(&acpi_pci_sem);
 	list_del(&driver->list);
+	up_write(&acpi_pci_sem);
 
 	if (!driver->remove)
 		return;
 
+	down_read(&acpi_pci_sem);
 	list_for_each_entry(root, &acpi_pci_roots, node)
 		driver->remove(root->device->handle);
+	up_read(&acpi_pci_sem);
 }
 
 EXPORT_SYMBOL(acpi_pci_unregister_driver);
@@ -113,11 +122,15 @@ EXPORT_SYMBOL(acpi_pci_unregister_driver
 acpi_handle acpi_get_pci_rootbridge_handle(unsigned int seg, unsigned int bus)
 {
 	struct acpi_pci_root *root;
-	
+
+	down_read(&acpi_pci_sem);
 	list_for_each_entry(root, &acpi_pci_roots, node)
-		if ((root->segment == (u16) seg) &&
-		    (root->secondary.start == (u16) bus))
+		if ((root->segment == (u16) seg) ||
+		    (root->secondary.start == (u16) bus)) {
+			up_read(&acpi_pci_sem);
 			return root->device->handle;
+		}
+	up_read(&acpi_pci_sem);
 	return NULL;		
 }
 
@@ -267,10 +280,14 @@ struct acpi_pci_root *acpi_pci_find_root
 {
 	struct acpi_pci_root *root;
 
+	down_read(&acpi_pci_sem);
 	list_for_each_entry(root, &acpi_pci_roots, node) {
-		if (root->device->handle == handle)
+		if (root->device->handle == handle) {
+			up_read(&acpi_pci_sem);
 			return root;
+		}
 	}
+	up_read(&acpi_pci_sem);
 	return NULL;
 }
 EXPORT_SYMBOL_GPL(acpi_pci_find_root);
@@ -505,8 +522,9 @@ static int __devinit acpi_pci_root_add(s
 	 * TBD: Need PCI interface for enumeration/configuration of roots.
 	 */
 
-	/* TBD: Locking */
+	down_write(&acpi_pci_sem);
 	list_add_tail(&root->node, &acpi_pci_roots);
+	up_write(&acpi_pci_sem);
 
 	printk(KERN_INFO PREFIX "%s [%s] (domain %04x %pR)\n",
 	       acpi_device_name(device), acpi_device_bid(device),
@@ -614,8 +632,11 @@ static int __devinit acpi_pci_root_add(s
 	return 0;
 
 end:
-	if (!list_empty(&root->node))
+	if (!list_empty(&root->node)) {
+		down_write(&acpi_pci_sem);
 		list_del(&root->node);
+		up_write(&acpi_pci_sem);
+	}
 	kfree(root);
 	return result;
 }


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 3/4] acpi, pci: add hostbridge removal function
  2012-06-21  9:34 [PATCH 0/4] acpi, pci: hostbridge hotplug support Taku Izumi
  2012-06-21  9:37 ` [PATCH 1/4] acpi, pci: introduce list for acpi_pci_root drivers Taku Izumi
  2012-06-21  9:38 ` [PATCH 2/4] acpi, pci: introduce acpi_root_sem for list manipulation Taku Izumi
@ 2012-06-21  9:39 ` Taku Izumi
  2012-06-21  9:39 ` [PATCH 4/4] acpi, pci: add resoruce-assign code for devices under hot-added hostbridge Taku Izumi
  2012-06-21 18:18 ` [PATCH 0/4] acpi, pci: hostbridge hotplug support Yinghai Lu
  4 siblings, 0 replies; 9+ messages in thread
From: Taku Izumi @ 2012-06-21  9:39 UTC (permalink / raw)
  To: Taku Izumi
  Cc: linux-pci, Bjorn Helgaas, Kenji Kaneshige, Yinghai Lu, Jiang Liu


Currently there's no PCI-related clean-up code
in acpi_pci_root_remove() function.
This patch introduces function for hostbridge removal.

Signed-off-by: Taku Izumi <izumi.taku@jp.fujitsu.com>
---
 drivers/acpi/pci_bind.c     |    7 +++++++
 drivers/acpi/pci_root.c     |   12 ++++++++++++
 drivers/pci/remove.c        |   18 +++++++++++++++++-
 include/acpi/acpi_drivers.h |    1 +
 include/linux/pci.h         |    2 ++
 5 files changed, 39 insertions(+), 1 deletion(-)

Index: linux/drivers/pci/remove.c
===================================================================
--- linux.orig/drivers/pci/remove.c
+++ linux/drivers/pci/remove.c
@@ -144,7 +144,7 @@ void pci_stop_and_remove_behind_bridge(s
 	__pci_remove_behind_bridge(dev);
 }
 
-static void pci_stop_bus_devices(struct pci_bus *bus)
+void pci_stop_bus_devices(struct pci_bus *bus)
 {
 	struct list_head *l, *n;
 
@@ -180,4 +180,20 @@ void pci_stop_bus_device(struct pci_dev 
 
 EXPORT_SYMBOL(pci_stop_and_remove_bus_device);
 EXPORT_SYMBOL(pci_stop_and_remove_behind_bridge);
+EXPORT_SYMBOL(pci_stop_bus_devices);
 EXPORT_SYMBOL_GPL(pci_stop_bus_device);
+
+void pci_remove_host_bridge(struct pci_host_bridge *bridge)
+{
+	struct list_head *l, *n;
+	struct pci_bus *root = bridge->bus;
+
+	list_for_each_safe(l, n, &root->devices)
+		__pci_remove_bus_device(pci_dev_b(l));
+
+	pci_remove_bus(root);
+
+	device_unregister(&bridge->dev);
+}
+EXPORT_SYMBOL(pci_remove_host_bridge);
+
Index: linux/drivers/acpi/pci_root.c
===================================================================
--- linux.orig/drivers/acpi/pci_root.c
+++ linux/drivers/acpi/pci_root.c
@@ -652,10 +652,22 @@ static int acpi_pci_root_start(struct ac
 static int acpi_pci_root_remove(struct acpi_device *device, int type)
 {
 	struct acpi_pci_root *root = acpi_driver_data(device);
+	struct pci_host_bridge *bridge = to_pci_host_bridge(root->bus->bridge);
+
+	pci_stop_bus_devices(root->bus);
 
 	device_set_run_wake(root->bus->bridge, false);
 	pci_acpi_remove_bus_pm_notifier(device);
 
+	acpi_pci_irq_del_prt(root->bus);
+	acpi_pci_unbind_root(device);
+
+	pci_remove_host_bridge(bridge);
+
+	down_write(&acpi_pci_sem);
+	list_del(&root->node);
+	up_write(&acpi_pci_sem);
+
 	kfree(root);
 	return 0;
 }
Index: linux/include/linux/pci.h
===================================================================
--- linux.orig/include/linux/pci.h
+++ linux/include/linux/pci.h
@@ -699,7 +699,9 @@ extern void pci_dev_put(struct pci_dev *
 extern void pci_remove_bus(struct pci_bus *b);
 extern void __pci_remove_bus_device(struct pci_dev *dev);
 extern void pci_stop_and_remove_bus_device(struct pci_dev *dev);
+extern void pci_stop_bus_devices(struct pci_bus *bus);
 extern void pci_stop_bus_device(struct pci_dev *dev);
+extern void pci_remove_host_bridge(struct pci_host_bridge *bridge);
 void pci_setup_cardbus(struct pci_bus *bus);
 extern void pci_sort_breadthfirst(void);
 #define dev_is_pci(d) ((d)->bus == &pci_bus_type)
Index: linux/drivers/acpi/pci_bind.c
===================================================================
--- linux.orig/drivers/acpi/pci_bind.c
+++ linux/drivers/acpi/pci_bind.c
@@ -118,3 +118,10 @@ int acpi_pci_bind_root(struct acpi_devic
 
 	return 0;
 }
+
+void  acpi_pci_unbind_root(struct acpi_device *device)
+{
+	device->ops.bind = NULL;
+	device->ops.unbind = NULL;
+}
+
Index: linux/include/acpi/acpi_drivers.h
===================================================================
--- linux.orig/include/acpi/acpi_drivers.h
+++ linux/include/acpi/acpi_drivers.h
@@ -101,6 +101,7 @@ struct pci_bus;
 
 struct pci_dev *acpi_get_pci_dev(acpi_handle);
 int acpi_pci_bind_root(struct acpi_device *device);
+void acpi_pci_unbind_root(struct acpi_device *device);
 
 /* Arch-defined function to add a bus to the system */
 


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 4/4] acpi, pci: add resoruce-assign code for devices under hot-added hostbridge
  2012-06-21  9:34 [PATCH 0/4] acpi, pci: hostbridge hotplug support Taku Izumi
                   ` (2 preceding siblings ...)
  2012-06-21  9:39 ` [PATCH 3/4] acpi, pci: add hostbridge removal function Taku Izumi
@ 2012-06-21  9:39 ` Taku Izumi
  2012-06-21 18:18 ` [PATCH 0/4] acpi, pci: hostbridge hotplug support Yinghai Lu
  4 siblings, 0 replies; 9+ messages in thread
From: Taku Izumi @ 2012-06-21  9:39 UTC (permalink / raw)
  To: Taku Izumi
  Cc: linux-pci, Bjorn Helgaas, Kenji Kaneshige, Yinghai Lu, Jiang Liu


Devices under hot-added hostbridge have no chance to assign resources
and to configure them, so this patch adds such code for hot-added 
hostbridges at acpi_pci_root_start().

Signed-off-by: Taku Izumi <izumi.taku@jp.fujitsu.com>
---
 drivers/acpi/pci_root.c |   14 ++++++++++++++
 1 file changed, 14 insertions(+)

Index: linux/drivers/acpi/pci_root.c
===================================================================
--- linux.orig/drivers/acpi/pci_root.c
+++ linux/drivers/acpi/pci_root.c
@@ -38,6 +38,7 @@
 #include <acpi/acpi_bus.h>
 #include <acpi/acpi_drivers.h>
 #include <acpi/apei.h>
+#include <linux/pci_hotplug.h>
 
 #define PREFIX "ACPI: "
 
@@ -644,6 +645,19 @@ end:
 static int acpi_pci_root_start(struct acpi_device *device)
 {
 	struct acpi_pci_root *root = acpi_driver_data(device);
+	struct pci_dev *pdev;
+
+	/*
+	 * Devices under hot-added hostbridge have no chance to assign
+	 * resources and to configure them, so do that here
+	 */
+	if (system_state != SYSTEM_BOOTING) {
+		pci_bus_size_bridges(root->bus);
+		pci_bus_assign_resources(root->bus);
+		list_for_each_entry(pdev, &root->bus->devices, bus_list)
+			pci_configure_slot(pdev);
+		pci_enable_bridges(root->bus);
+	}
 
 	pci_bus_add_devices(root->bus);
 	return 0;


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 0/4] acpi, pci: hostbridge hotplug support
  2012-06-21  9:34 [PATCH 0/4] acpi, pci: hostbridge hotplug support Taku Izumi
                   ` (3 preceding siblings ...)
  2012-06-21  9:39 ` [PATCH 4/4] acpi, pci: add resoruce-assign code for devices under hot-added hostbridge Taku Izumi
@ 2012-06-21 18:18 ` Yinghai Lu
  2012-06-22 10:21   ` Taku Izumi
  4 siblings, 1 reply; 9+ messages in thread
From: Yinghai Lu @ 2012-06-21 18:18 UTC (permalink / raw)
  To: Taku Izumi; +Cc: linux-pci, Bjorn Helgaas, Kenji Kaneshige, Jiang Liu

On Thu, Jun 21, 2012 at 2:34 AM, Taku Izumi <izumi.taku@jp.fujitsu.com> wrote:
>
>  This patchset adds basic code for host bridge hotplug.
>
>  I assume ACPI container device (ACPI0004) which carries
>  hostbridges will be hot-added or hot-removed. In that case
>  some codes are now missing for hostbridge hotplug.
>  This patchset mainly adds the following:
>   - remove hostbridge and devices under it
>   - resoruce-assign code for devices under hot-added hostbridge
>
>  The behavior when you don't try hostbridge hotplug should not change.
>
>  *[PATCH 1/4] acpi, pci: introduce list for acpi_pci_root drivers
>  *[PATCH 2/4] acpi, pci: introduce acpi_root_sem for list manipulation
>  *[PATCH 3/4] acpi, pci: add hostbridge removal function
>  *[PATCH 4/4] acpi, pci: add resoruce-assign code for devices under
>      hot-added hostbridge

Hi, did you check our pci root bus hot plug branch ?

git://git.kernel.org/pub/scm/linux/kernel/git/yinghai/linux-yinghai.git
for-pci-root-bus-hotplug

It contain some similar patches from jiang and me.

Thanks

Yinghai

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 0/4] acpi, pci: hostbridge hotplug support
  2012-06-21 18:18 ` [PATCH 0/4] acpi, pci: hostbridge hotplug support Yinghai Lu
@ 2012-06-22 10:21   ` Taku Izumi
  2012-06-22 10:41     ` Jiang Liu
  0 siblings, 1 reply; 9+ messages in thread
From: Taku Izumi @ 2012-06-22 10:21 UTC (permalink / raw)
  To: Yinghai Lu; +Cc: linux-pci, Bjorn Helgaas, Kenji Kaneshige, Jiang Liu

On Thu, 21 Jun 2012 11:18:07 -0700
Yinghai Lu <yinghai@kernel.org> wrote:

> On Thu, Jun 21, 2012 at 2:34 AM, Taku Izumi <izumi.taku@jp.fujitsu.com> wrote:
> >
> >  This patchset adds basic code for host bridge hotplug.
> >
> >  I assume ACPI container device (ACPI0004) which carries
> >  hostbridges will be hot-added or hot-removed. In that case
> >  some codes are now missing for hostbridge hotplug.
> >  This patchset mainly adds the following:
> >   - remove hostbridge and devices under it
> >   - resoruce-assign code for devices under hot-added hostbridge
> >
> >  The behavior when you don't try hostbridge hotplug should not change.
> >
> >  *[PATCH 1/4] acpi, pci: introduce list for acpi_pci_root drivers
> >  *[PATCH 2/4] acpi, pci: introduce acpi_root_sem for list manipulation
> >  *[PATCH 3/4] acpi, pci: add hostbridge removal function
> >  *[PATCH 4/4] acpi, pci: add resoruce-assign code for devices under
> >      hot-added hostbridge
> 
> Hi, did you check our pci root bus hot plug branch ?
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/yinghai/linux-yinghai.git
> for-pci-root-bus-hotplug
> 
> It contain some similar patches from jiang and me.

  Hi Yinghai,
  Thank you for your comment.

  I checked your branch out. It seems to include many work.
  Is it already scheduled to be merged to Bjorn's tree?
  If not, should I develop based on your tree?

  Best regards, 
  Taku Izumi <izumi.taku@jp.fujitsu.com>


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 0/4] acpi, pci: hostbridge hotplug support
  2012-06-22 10:21   ` Taku Izumi
@ 2012-06-22 10:41     ` Jiang Liu
  2012-06-22 16:54       ` Bjorn Helgaas
  0 siblings, 1 reply; 9+ messages in thread
From: Jiang Liu @ 2012-06-22 10:41 UTC (permalink / raw)
  To: Taku Izumi
  Cc: Yinghai Lu, linux-pci, Bjorn Helgaas, Kenji Kaneshige, Jiang Liu

On 06/22/2012 06:21 PM, Taku Izumi wrote:
> On Thu, 21 Jun 2012 11:18:07 -0700
> Yinghai Lu <yinghai@kernel.org> wrote:
> 
>> On Thu, Jun 21, 2012 at 2:34 AM, Taku Izumi <izumi.taku@jp.fujitsu.com> wrote:
>>>
>>>  This patchset adds basic code for host bridge hotplug.
>>>
>>>  I assume ACPI container device (ACPI0004) which carries
>>>  hostbridges will be hot-added or hot-removed. In that case
>>>  some codes are now missing for hostbridge hotplug.
>>>  This patchset mainly adds the following:
>>>   - remove hostbridge and devices under it
>>>   - resoruce-assign code for devices under hot-added hostbridge
>>>
>>>  The behavior when you don't try hostbridge hotplug should not change.
>>>
>>>  *[PATCH 1/4] acpi, pci: introduce list for acpi_pci_root drivers
>>>  *[PATCH 2/4] acpi, pci: introduce acpi_root_sem for list manipulation
>>>  *[PATCH 3/4] acpi, pci: add hostbridge removal function
>>>  *[PATCH 4/4] acpi, pci: add resoruce-assign code for devices under
>>>      hot-added hostbridge
>>
>> Hi, did you check our pci root bus hot plug branch ?
>>
>> git://git.kernel.org/pub/scm/linux/kernel/git/yinghai/linux-yinghai.git
>> for-pci-root-bus-hotplug
>>
>> It contain some similar patches from jiang and me.
> 
>   Hi Yinghai,
>   Thank you for your comment.
> 
>   I checked your branch out. It seems to include many work.
>   Is it already scheduled to be merged to Bjorn's tree?
>   If not, should I develop based on your tree?
Hi Taku,
I think the target is to merge those changes into Bjorn gate in near future,
so it would be better to base on Yinghai's gate.
Thanks!
Gerry

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 0/4] acpi, pci: hostbridge hotplug support
  2012-06-22 10:41     ` Jiang Liu
@ 2012-06-22 16:54       ` Bjorn Helgaas
  0 siblings, 0 replies; 9+ messages in thread
From: Bjorn Helgaas @ 2012-06-22 16:54 UTC (permalink / raw)
  To: Jiang Liu; +Cc: Taku Izumi, Yinghai Lu, linux-pci, Kenji Kaneshige, Jiang Liu

On Fri, Jun 22, 2012 at 4:41 AM, Jiang Liu <liuj97@gmail.com> wrote:
> On 06/22/2012 06:21 PM, Taku Izumi wrote:
>> On Thu, 21 Jun 2012 11:18:07 -0700
>> Yinghai Lu <yinghai@kernel.org> wrote:
>>
>>> On Thu, Jun 21, 2012 at 2:34 AM, Taku Izumi <izumi.taku@jp.fujitsu.com> wrote:
>>>>
>>>>  This patchset adds basic code for host bridge hotplug.
>>>>
>>>>  I assume ACPI container device (ACPI0004) which carries
>>>>  hostbridges will be hot-added or hot-removed. In that case
>>>>  some codes are now missing for hostbridge hotplug.
>>>>  This patchset mainly adds the following:
>>>>   - remove hostbridge and devices under it
>>>>   - resoruce-assign code for devices under hot-added hostbridge
>>>>
>>>>  The behavior when you don't try hostbridge hotplug should not change.
>>>>
>>>>  *[PATCH 1/4] acpi, pci: introduce list for acpi_pci_root drivers
>>>>  *[PATCH 2/4] acpi, pci: introduce acpi_root_sem for list manipulation
>>>>  *[PATCH 3/4] acpi, pci: add hostbridge removal function
>>>>  *[PATCH 4/4] acpi, pci: add resoruce-assign code for devices under
>>>>      hot-added hostbridge
>>>
>>> Hi, did you check our pci root bus hot plug branch ?
>>>
>>> git://git.kernel.org/pub/scm/linux/kernel/git/yinghai/linux-yinghai.git
>>> for-pci-root-bus-hotplug
>>>
>>> It contain some similar patches from jiang and me.
>>
>>   Hi Yinghai,
>>   Thank you for your comment.
>>
>>   I checked your branch out. It seems to include many work.
>>   Is it already scheduled to be merged to Bjorn's tree?
>>   If not, should I develop based on your tree?
> Hi Taku,
> I think the target is to merge those changes into Bjorn gate in near future,
> so it would be better to base on Yinghai's gate.

As you can probably tell, I'm falling behind in getting things merged.
 If you can agree among yourselves on which series is preferable *and*
spend some time reviewing each other's patches and adding
"Reviewed-by", that would help me out be resolving some of the issues.

Bjorn

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2012-06-22 16:54 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-06-21  9:34 [PATCH 0/4] acpi, pci: hostbridge hotplug support Taku Izumi
2012-06-21  9:37 ` [PATCH 1/4] acpi, pci: introduce list for acpi_pci_root drivers Taku Izumi
2012-06-21  9:38 ` [PATCH 2/4] acpi, pci: introduce acpi_root_sem for list manipulation Taku Izumi
2012-06-21  9:39 ` [PATCH 3/4] acpi, pci: add hostbridge removal function Taku Izumi
2012-06-21  9:39 ` [PATCH 4/4] acpi, pci: add resoruce-assign code for devices under hot-added hostbridge Taku Izumi
2012-06-21 18:18 ` [PATCH 0/4] acpi, pci: hostbridge hotplug support Yinghai Lu
2012-06-22 10:21   ` Taku Izumi
2012-06-22 10:41     ` Jiang Liu
2012-06-22 16:54       ` Bjorn Helgaas

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.