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

Peter Griffin peter.griffin at linaro.org
Fri Mar 22 05:25:06 PDT 2024


Hi Krzysztof,

Thanks for your review feedback!

On Wed, 20 Mar 2024 at 07:20, Krzysztof Kozlowski
<krzysztof.kozlowski at linaro.org> 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



More information about the linux-arm-kernel mailing list