Commit 6af1ee02 authored by Andrew Davis's avatar Andrew Davis Committed by Sebastian Reichel

power: reset: xgene-reboot: Use devm_register_sys_off_handler(RESTART)

Use device life-cycle managed register function to simplify probe.
Signed-off-by: default avatarAndrew Davis <afd@ti.com>
Link: https://lore.kernel.org/r/20240212162831.67838-5-afd@ti.comSigned-off-by: default avatarSebastian Reichel <sebastian.reichel@collabora.com>
parent 7ddfd33c
...@@ -24,15 +24,11 @@ struct xgene_reboot_context { ...@@ -24,15 +24,11 @@ struct xgene_reboot_context {
struct device *dev; struct device *dev;
void __iomem *csr; void __iomem *csr;
u32 mask; u32 mask;
struct notifier_block restart_handler;
}; };
static int xgene_restart_handler(struct notifier_block *this, static int xgene_restart_handler(struct sys_off_data *data)
unsigned long mode, void *cmd)
{ {
struct xgene_reboot_context *ctx = struct xgene_reboot_context *ctx = data->cb_data;
container_of(this, struct xgene_reboot_context,
restart_handler);
/* Issue the reboot */ /* Issue the reboot */
writel(ctx->mask, ctx->csr); writel(ctx->mask, ctx->csr);
...@@ -64,9 +60,8 @@ static int xgene_reboot_probe(struct platform_device *pdev) ...@@ -64,9 +60,8 @@ static int xgene_reboot_probe(struct platform_device *pdev)
ctx->mask = 0xFFFFFFFF; ctx->mask = 0xFFFFFFFF;
ctx->dev = dev; ctx->dev = dev;
ctx->restart_handler.notifier_call = xgene_restart_handler; err = devm_register_sys_off_handler(dev, SYS_OFF_MODE_RESTART, 128,
ctx->restart_handler.priority = 128; xgene_restart_handler, ctx);
err = register_restart_handler(&ctx->restart_handler);
if (err) if (err)
dev_err(dev, "cannot register restart handler (err=%d)\n", err); dev_err(dev, "cannot register restart handler (err=%d)\n", err);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment