Messages in this thread | | | From | "Rafael J. Wysocki" <> | Subject | Re: [PATCH v8 07/22] ACPI: Separate acpi_bus_trim to support two steps. | Date | Sat, 12 Jan 2013 23:40:32 +0100 |
| |
On Friday, January 11, 2013 02:40:34 PM Yinghai Lu wrote: > Current all acpi_bus_trim callers have rmdevice to 1. > that means it will remove all acpi devices. > > When 0, is passed, it will keep the parent. > > For root bus hotremove support, we need to have pci device to be > removed before acpi devices. > > So try to keep all acpi devices, and only stop drivers with them. > > This change should be safe because all current callers all have 1 passed.
I'm not sure how the chanelog is related to the patch itself.
The patch modifies the behavior of acpi_bus_trim() to avoid removing all devices (not just the start point) for rmdevice==0, which doesn't really change the functionality, because all callers pass rmdevice=1 anyway.
Yes, we can make this change, but why is it necessary?
And why don't we remove the rmdevice argument from acpi_bus_trim() altogether?
Rafael
> Signed-off-by: Yinghai Lu <yinghai@kernel.org> > Cc: Len Brown <lenb@kernel.org> > Cc: linux-acpi@vger.kernel.org > --- > drivers/acpi/scan.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c > index e380345..db7664e 100644 > --- a/drivers/acpi/scan.c > +++ b/drivers/acpi/scan.c > @@ -1669,10 +1669,7 @@ int acpi_bus_trim(struct acpi_device *start, int rmdevice) > child = parent; > parent = parent->parent; > > - if (level == 0) > - err = acpi_bus_remove(child, rmdevice); > - else > - err = acpi_bus_remove(child, 1); > + err = acpi_bus_remove(child, rmdevice); > > continue; > } > -- I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center.
| |