Message ID | 20240214164941.630775-2-jerry.hoemann@hpe.com |
---|---|
State | New |
Headers | show |
Series | watchdog/hpwdt: Support Suspend and Resume | expand |
On 2/14/24 08:49, Jerry Hoemann wrote: > Add call backs to support suspend and resume. > > Signed-off-by: Jerry Hoemann <jerry.hoemann@hpe.com> Reviewed-by: Guenter Roeck <linux@roeck-us.net> > --- > drivers/watchdog/hpwdt.c | 25 +++++++++++++++++++++++++ > 1 file changed, 25 insertions(+) > > diff --git a/drivers/watchdog/hpwdt.c b/drivers/watchdog/hpwdt.c > index 138dc8d8ca3d..ae30e394d176 100644 > --- a/drivers/watchdog/hpwdt.c > +++ b/drivers/watchdog/hpwdt.c > @@ -378,11 +378,36 @@ static void hpwdt_exit(struct pci_dev *dev) > pci_disable_device(dev); > } > > +static int hpwdt_suspend(struct device *dev) > +{ > + if (watchdog_active(&hpwdt_dev)) > + hpwdt_stop(); > + > + return 0; > +} > + > +static int hpwdt_resume(struct device *dev) > +{ > + if (watchdog_active(&hpwdt_dev)) > + hpwdt_start(&hpwdt_dev); > + > + return 0; > +} > + > +static const struct dev_pm_ops hpwdt_pm_ops = { > + LATE_SYSTEM_SLEEP_PM_OPS(hpwdt_suspend, hpwdt_resume) > +}; > + > static struct pci_driver hpwdt_driver = { > .name = "hpwdt", > .id_table = hpwdt_devices, > .probe = hpwdt_init_one, > .remove = hpwdt_exit, > + > + .driver = { > + .name = "hpwdt", > + .pm = &hpwdt_pm_ops, > + } > }; > > MODULE_AUTHOR("Tom Mingarelli");
diff --git a/drivers/watchdog/hpwdt.c b/drivers/watchdog/hpwdt.c index 138dc8d8ca3d..ae30e394d176 100644 --- a/drivers/watchdog/hpwdt.c +++ b/drivers/watchdog/hpwdt.c @@ -378,11 +378,36 @@ static void hpwdt_exit(struct pci_dev *dev) pci_disable_device(dev); } +static int hpwdt_suspend(struct device *dev) +{ + if (watchdog_active(&hpwdt_dev)) + hpwdt_stop(); + + return 0; +} + +static int hpwdt_resume(struct device *dev) +{ + if (watchdog_active(&hpwdt_dev)) + hpwdt_start(&hpwdt_dev); + + return 0; +} + +static const struct dev_pm_ops hpwdt_pm_ops = { + LATE_SYSTEM_SLEEP_PM_OPS(hpwdt_suspend, hpwdt_resume) +}; + static struct pci_driver hpwdt_driver = { .name = "hpwdt", .id_table = hpwdt_devices, .probe = hpwdt_init_one, .remove = hpwdt_exit, + + .driver = { + .name = "hpwdt", + .pm = &hpwdt_pm_ops, + } }; MODULE_AUTHOR("Tom Mingarelli");
Add call backs to support suspend and resume. Signed-off-by: Jerry Hoemann <jerry.hoemann@hpe.com> --- drivers/watchdog/hpwdt.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)