On 20/03/2024 03:05, Alexey Klimov wrote: > + > + ret = devm_work_autocancel(dev, &gs101->shutdown_work, > + gs101_shutdown_work_fn); > + if (ret) { > + dev_err(dev, "failed to register gs101 shutdown_work: %i\n", ret); > + unregister_keyboard_notifier(&gs101->keyboard_nb); > + return ret; > + } > + > + gs101_poweroff_ctx = gs101; > + platform_set_drvdata(pdev, gs101); > + > + /* > + * At this point there is a chance that psci_sys_poweroff already > + * registered as pm_power_off hook but unfortunately it cannot power > + * off the gs101 SoC hence we are rewriting it here just as is. > + */ > + pm_power_off = gs101_poweroff; So that's a duplicated syscon power off driver. Why syscon does not work? syscon_node_to_regmap() does not return correct regmap? If so, this should be fixed instead of copying the driver with basically only one difference. Best regards, Krzysztof