History

kernel/reboot: Add devm_register_restart_handler()

Add devm_register_restart_handler() helper that registers sys-off handler using restart mode and with a default priority. Most drivers will want to register restart handler with a default priority, so this helper will reduce the boilerplate code and make code easier to read and follow.

Dmitry Osipenko committed 4 years ago

Commit 6779db91 parent d2c54152 files · +26 −0Browse files

Showing the changes to kernel (1 of 2 files). Show all

Unified · Split

kernel/reboot.c+22−0
@@ -484,6 +484,28 @@ int devm_register_power_off_handler(struct device *dev, · 483 unmodified lines
484484 }
485485 EXPORT_SYMBOL_GPL(devm_register_power_off_handler);
486486
487+/**
488+ * devm_register_restart_handler - Register restart handler
489+ * @dev: Device that registers callback
490+ * @callback: Callback function
491+ * @cb_data: Callback's argument
492+ *
493+ * Registers resource-managed sys-off handler with a default priority
494+ * and using restart mode.
495+ *
496+ * Returns zero on success, or error code on failure.
497+ */
498+int devm_register_restart_handler(struct device *dev,
499+ int (*callback)(struct sys_off_data *data),
500+ void *cb_data)
501+{
502+ return devm_register_sys_off_handler(dev,
503+ SYS_OFF_MODE_RESTART,
504+ SYS_OFF_PRIO_DEFAULT,
505+ callback, cb_data);
506+}
507+EXPORT_SYMBOL_GPL(devm_register_restart_handler);
508+
487509 static struct sys_off_handler *platform_power_off_handler;
488510
489511 static int platform_power_off_notify(struct sys_off_data *data)