• Arnd Bergmann's avatar
    mfd: rz-mtu3: Link time dependencies · 10d33404
    Arnd Bergmann authored
    The new set of drivers for RZ/G2L MTU3a tries to enable compile-testing the
    individual client drivers even when the MFD portion is disabled but gets it
    wrong, causing a link failure when the core is in a loadable module but the
    other drivers are built-in:
    
    x86_64-linux-ld: drivers/pwm/pwm-rz-mtu3.o: in function `rz_mtu3_pwm_apply':
    pwm-rz-mtu3.c:(.text+0x4bf): undefined reference to `rz_mtu3_8bit_ch_write'
    x86_64-linux-ld: pwm-rz-mtu3.c:(.text+0x509): undefined reference to `rz_mtu3_disable'
    
    arm-linux-gnueabi-ld: drivers/counter/rz-mtu3-cnt.o: in function `rz_mtu3_cascade_counts_enable_get':
    rz-mtu3-cnt.c:(.text+0xbec): undefined reference to `rz_mtu3_shared_reg_read'
    
    It seems better not to add the extra complexity here but instead just use
    a normal hard dependency, so remove the #else portion in the header along
    with the "|| COMPILE_TEST". This could also be fixed by having slightly more
    elaborate Kconfig dependencies or using the cursed 'IS_REACHABLE()' helper,
    but in practice it's already possible to compile-test all these drivers
    by enabling the mtd portion.
    
    Fixes: 254d3a72 ("pwm: Add Renesas RZ/G2L MTU3a PWM driver")
    Fixes: 0be89073 ("counter: Add Renesas RZ/G2L MTU3a counter driver")
    Fixes: 654c293e ("mfd: Add Renesas RZ/G2L MTU3a core driver")
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Acked-by: default avatarThierry Reding <thierry.reding@gmail.com>
    Reviewed-by: default avatarBiju Das <biju.das.jz@bp.renesas.com>
    Link: https://lore.kernel.org/r/20230719090430.1925182-1-arnd@kernel.orgSigned-off-by: default avatarLee Jones <lee@kernel.org>
    10d33404
Kconfig 4.62 KB