[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAE9FiQUC9OyPQYDTC1xR45qd1an63H13LBKGaPueqihwq=yhSw@mail.gmail.com>
Date: Sun, 16 Sep 2012 09:49:43 -0700
From: Yinghai Lu <yinghai@...nel.org>
To: Jiang Liu <liuj97@...il.com>
Cc: Bjorn Helgaas <bhelgaas@...gle.com>,
Jiang Liu <jiang.liu@...wei.com>,
Kenji Kaneshige <kaneshige.kenji@...fujitsu.com>,
Yijing Wang <wangyijing@...wei.com>,
linux-kernel@...r.kernel.org, linux-pci@...r.kernel.org
Subject: Re: [PATCH v3] ACPI/pci-bind: remove bind/unbind callbacks from acpi_device_ops
On Sun, Sep 16, 2012 at 7:09 AM, Jiang Liu <liuj97@...il.com> 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@...wei.com>
> Signed-off-by: Yijing Wang <wangyijing@...wei.com>
> ---
> 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-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists