All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/1] ACPI: Call ACPI remove handler when handling ACPI eject
@ 2011-10-19  2:47 ` pingfank
  0 siblings, 0 replies; 14+ messages in thread
From: pingfank @ 2011-10-19  2:47 UTC (permalink / raw)
  To: linux-acpi, seabios, lenb, shaohua.li
  Cc: linux-kernel, qemu-devel, aliguori, dave, Liu Ping Fan

From: Liu Ping Fan <pingfank@linux.vnet.ibm.com>

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

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Qemu-devel] [PATCH 0/1] ACPI: Call ACPI remove handler when handling ACPI eject
@ 2011-10-19  2:47 ` pingfank
  0 siblings, 0 replies; 14+ messages in thread
From: pingfank @ 2011-10-19  2:47 UTC (permalink / raw)
  To: linux-acpi, seabios, lenb, shaohua.li
  Cc: Liu Ping Fan, aliguori, dave, linux-kernel, qemu-devel

From: Liu Ping Fan <pingfank@linux.vnet.ibm.com>

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

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH 1/1] ACPI: Call ACPI remove handler when handling ACPI eject event
  2011-10-19  2:47 ` [Qemu-devel] " pingfank
@ 2011-10-19  2:47   ` pingfank
  -1 siblings, 0 replies; 14+ messages in thread
From: pingfank @ 2011-10-19  2:47 UTC (permalink / raw)
  To: linux-acpi, seabios, lenb, shaohua.li
  Cc: linux-kernel, qemu-devel, aliguori, dave, Liu Ping Fan

From: Liu Ping Fan <pingfank@linux.vnet.ibm.com>

Call the remove handler for ACPI_NOTIFY_EJECT_REQUEST

Signed-off-by: Liu Ping Fan <pingfank@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
  */
-- 
1.7.4.4

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [Qemu-devel] [PATCH 1/1] ACPI: Call ACPI remove handler when handling ACPI eject event
@ 2011-10-19  2:47   ` pingfank
  0 siblings, 0 replies; 14+ messages in thread
From: pingfank @ 2011-10-19  2:47 UTC (permalink / raw)
  To: linux-acpi, seabios, lenb, shaohua.li
  Cc: Liu Ping Fan, aliguori, dave, linux-kernel, qemu-devel

From: Liu Ping Fan <pingfank@linux.vnet.ibm.com>

Call the remove handler for ACPI_NOTIFY_EJECT_REQUEST

Signed-off-by: Liu Ping Fan <pingfank@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
  */
-- 
1.7.4.4

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PATCH 1/1] ACPI: Call ACPI remove handler when handling ACPI eject event
  2011-10-19  2:47   ` [Qemu-devel] " pingfank
  (?)
@ 2011-10-19 13:35     ` Gong Chen
  -1 siblings, 0 replies; 14+ messages in thread
From: Gong Chen @ 2011-10-19 13:35 UTC (permalink / raw)
  To: pingfank
  Cc: linux-acpi, seabios, lenb, shaohua.li, linux-kernel, qemu-devel,
	aliguori, dave

On Wed, Oct 19, 2011 at 10:47 AM,  <pingfank@linux.vnet.ibm.com> wrote:
> From: Liu Ping Fan <pingfank@linux.vnet.ibm.com>
>
> Call the remove handler for ACPI_NOTIFY_EJECT_REQUEST
>
> Signed-off-by: Liu Ping Fan <pingfank@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
>  */
> --
> 1.7.4.4
>

I preferred the patch from Shen before. Here is the link:
https://lkml.org/lkml/2011/9/24/15
As Bjorn said, "long-term goal to move the hotplug flow out of drivers and into
the ACPI core". An arbitrary change in the global level just mess up the codes.
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 1/1] ACPI: Call ACPI remove handler when handling ACPI eject event
@ 2011-10-19 13:35     ` Gong Chen
  0 siblings, 0 replies; 14+ messages in thread
From: Gong Chen @ 2011-10-19 13:35 UTC (permalink / raw)
  To: pingfank
  Cc: linux-acpi, seabios, lenb, shaohua.li, linux-kernel, qemu-devel,
	aliguori, dave

On Wed, Oct 19, 2011 at 10:47 AM,  <pingfank@linux.vnet.ibm.com> wrote:
> From: Liu Ping Fan <pingfank@linux.vnet.ibm.com>
>
> Call the remove handler for ACPI_NOTIFY_EJECT_REQUEST
>
> Signed-off-by: Liu Ping Fan <pingfank@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
>  */
> --
> 1.7.4.4
>

I preferred the patch from Shen before. Here is the link:
https://lkml.org/lkml/2011/9/24/15
As Bjorn said, "long-term goal to move the hotplug flow out of drivers and into
the ACPI core". An arbitrary change in the global level just mess up the codes.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] [PATCH 1/1] ACPI: Call ACPI remove handler when handling ACPI eject event
@ 2011-10-19 13:35     ` Gong Chen
  0 siblings, 0 replies; 14+ messages in thread
From: Gong Chen @ 2011-10-19 13:35 UTC (permalink / raw)
  To: pingfank
  Cc: aliguori, seabios, qemu-devel, linux-kernel, linux-acpi,
	shaohua.li, dave, lenb

On Wed, Oct 19, 2011 at 10:47 AM,  <pingfank@linux.vnet.ibm.com> wrote:
> From: Liu Ping Fan <pingfank@linux.vnet.ibm.com>
>
> Call the remove handler for ACPI_NOTIFY_EJECT_REQUEST
>
> Signed-off-by: Liu Ping Fan <pingfank@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
>  */
> --
> 1.7.4.4
>

I preferred the patch from Shen before. Here is the link:
https://lkml.org/lkml/2011/9/24/15
As Bjorn said, "long-term goal to move the hotplug flow out of drivers and into
the ACPI core". An arbitrary change in the global level just mess up the codes.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] [PATCH 1/1] ACPI: Call ACPI remove handler when handling ACPI eject event
  2011-10-19 13:35     ` Gong Chen
  (?)
@ 2011-10-20  9:37       ` qemulist
  -1 siblings, 0 replies; 14+ messages in thread
From: qemulist @ 2011-10-20  9:37 UTC (permalink / raw)
  To: Gong Chen
  Cc: pingfank, aliguori, seabios, qemu-devel, linux-kernel,
	linux-acpi, shaohua.li, dave, lenb

On Wed, Oct 19, 2011 at 09:35:46PM +0800, Gong Chen wrote:
> On Wed, Oct 19, 2011 at 10:47 AM,  <pingfank@linux.vnet.ibm.com> wrote:
> > From: Liu Ping Fan <pingfank@linux.vnet.ibm.com>
> >
> > Call the remove handler for ACPI_NOTIFY_EJECT_REQUEST
> >
> > Signed-off-by: Liu Ping Fan <pingfank@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
> >  */
> > --
> > 1.7.4.4
> >
> 
> I preferred the patch from Shen before. Here is the link:
> https://lkml.org/lkml/2011/9/24/15
> As Bjorn said, "long-term goal to move the hotplug flow out of drivers and into
> the ACPI core". An arbitrary change in the global level just mess up the codes.
Got it, thanks. And so will this feature emerge in upstream soon?

Thanks and regards,
pingfan
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] [PATCH 1/1] ACPI: Call ACPI remove handler when handling ACPI eject event
@ 2011-10-20  9:37       ` qemulist
  0 siblings, 0 replies; 14+ messages in thread
From: qemulist @ 2011-10-20  9:37 UTC (permalink / raw)
  To: Gong Chen
  Cc: pingfank, aliguori, seabios, qemu-devel, linux-kernel,
	linux-acpi, shaohua.li, dave, lenb

On Wed, Oct 19, 2011 at 09:35:46PM +0800, Gong Chen wrote:
> On Wed, Oct 19, 2011 at 10:47 AM,  <pingfank@linux.vnet.ibm.com> wrote:
> > From: Liu Ping Fan <pingfank@linux.vnet.ibm.com>
> >
> > Call the remove handler for ACPI_NOTIFY_EJECT_REQUEST
> >
> > Signed-off-by: Liu Ping Fan <pingfank@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
> >  */
> > --
> > 1.7.4.4
> >
> 
> I preferred the patch from Shen before. Here is the link:
> https://lkml.org/lkml/2011/9/24/15
> As Bjorn said, "long-term goal to move the hotplug flow out of drivers and into
> the ACPI core". An arbitrary change in the global level just mess up the codes.
Got it, thanks. And so will this feature emerge in upstream soon?

Thanks and regards,
pingfan

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] [PATCH 1/1] ACPI: Call ACPI remove handler when handling ACPI eject event
@ 2011-10-20  9:37       ` qemulist
  0 siblings, 0 replies; 14+ messages in thread
From: qemulist @ 2011-10-20  9:37 UTC (permalink / raw)
  To: Gong Chen
  Cc: aliguori, pingfank, seabios, qemu-devel, linux-kernel,
	linux-acpi, shaohua.li, dave, lenb

On Wed, Oct 19, 2011 at 09:35:46PM +0800, Gong Chen wrote:
> On Wed, Oct 19, 2011 at 10:47 AM,  <pingfank@linux.vnet.ibm.com> wrote:
> > From: Liu Ping Fan <pingfank@linux.vnet.ibm.com>
> >
> > Call the remove handler for ACPI_NOTIFY_EJECT_REQUEST
> >
> > Signed-off-by: Liu Ping Fan <pingfank@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
> >  */
> > --
> > 1.7.4.4
> >
> 
> I preferred the patch from Shen before. Here is the link:
> https://lkml.org/lkml/2011/9/24/15
> As Bjorn said, "long-term goal to move the hotplug flow out of drivers and into
> the ACPI core". An arbitrary change in the global level just mess up the codes.
Got it, thanks. And so will this feature emerge in upstream soon?

Thanks and regards,
pingfan

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] [PATCH 1/1] ACPI: Call ACPI remove handler when handling ACPI eject event
  2011-10-20  9:37       ` qemulist
  (?)
@ 2011-10-21  1:37         ` Chen Gong
  -1 siblings, 0 replies; 14+ messages in thread
From: Chen Gong @ 2011-10-21  1:37 UTC (permalink / raw)
  To: qemulist
  Cc: Gong Chen, pingfank, aliguori, seabios, qemu-devel, linux-kernel,
	linux-acpi, shaohua.li, dave, lenb

于 2011/10/20 17:37, qemulist@gmail.com 写道:
> On Wed, Oct 19, 2011 at 09:35:46PM +0800, Gong Chen wrote:
>> On Wed, Oct 19, 2011 at 10:47 AM,<pingfank@linux.vnet.ibm.com>  wrote:
>>> From: Liu Ping Fan<pingfank@linux.vnet.ibm.com>
>>>
>>> Call the remove handler for ACPI_NOTIFY_EJECT_REQUEST
>>>
>>> Signed-off-by: Liu Ping Fan<pingfank@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
>>>   */
>>> --
>>> 1.7.4.4
>>>
>>
>> I preferred the patch from Shen before. Here is the link:
>> https://lkml.org/lkml/2011/9/24/15
>> As Bjorn said, "long-term goal to move the hotplug flow out of drivers and into
>> the ACPI core". An arbitrary change in the global level just mess up the codes.
> Got it, thanks. And so will this feature emerge in upstream soon?
>
> Thanks and regards,
> pingfan
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
>

It's up to the maintainer, should be Len Brown :-)
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] [PATCH 1/1] ACPI: Call ACPI remove handler when handling ACPI eject event
@ 2011-10-21  1:37         ` Chen Gong
  0 siblings, 0 replies; 14+ messages in thread
From: Chen Gong @ 2011-10-21  1:37 UTC (permalink / raw)
  To: qemulist
  Cc: Gong Chen, pingfank, aliguori, seabios, qemu-devel, linux-kernel,
	linux-acpi, shaohua.li, dave, lenb

于 2011/10/20 17:37, qemulist@gmail.com 写道:
> On Wed, Oct 19, 2011 at 09:35:46PM +0800, Gong Chen wrote:
>> On Wed, Oct 19, 2011 at 10:47 AM,<pingfank@linux.vnet.ibm.com>  wrote:
>>> From: Liu Ping Fan<pingfank@linux.vnet.ibm.com>
>>>
>>> Call the remove handler for ACPI_NOTIFY_EJECT_REQUEST
>>>
>>> Signed-off-by: Liu Ping Fan<pingfank@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
>>>   */
>>> --
>>> 1.7.4.4
>>>
>>
>> I preferred the patch from Shen before. Here is the link:
>> https://lkml.org/lkml/2011/9/24/15
>> As Bjorn said, "long-term goal to move the hotplug flow out of drivers and into
>> the ACPI core". An arbitrary change in the global level just mess up the codes.
> Got it, thanks. And so will this feature emerge in upstream soon?
>
> Thanks and regards,
> pingfan
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
>

It's up to the maintainer, should be Len Brown :-)

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] [PATCH 1/1] ACPI: Call ACPI remove handler when handling ACPI eject event
@ 2011-10-21  1:37         ` Chen Gong
  0 siblings, 0 replies; 14+ messages in thread
From: Chen Gong @ 2011-10-21  1:37 UTC (permalink / raw)
  To: qemulist
  Cc: aliguori, pingfank, seabios, linux-kernel, qemu-devel,
	linux-acpi, shaohua.li, dave, Gong Chen, lenb

于 2011/10/20 17:37, qemulist@gmail.com 写道:
> On Wed, Oct 19, 2011 at 09:35:46PM +0800, Gong Chen wrote:
>> On Wed, Oct 19, 2011 at 10:47 AM,<pingfank@linux.vnet.ibm.com>  wrote:
>>> From: Liu Ping Fan<pingfank@linux.vnet.ibm.com>
>>>
>>> Call the remove handler for ACPI_NOTIFY_EJECT_REQUEST
>>>
>>> Signed-off-by: Liu Ping Fan<pingfank@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
>>>   */
>>> --
>>> 1.7.4.4
>>>
>>
>> I preferred the patch from Shen before. Here is the link:
>> https://lkml.org/lkml/2011/9/24/15
>> As Bjorn said, "long-term goal to move the hotplug flow out of drivers and into
>> the ACPI core". An arbitrary change in the global level just mess up the codes.
> Got it, thanks. And so will this feature emerge in upstream soon?
>
> Thanks and regards,
> pingfan
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
>

It's up to the maintainer, should be Len Brown :-)

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH 0/1] ACPI: Call ACPI remove handler when handling ACPI eject
@ 2011-10-19  2:53 pingfank
  0 siblings, 0 replies; 14+ messages in thread
From: pingfank @ 2011-10-19  2:53 UTC (permalink / raw)
  To: linux-kernel, seabios, lenb, shaohua.li
  Cc: qemu-devel, aliguori, dave, Liu Ping Fan

From: Liu Ping Fan <pingfank@linux.vnet.ibm.com>

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


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2011-10-21  1:37 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-10-19  2:47 [PATCH 0/1] ACPI: Call ACPI remove handler when handling ACPI eject pingfank
2011-10-19  2:47 ` [Qemu-devel] " pingfank
2011-10-19  2:47 ` [PATCH 1/1] ACPI: Call ACPI remove handler when handling ACPI eject event pingfank
2011-10-19  2:47   ` [Qemu-devel] " pingfank
2011-10-19 13:35   ` Gong Chen
2011-10-19 13:35     ` [Qemu-devel] " Gong Chen
2011-10-19 13:35     ` Gong Chen
2011-10-20  9:37     ` [Qemu-devel] " qemulist
2011-10-20  9:37       ` qemulist
2011-10-20  9:37       ` qemulist
2011-10-21  1:37       ` Chen Gong
2011-10-21  1:37         ` Chen Gong
2011-10-21  1:37         ` Chen Gong
2011-10-19  2:53 [PATCH 0/1] ACPI: Call ACPI remove handler when handling ACPI eject pingfank

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.