On Sun, Sep 16, 2012 at 7:09 AM, Jiang Liu <liuj97@xxxxxxxxx> wrote: > Now ACPI devices are created before/destroyed after corresponding PCI > devices, and acpi_platform_notify/acpi_platform_notify_remove will > update PCI<->ACPI binding relationship when creating/destroying PCI > devices, there's no need to invoke bind/unbind callbacks from ACPI > device probe/destroy routines anymore. So remove bind/unbind callbacks > from acpi_device_ops. > > Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxx> > Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> > --- > V2->V3: > Simplify implementation according to Yinghai's suggestion. > --- > drivers/acpi/glue.c | 15 ++++--- > drivers/acpi/internal.h | 3 +- > drivers/acpi/pci_bind.c | 102 ++++++++++--------------------------------- > drivers/acpi/pci_root.c | 9 ---- > drivers/acpi/scan.c | 21 +-------- > include/acpi/acpi_bus.h | 4 -- > include/acpi/acpi_drivers.h | 1 - > 7 files changed, 36 insertions(+), 119 deletions(-) > > diff --git a/drivers/acpi/glue.c b/drivers/acpi/glue.c > index 4904700..9779fb7 100644 > --- a/drivers/acpi/glue.c > +++ b/drivers/acpi/glue.c > @@ -160,10 +160,13 @@ static int acpi_bind_one(struct device *dev, acpi_handle handle) > } > dev->archdata.acpi_handle = handle; > > - acpi_pci_bind_notify(dev->archdata.acpi_handle, dev, true); > - > status = acpi_bus_get_device(handle, &acpi_dev); > - if (!ACPI_FAILURE(status)) { > + if (!ACPI_FAILURE(status)) > + acpi_dev = NULL; > + > + acpi_pci_bind_notify(dev->archdata.acpi_handle, acpi_dev, dev, true); It seems you can do acpi_pci_bind_notify(acpi_dev, dev, true); instead. aka: Do you have test case acpi_dev is not created before pci device? Thanks Yinghai -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html