diff options
| author | Justin Yeh <justin.yeh@mediatek.com> | 2026-07-23 11:58:15 +0800 |
|---|---|---|
| committer | Linus Walleij <linusw@kernel.org> | 2026-07-25 14:57:45 +0200 |
| commit | e3b4295e0d72186d8c929052fef8ce83ddb20aec (patch) | |
| tree | 598ab62399d61db9e497c7db8a148c153fd0742a /tools/perf/scripts/python | |
| parent | dab3c7afde6c6572ea71d4ea7f9f6050b576cc53 (diff) | |
pinctrl: mediatek: mt7986: register both platform drivers from a single initcall
The MT7986 driver registers two separate platform drivers (mt7986a and
mt7986b) and used to call arch_initcall() twice, once for each.
This is fine while the driver is built-in, but a single translation unit
can only provide one module_init(). Since arch_initcall() expands to
module_init() when built as a module, having two of them would break the
module build with a redefinition of init_module()/__inittest().
Fold both platform drivers into a single driver array and register them
from one initcall using platform_register_drivers(), matching the shape of
the other MediaTek pinctrl SoC drivers. platform_register_drivers() also
rolls back the first registration if the second one fails.
No functional change for built-in builds; this is a preparatory cleanup
for enabling module builds.
Signed-off-by: Justin Yeh <justin.yeh@mediatek.com>
Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Linus Walleij <linusw@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions
