power: reset: pwr-mlxbf: support graceful reboot instead of emergency reset
Subsystems (2)
PATCH 1/1 power: reset: pwr-mlxbf: support graceful reboot instead of emergency reset
Replace the soft reset with a graceful reboot.
An acpi event will be triggered by the irq in the pwr-mlxbf.c to trigger the graceful reboot.
Signed-off-by Asmaa Mnebhi <[email protected]>
--- drivers/power/reset/pwr-mlxbf.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-)
drivers/power/reset/pwr-mlxbf.c +15 -5
@@ -17,11 +17,17 @@#include <linux/types.h> struct pwr_mlxbf { -struct work_struct send_work; +struct work_struct reboot_work; +struct work_struct shutdown_work;const char *hid; }; -static void pwr_mlxbf_send_work (struct work_struct *work) +static void pwr_mlxbf_reboot_work (struct work_struct *work) +{ +acpi_bus_generate_netlink_event ("button/reboot.*" ,"Reboot Button" ,0x80 ,1 ); +} + +static void pwr_mlxbf_shutdown_work (struct work_struct *work) {acpi_bus_generate_netlink_event ("button/power.*" ,"Power Button" ,0x80 ,1 ); }
@@ -33,10 +39,10 @@ static irqreturn_t pwr_mlxbf_irq(int irq, void *ptr)struct pwr_mlxbf *priv = ptr;if (!strncmp (priv->hid, rst_pwr_hid,8 )) -emergency_restart (); +schedule_work (&priv->reboot_work);if (!strncmp (priv->hid, low_pwr_hid,8 )) -schedule_work (&priv->send_work); +schedule_work (&priv->shutdown_work);return IRQ_HANDLED ; }
@@ -64,7 +70,11 @@ static int pwr_mlxbf_probe(struct platform_device *pdev)if (irq <0 )return dev_err_probe (dev, irq,"Error getting %s irq.\n" , priv->hid); - err =devm_work_autocancel (dev, &priv->send_work, pwr_mlxbf_send_work); + err =devm_work_autocancel (dev, &priv->shutdown_work, pwr_mlxbf_shutdown_work); +if (err) +return err; + + err =devm_work_autocancel (dev, &priv->reboot_work, pwr_mlxbf_reboot_work);if (err)return err;
Signature · 1 line
2.30.1
Sebastian Reichel
AppliedQuoted 5 lines · Asmaa Mnebhi
Replace the soft reset with a graceful reboot.
An acpi event will be triggered by the irq in thepwr-mlxbf.cto trigger the graceful reboot.
Applied, thanks!
[1/1] power: reset: pwr-mlxbf: support graceful reboot instead of emergency reset
commit: b9afaa069e58939d95923c27c2fd76a0523119a7
Best regards,
Signature · 1 line
Sebastian Reichel <[email protected]>