[PATCH v2 3/3] mfd: syscon: Allow syscon nodes without a "syscon" compatible
Pankaj Dubey
pankaj.dubey at samsung.com
Sun Dec 22 18:16:11 PST 2024
> -----Original Message-----
> From: Rob Herring (Arm) <robh at kernel.org>
> Sent: Tuesday, December 17, 2024 11:42 PM
> To: Lee Jones <lee at kernel.org>; Arnd Bergmann <arnd at arndb.de>; Pankaj
> Dubey <pankaj.dubey at samsung.com>; Heiko Stuebner <heiko at sntech.de>;
> Liviu Dudau <liviu.dudau at arm.com>; Sudeep Holla <sudeep.holla at arm.com>;
> Lorenzo Pieralisi <lpieralisi at kernel.org>
> Cc: Peter Griffin <peter.griffin at linaro.org>; Will McVicker
> <willmcvicker at google.com>; John Madieu <john.madieu.xa at bp.renesas.com>;
> Krzysztof Kozlowski <krzysztof.kozlowski at linaro.org>; linux-
> kernel at vger.kernel.org; linux-arm-kernel at lists.infradead.org
> Subject: [PATCH v2 3/3] mfd: syscon: Allow syscon nodes without a "syscon"
> compatible
>
> of_syscon_register_regmap() was added for nodes which need a custom regmap
> setup. It's not really correct for those nodes to claim they are compatible with
> "syscon" as the default handling likely doesn't work in those cases. If
> device_node_get_regmap() happens to be called first, then of_syscon_register()
> will be called and an incorrect regmap will be created (barring some other error).
> That may lead to unknown results in the worst case. In the best case,
> of_syscon_register_regmap() will fail with -EEXIST. This problem remains unless
> these cases drop "syscon" (an ABI issue) or we exclude them using their specific
> compatible. ATM, there is only one user: "google,gs101-pmu"
>
> There are also cases of adding "syscon" compatible to existing nodes after the
> fact in order to register the syscon. That presents a potential DT ABI problem.
> Instead, if there's a kernel change needing a syscon for a node, then it should be
> possible to allow the kernel to register a syscon without a DT change. That's
> only possible by using
> of_syscon_register_regmap() currently, but in the future we may want to
> support a match list for cases which don't need a custom regmap.
>
> With this change, the lookup functions will succeed for any node registered by
> of_syscon_register_regmap() regardless of whether the node compatible
> contains "syscon".
>
> Signed-off-by: Rob Herring (Arm) <robh at kernel.org>
> ---
Reviewed-by: Pankaj Dubey <pankaj.dubey at samsung.com>
Thanks,
Pankaj Dubey
More information about the linux-arm-kernel
mailing list