Re: [PATCH 5.4 084/159] parisc/power: Add power soft-off when running on qemu

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/24/23 18:55, Greg Kroah-Hartman wrote:
5.4-stable review patch.  If anyone has any objections, please let me know.

Please drop this patch from all stable kernels < 6.0.
It depends on code which was added in 5.19...

Thanks,
Helge



------------------

From: Helge Deller <deller@xxxxxx>

commit d0c219472980d15f5cbc5c8aec736848bda3f235 upstream.

Signed-off-by: Helge Deller <deller@xxxxxx>
Cc: stable@xxxxxxxxxxxxxxx # v6.0+
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
  drivers/parisc/power.c |   16 +++++++++++++++-
  1 file changed, 15 insertions(+), 1 deletion(-)

--- a/drivers/parisc/power.c
+++ b/drivers/parisc/power.c
@@ -192,6 +192,14 @@ static struct notifier_block parisc_pani
  	.priority	= INT_MAX,
  };

+/* qemu soft power-off function */
+static int qemu_power_off(struct sys_off_data *data)
+{
+	/* this turns the system off via SeaBIOS */
+	*(int *)data->cb_data = 0;
+	pdc_soft_power_button(1);
+	return NOTIFY_DONE;
+}

  static int __init power_init(void)
  {
@@ -221,7 +229,13 @@ static int __init power_init(void)
  				soft_power_reg);
  	}

-	power_task = kthread_run(kpowerswd, (void*)soft_power_reg, KTHREAD_NAME);
+	power_task = NULL;
+	if (running_on_qemu && soft_power_reg)
+		register_sys_off_handler(SYS_OFF_MODE_POWER_OFF, SYS_OFF_PRIO_DEFAULT,
+					qemu_power_off, (void *)soft_power_reg);
+	else
+		power_task = kthread_run(kpowerswd, (void*)soft_power_reg,
+					KTHREAD_NAME);
  	if (IS_ERR(power_task)) {
  		printk(KERN_ERR DRIVER_NAME ": thread creation failed.  Driver not loaded.\n");
  		pdc_soft_power_button(0);








[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux