On 22/03/2024 13:25, Peter Griffin wrote: > 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? Yes, I think this could work. Best regards, Krzysztof