lkml.org 
[lkml]   [2013]   [Jan]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH v8 07/22] ACPI: Separate acpi_bus_trim to support two steps.
Date
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.


\
 
 \ /
  Last update: 2013-01-13 00:01    [W:0.198 / U:8.060 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site