[SeaBIOS] [PATCH 1/1] ACPI: Call ACPI remove handler when handling ACPI eject event

canquan.shen shencanquan at huawei.com
Wed Oct 19 05:50:19 CEST 2011


Hi ping fan,
    Your patch is similar with my patch, my patch name is "acpi: Fix CPU 
hot removal problem".

Thanks.
Canquan.Shen
2011-10-19

On 2011/10/19 10:53, pingfank at linux.vnet.ibm.com wrote:
> From: Liu Ping Fan<pingfank at linux.vnet.ibm.com>
>
> Call the remove handler for ACPI_NOTIFY_EJECT_REQUEST
>
> Signed-off-by: Liu Ping Fan<pingfank at linux.vnet.ibm.com>
> ---
>   drivers/acpi/bus.c      |    2 +-
>   drivers/acpi/scan.c     |    2 +-
>   include/acpi/acpi_bus.h |    2 ++
>   3 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c
> index 437ddbf..d06ec6d 100644
> --- a/drivers/acpi/bus.c
> +++ b/drivers/acpi/bus.c
> @@ -764,7 +764,7 @@ static void acpi_bus_notify(acpi_handle handle, u32 type, void *data)
>   		break;
>
>   	case ACPI_NOTIFY_EJECT_REQUEST:
> -		/* TBD */
> +		acpi_os_hotplug_execute(acpi_bus_hot_remove_device, handle);
>   		break;
>
>   	case ACPI_NOTIFY_DEVICE_CHECK_LIGHT:
> diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
> index 449c556..3b97b61 100644
> --- a/drivers/acpi/scan.c
> +++ b/drivers/acpi/scan.c
> @@ -83,7 +83,7 @@ acpi_device_modalias_show(struct device *dev, struct device_attribute *attr, cha
>   }
>   static DEVICE_ATTR(modalias, 0444, acpi_device_modalias_show, NULL);
>
> -static void acpi_bus_hot_remove_device(void *context)
> +void acpi_bus_hot_remove_device(void *context)
>   {
>   	struct acpi_device *device;
>   	acpi_handle handle = context;
> diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h
> index 6cd5b64..b19c09d 100644
> --- a/include/acpi/acpi_bus.h
> +++ b/include/acpi/acpi_bus.h
> @@ -310,6 +310,8 @@ extern int unregister_acpi_notifier(struct notifier_block *);
>
>   extern int register_acpi_bus_notifier(struct notifier_block *nb);
>   extern void unregister_acpi_bus_notifier(struct notifier_block *nb);
> +extern void acpi_bus_hot_remove_device(void *context);
> +
>   /*
>    * External Functions
>    */





More information about the SeaBIOS mailing list