Hi Krzysztof, Thanks for your review feedback! On Wed, 20 Mar 2024 at 07:20, Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> wrote: > > 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? Yes, for gs101 the regmap handling PMU registers is now created by exynos-pmu driver and is obtained using exynos_get_pmu_regmap_by_phandle() API. That was required due to the SMC call required to write to these registers from Linux. > If so, > this should be fixed instead of copying the driver with basically only > one difference. Are you suggesting we should add some API to syscon.c that allows regmaps created in other drivers like exynos-pmu.c or altera-sysmgr.c to be registered in the syscon_list? Thanks, Peter