diff mbox series

phy: phy-rockchip-samsung-hdptx: Select CONFIG_MFD_SYSCON

Message ID 20240629-rk-hdptx-compile-test-fix-v1-1-c86675ba8070@collabora.com (mailing list archive)
State New
Headers show
Series phy: phy-rockchip-samsung-hdptx: Select CONFIG_MFD_SYSCON | expand

Commit Message

Cristian Ciocaltea June 29, 2024, 12:26 a.m. UTC
Compile testing configurations without REGMAP support enabled results in
a bunch of errors being reported:

  ../drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c:569:21: error: variable ‘rk_hdptx_phy_regmap_config’ has initializer but incomplete type
    569 | static const struct regmap_config rk_hdptx_phy_regmap_config = {
        |                     ^~~~~~~~~~~~~
  ../drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c:570:10: error: ‘const struct regmap_config’ has no member named ‘reg_bits’
    570 |         .reg_bits = 32,
        |          ^~~~~~~~

Note that selecting REGMAP alone is not enough, because of the following
liker error:

  phy-rockchip-samsung-hdptx.c:(.text+0x10c): undefined reference to `__devm_regmap_init_mmio_clk'

Instead of the obvious fix to enable REGMAP_MMIO, select MFD_SYSCON,
which implicitly enables REGMAP_MMIO as well.  The rationale is that the
driver has been already relying on the syscon functionality.

Moreover, without MFD_SYSCON enabled, the test coverage is reduced,
since the linker might not detect any potential undefined references
following syscon_regmap_lookup_by_phandle() invocation in
rk_hdptx_phy_probe() body.  That is because the function would
unconditionally return -ENOTSUP, hence the compiler is free to optimize
out any unreachable code.

Finally ensure PHY_ROCKCHIP_SAMSUNG_HDPTX depends on HAS_IOMEM, as
required by MFD_SYSCON.

Fixes: 553be2830c5f ("phy: rockchip: Add Samsung HDMI/eDP Combo PHY driver")
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
---
 drivers/phy/rockchip/Kconfig | 2 ++
 1 file changed, 2 insertions(+)


---
base-commit: 1eb586a9782cde8e5091b9de74603e0a8386b09e
change-id: 20240629-rk-hdptx-compile-test-fix-bb0d96a0b225

Comments

Vinod Koul July 2, 2024, 1:35 p.m. UTC | #1
On Sat, 29 Jun 2024 03:26:58 +0300, Cristian Ciocaltea wrote:
> Compile testing configurations without REGMAP support enabled results in
> a bunch of errors being reported:
> 
>   ../drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c:569:21: error: variable ‘rk_hdptx_phy_regmap_config’ has initializer but incomplete type
>     569 | static const struct regmap_config rk_hdptx_phy_regmap_config = {
>         |                     ^~~~~~~~~~~~~
>   ../drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c:570:10: error: ‘const struct regmap_config’ has no member named ‘reg_bits’
>     570 |         .reg_bits = 32,
>         |          ^~~~~~~~
> 
> [...]

Applied, thanks!

[1/1] phy: phy-rockchip-samsung-hdptx: Select CONFIG_MFD_SYSCON
      commit: edf9e04955d2387032beac54ebf20b43aaca2adf

Best regards,
diff mbox series

Patch

diff --git a/drivers/phy/rockchip/Kconfig b/drivers/phy/rockchip/Kconfig
index 08b0f4345760..490263375057 100644
--- a/drivers/phy/rockchip/Kconfig
+++ b/drivers/phy/rockchip/Kconfig
@@ -86,7 +86,9 @@  config PHY_ROCKCHIP_PCIE
 config PHY_ROCKCHIP_SAMSUNG_HDPTX
 	tristate "Rockchip Samsung HDMI/eDP Combo PHY driver"
 	depends on (ARCH_ROCKCHIP || COMPILE_TEST) && OF
+	depends on HAS_IOMEM
 	select GENERIC_PHY
+	select MFD_SYSCON
 	select RATIONAL
 	help
 	  Enable this to support the Rockchip HDMI/eDP Combo PHY