On Fri, Oct 19, 2012 at 1:49 AM, Tang Chen <tangchen@xxxxxxxxxxxxxx> wrote: > Is it just container and pci_root_bridge hot-remove need to call > acpi_bus_trim() twice ? For normal device without sub-device, I think > it is OK to call acpi_bus_trim(device, 1). > > The reason why I'm asking this question is: > > I saw in acpi_bus_hot_remove_device(), it almost does the same things > you did in handle_root_bridge_removal(), except calling acpi_bus_trim() > twice. And there are more than one path could do container hot-remove. > > If I add a container_device_remove() doing the similar things, it could > be duplicated. So, shall we just remove handle_root_bridge_removal(), > and only use acpi_bus_hot_remove_device() ? > > Of course, we need to call acpi_bus_trim() twice in > acpi_bus_hot_remove_device(). yes. we could use acpi_bus_hot_remove_device to simply acpi_bus_hot_remove_device() but that eject_event should have device instead of passing handle, and later check if that device is there or not. like attached two patches.
Attachment:
root_bridge_remove_1.patch
Description: Binary data
Attachment:
root_bridge_remove_2.patch
Description: Binary data