Hello, Kind reminder. Thank you. Asmaa > -----Original Message----- > From: Asmaa Mnebhi <asmaa@xxxxxxxxxx> > Sent: Friday, August 9, 2024 4:21 PM > To: sebastian.reichel@xxxxxxxxxxxxx; linux-pm@xxxxxxxxxxxxxxx; linux- > acpi@xxxxxxxxxxxxxxx > Cc: David Thompson <davthompson@xxxxxxxxxx> > Subject: RE: [PATCH v2 1/1] power: reset: pwr-mlxbf: support graceful > shutdown > > Hi Sebastian, > > Did you get a chance to review this second patch? > > Thank you! > Asmaa > > > -----Original Message----- > > From: Asmaa Mnebhi <asmaa@xxxxxxxxxx> > > Sent: Tuesday, June 11, 2024 9:43 AM > > To: sebastian.reichel@xxxxxxxxxxxxx; linux-pm@xxxxxxxxxxxxxxx; linux- > > acpi@xxxxxxxxxxxxxxx > > Cc: Asmaa Mnebhi <asmaa@xxxxxxxxxx>; David Thompson > > <davthompson@xxxxxxxxxx> > > Subject: [PATCH v2 1/1] power: reset: pwr-mlxbf: support graceful > > shutdown > > > > The OCP board used a BlueField's GPIO pin for entering low power mode. > > That board was not commercialized and has been dropped from > production > > so all its code is unused. > > The new hardware requirement is to trigger a graceful shutdown when > > that GPIO pin is toggled. So replace the unused low power mode with a > > graceful shutdown. > > > > Signed-off-by: Asmaa Mnebhi <asmaa@xxxxxxxxxx> > > Reviewed-by: David Thompson <davthompson@xxxxxxxxxx> > > --- > > drivers/power/reset/pwr-mlxbf.c | 16 +++------------- > > 1 file changed, 3 insertions(+), 13 deletions(-) > > > > diff --git a/drivers/power/reset/pwr-mlxbf.c > > b/drivers/power/reset/pwr- mlxbf.c index 1775b318d0ef..4f1cd1c0018c > > 100644 > > --- a/drivers/power/reset/pwr-mlxbf.c > > +++ b/drivers/power/reset/pwr-mlxbf.c > > @@ -18,7 +18,6 @@ > > > > struct pwr_mlxbf { > > struct work_struct reboot_work; > > - struct work_struct shutdown_work; > > const char *hid; > > }; > > > > @@ -27,22 +26,17 @@ 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); > > -} > > - > > static irqreturn_t pwr_mlxbf_irq(int irq, void *ptr) { > > const char *rst_pwr_hid = "MLNXBF24"; > > - const char *low_pwr_hid = "MLNXBF29"; > > + const char *shutdown_hid = "MLNXBF29"; > > struct pwr_mlxbf *priv = ptr; > > > > if (!strncmp(priv->hid, rst_pwr_hid, 8)) > > schedule_work(&priv->reboot_work); > > > > - if (!strncmp(priv->hid, low_pwr_hid, 8)) > > - schedule_work(&priv->shutdown_work); > > + if (!strncmp(priv->hid, shutdown_hid, 8)) > > + orderly_poweroff(true); > > > > return IRQ_HANDLED; > > } > > @@ -70,10 +64,6 @@ 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->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; > > -- > > 2.30.1