ACPI: Call ACPI remove handler when handling ACPI eject
Subsystems (2)
cover ACPI: Call ACPI remove handler when handling ACPI eject
From: Liu Ping Fan <[email protected]>
When I tried to enable cpu hotplug feature for qemu-kvm, I found that the ACPI device eject event just skipped by kernel.
static void acpi_bus_notify(acpi_handle handle, u32 type, void *data) {
case ACPI_NOTIFY_EJECT_REQUEST:
/* TBD */---> skipped from here }
But I notice, in drivers/acpi/dock.c, dock_notify()->handle_eject_request() will handle such event for ACPI _dock device. So what we shall do, changing Qemu's SeaBIOS or changing the kernel? If changing SeaBIOS, will it affect guest MS-Window?
Thanks,
ping fan
PATCH 1/1 ACPI: Call ACPI remove handler when handling ACPI eject event
From: Liu Ping Fan <[email protected]>
Call the remove handler for ACPI_NOTIFY_EJECT_REQUEST
--- drivers/acpi/bus.c | 2 +- drivers/acpi/scan.c | 2 +- include/acpi/acpi_bus.h | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-)
drivers/acpi/bus.c +1 -1
@@ -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 :
drivers/acpi/scan.c +1 -1
@@ -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;
include/acpi/acpi_bus.h +2 -0
@@ -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 */
Signature · 1 line
1.7.4.4
Re: [PATCH 1/1] ACPI: Call ACPI remove handler when handling ACPI eject event
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
Quoted 50 lines · On 2011/10/19 10:53, [email protected] wrote:
From: Liu Ping Fan<[email protected]>
Call the remove handler for
ACPI_NOTIFY_EJECT_REQUESTSigned-off-by Liu Ping Fan<[email protected]>--- drivers/acpi/bus.c | 2 +- drivers/acpi/scan.c | 2 +- include/acpi/acpi_bus.h | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-)drivers/acpi/bus.c +1
-1@@ -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 :drivers/acpi/scan.c +1
-1@@ -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;include/acpi/acpi_bus.h +2
-0@@ -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 */
Re: [PATCH 1/1] ACPI: Call ACPI remove handler when handling ACPI eject event
Quoted 3 lines · canquan.shen
Hi ping fan,
Your patch is similar with my patch, my patch name is "acpi: Fix
CPU hot removal problem".
I saw your patch, a little similar. BTW, how are things going on? It is a long time since V0 patch
Quoted 64 lines
Thanks.
Canquan.Shen
2011-10-19Quoted 42 lines · On 2011/10/19 10:53, [email protected] wrote:
From: Liu Ping Fan<[email protected]>
Call the remove handler for
ACPI_NOTIFY_EJECT_REQUESTSigned-off-by Liu Ping Fan<[email protected]>--- drivers/acpi/bus.c | 2 +- drivers/acpi/scan.c | 2 +- include/acpi/acpi_bus.h | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-)drivers/acpi/bus.c +1
-1@@ -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 :drivers/acpi/scan.c +1
-1@@ -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;include/acpi/acpi_bus.h +0
-0include/acpi/acpi_bus.h extern int unregister_acpi_notifier(struct notifier_block *); · line 317
Quoted 8 lines
include/acpi/acpi_bus.h +2
-0@@ -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 */ --
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 1/1] ACPI: Call ACPI remove handler when handling ACPI eject event
Quoted 7 lines · liu ping fan
Quoted 3 lines · canquan.shen
Hi ping fan,
Your patch is similar with my patch, my patch name is "acpi: Fix
CPU hot removal problem".I saw your patch, a little similar. BTW, how are things going on? It is a long time since V0 patch
Quoted 1 line
This patch has reviewed by Bjorn, and I am waiting for len.brown's response .
Quoted 67 lines
Quoted 48 lines
Thanks.
Canquan.Shen
2011-10-19Quoted 43 lines · On 2011/10/19 10:53, [email protected] wrote:
From: Liu Ping Fan<[email protected]>
Call the remove handler for
ACPI_NOTIFY_EJECT_REQUESTSigned-off-by Liu Ping Fan<[email protected]>--- drivers/acpi/bus.c | 2 +- drivers/acpi/scan.c | 2 +- include/acpi/acpi_bus.h | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-)drivers/acpi/bus.c +1
-1@@ -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 :drivers/acpi/scan.c +1
-1@@ -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;include/acpi/acpi_bus.h +0
-0@@ -310,6 +310,8 @@ extern int unregister_acpi_notifier(struct notifier_block *);Quoted 15 lines
include/acpi/acpi_bus.h extern int unregister_acpi_notifier(struct notifier_block *); · line 317
Quoted 7 lines
include/acpi/acpi_bus.h +2
-0extern 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 */ --
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/.