Re: [PATCH v2 5/9] ACPI/pci-bind: remove bind/unbind callbacks from acpi_device_ops

From: Yinghai Lu
Date: Sun Sep 16 2012 - 23:04:11 EST


On Sat, Sep 15, 2012 at 4:27 PM, Yinghai Lu <yinghai@xxxxxxxxxx> wrote:
> On Fri, Sep 14, 2012 at 8:05 PM, Jiang Liu <liuj97@xxxxxxxxx> wrote:
>> From: Jiang Liu <jiang.liu@xxxxxxxxxx>
>>
>> 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.
> for pci root bus, acpi_bus_trim() is used to remove acpi_device.
>
> and later in acpi_pci_root_remove to stop pci drivers/ioapic driver,
> iommu driver then remove pci devices.
>
> if call back is removed there, then could some functions in
> acpi_pci_unbind() will be skipped.
>
> I really do not want to add pci_stop_bus_devices() in
> pci_root_hp.c::handle_root_bridge_removal before
> calling acpi_bus_trim...

FYI, I solved the problem. will call apci_bus_remove() two times. it
will make sure pci devices
get removed at first before acpi devices...

Thanks

Yinghai

Attachment: pci_root_hp_1.patch
Description: Binary data