mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-08-09 06:14:34 +02:00
Sashiko reported an inconsistent use of NULL vs ERR_PTR()
returns in the stub helpers in xynos-acpm-protocol.h.
Since this only happens on dead code for COMPILE_TEST=y, this is not
really a bug though. Having stub functions that return NULL is a common
way to define optional interfaces, where callers still work when the
feature is disabled, though this clearly does not work for acpm because
some callers have a NULL pointer dereference when compile testing.
Since CONFIG_EXYNOS_ACPM_PROTOCOL already supports compile-testing itself,
and all (both) drivers using it clearly require the support, so this
just simplifies the option space without losing any build coverage.
Remove the stub functions entirely and adjust the one Kconfig
dependency to require EXYNOS_ACPM_PROTOCOL unconditionally.
Fixes: 6837c006d4 ("firmware: exynos-acpm: add empty method to allow compile test")
Closes: https://sashiko.dev/#/patchset/20260420-acpm-tmu-v3-0-3dc8e93f0b26%40linaro.org
Link: https://lore.kernel.org/all/a7994860-24a3-4f87-84bf-109ed653dda4@linaro.org/
Reviewed-by: Tudor Ambarus <tudor.ambarus@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Link: https://patch.msgid.link/20260529134454.2147446-1-arnd@kernel.org
[krzk: Rebase on difference in devm_acpm_get_by_node()]
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
115 lines
4.2 KiB
Plaintext
115 lines
4.2 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
# Recent Exynos platforms should just select COMMON_CLK_SAMSUNG:
|
|
config COMMON_CLK_SAMSUNG
|
|
bool "Samsung Exynos clock controller support" if COMPILE_TEST
|
|
depends on OF
|
|
select S3C64XX_COMMON_CLK if ARM && ARCH_S3C64XX
|
|
select S5PV210_COMMON_CLK if ARM && ARCH_S5PV210
|
|
select EXYNOS_3250_COMMON_CLK if ARM && SOC_EXYNOS3250
|
|
select EXYNOS_4_COMMON_CLK if ARM && ARCH_EXYNOS4
|
|
select EXYNOS_5250_COMMON_CLK if ARM && SOC_EXYNOS5250
|
|
select EXYNOS_5260_COMMON_CLK if ARM && SOC_EXYNOS5260
|
|
select EXYNOS_5410_COMMON_CLK if ARM && SOC_EXYNOS5410
|
|
select EXYNOS_5420_COMMON_CLK if ARM && SOC_EXYNOS5420
|
|
select EXYNOS_ARM64_COMMON_CLK if ARM64 && ARCH_EXYNOS
|
|
select TESLA_FSD_COMMON_CLK if ARM64 && ARCH_TESLA_FSD
|
|
|
|
config S3C64XX_COMMON_CLK
|
|
bool "Samsung S3C64xx clock controller support" if COMPILE_TEST
|
|
depends on COMMON_CLK_SAMSUNG
|
|
help
|
|
Support for the clock controller present on the Samsung S3C64xx SoCs.
|
|
Choose Y here only if you build for this SoC.
|
|
|
|
config S5PV210_COMMON_CLK
|
|
bool "Samsung S5Pv210 clock controller support" if COMPILE_TEST
|
|
depends on COMMON_CLK_SAMSUNG
|
|
help
|
|
Support for the clock controller present on the Samsung S5Pv210 SoCs.
|
|
Choose Y here only if you build for this SoC.
|
|
|
|
config EXYNOS_3250_COMMON_CLK
|
|
bool "Samsung Exynos3250 clock controller support" if COMPILE_TEST
|
|
depends on COMMON_CLK_SAMSUNG
|
|
help
|
|
Support for the clock controller present on the Samsung
|
|
Exynos3250 SoCs. Choose Y here only if you build for this SoC.
|
|
|
|
config EXYNOS_4_COMMON_CLK
|
|
bool "Samsung Exynos4 clock controller support" if COMPILE_TEST
|
|
depends on COMMON_CLK_SAMSUNG
|
|
help
|
|
Support for the clock controller present on the Samsung
|
|
Exynos4212 and Exynos4412 SoCs. Choose Y here only if you build for
|
|
this SoC.
|
|
|
|
config EXYNOS_5250_COMMON_CLK
|
|
bool "Samsung Exynos5250 clock controller support" if COMPILE_TEST
|
|
depends on COMMON_CLK_SAMSUNG
|
|
help
|
|
Support for the clock controller present on the Samsung
|
|
Exynos5250 SoCs. Choose Y here only if you build for this SoC.
|
|
|
|
config EXYNOS_5260_COMMON_CLK
|
|
bool "Samsung Exynos5260 clock controller support" if COMPILE_TEST
|
|
depends on COMMON_CLK_SAMSUNG
|
|
help
|
|
Support for the clock controller present on the Samsung
|
|
Exynos5260 SoCs. Choose Y here only if you build for this SoC.
|
|
|
|
config EXYNOS_5410_COMMON_CLK
|
|
bool "Samsung Exynos5410 clock controller support" if COMPILE_TEST
|
|
depends on COMMON_CLK_SAMSUNG
|
|
help
|
|
Support for the clock controller present on the Samsung
|
|
Exynos5410 SoCs. Choose Y here only if you build for this SoC.
|
|
|
|
config EXYNOS_5420_COMMON_CLK
|
|
bool "Samsung Exynos5420 clock controller support" if COMPILE_TEST
|
|
depends on COMMON_CLK_SAMSUNG
|
|
help
|
|
Support for the clock controller present on the Samsung
|
|
Exynos5420/Exynos5422/Exynos5800 SoCs. Choose Y here only if you
|
|
build for this SoC.
|
|
|
|
config EXYNOS_ARM64_COMMON_CLK
|
|
bool "Samsung Exynos ARMv8-family clock controller support" if COMPILE_TEST
|
|
depends on COMMON_CLK_SAMSUNG
|
|
|
|
config EXYNOS_AUDSS_CLK_CON
|
|
tristate "Samsung Exynos AUDSS clock controller support"
|
|
depends on COMMON_CLK_SAMSUNG
|
|
default y if ARCH_EXYNOS
|
|
help
|
|
Support for the Audio Subsystem CLKCON clock controller present
|
|
on some Samsung Exynos SoC variants. Choose M or Y here if you want
|
|
to use audio devices such as I2S, PCM, etc.
|
|
|
|
config EXYNOS_CLKOUT
|
|
tristate "Samsung Exynos clock output driver"
|
|
depends on COMMON_CLK_SAMSUNG
|
|
default y if ARCH_EXYNOS
|
|
help
|
|
Support for the clock output (XCLKOUT) present on some of Samsung
|
|
Exynos SoC variants. Usually the XCLKOUT is used to monitor the
|
|
status of the certains clocks from SoC, but it could also be tied to
|
|
other devices as an input clock.
|
|
|
|
config EXYNOS_ACPM_CLK
|
|
tristate "Clock driver controlled via ACPM interface"
|
|
depends on EXYNOS_ACPM_PROTOCOL
|
|
help
|
|
This driver provides support for clocks that are controlled by
|
|
firmware that implements the ACPM interface.
|
|
|
|
This driver uses the ACPM interface to interact with the firmware
|
|
providing all the clock controlls.
|
|
|
|
config TESLA_FSD_COMMON_CLK
|
|
bool "Tesla FSD clock controller support" if COMPILE_TEST
|
|
depends on COMMON_CLK_SAMSUNG
|
|
depends on EXYNOS_ARM64_COMMON_CLK
|
|
help
|
|
Support for the clock controller present on the Tesla FSD SoC.
|
|
Choose Y here only if you build for this SoC.
|