Re: [PATCH 3/3] power: reset: add new gs101-poweroff driver

From: Krzysztof Kozlowski
Date: Mon Mar 25 2024 - 15:13:51 EST


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