struct intel_reset_data {
struct reset_controller_dev rcdev;
- struct notifier_block restart_nb;
const struct intel_reset_soc *soc_data;
struct regmap *regmap;
struct device *dev;
return id;
}
-static int intel_reset_restart_handler(struct notifier_block *nb,
- unsigned long action, void *data)
+static int intel_reset_restart_handler(struct sys_off_data *data)
{
- struct intel_reset_data *reset_data;
+ struct intel_reset_data *reset_data = data->cb_data;
- reset_data = container_of(nb, struct intel_reset_data, restart_nb);
intel_assert_device(&reset_data->rcdev, reset_data->reboot_id);
return NOTIFY_DONE;
if (data->soc_data->legacy)
data->reboot_id |= FIELD_PREP(STAT_BIT_OFFSET_MASK, rb_id[2]);
- data->restart_nb.notifier_call = intel_reset_restart_handler;
- data->restart_nb.priority = 128;
- register_restart_handler(&data->restart_nb);
+ devm_register_restart_handler(&pdev->dev, intel_reset_restart_handler, data);
return 0;
}