• Cristian Ciocaltea's avatar
    phy: phy-rockchip-samsung-hdptx: Select CONFIG_MFD_SYSCON · edf9e049
    Cristian Ciocaltea authored
    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: 553be283 ("phy: rockchip: Add Samsung HDMI/eDP Combo PHY driver")
    Signed-off-by: default avatarCristian Ciocaltea <cristian.ciocaltea@collabora.com>
    Link: https://lore.kernel.org/r/20240629-rk-hdptx-compile-test-fix-v1-1-c86675ba8070@collabora.comSigned-off-by: default avatarVinod Koul <vkoul@kernel.org>
    edf9e049
Kconfig 3.68 KB