• Arnd Bergmann's avatar
    clk: sprd: fix compile-testing · b5f73d47
    Arnd Bergmann authored
    I got a build failure with CONFIG_ARCH_SPRD=m when the
    main portion of the clock driver failed to get linked into
    the kernel:
    
    ERROR: modpost: "sprd_pll_sc_gate_ops" [drivers/clk/sprd/sc9863a-clk.ko] undefined!
    ERROR: modpost: "sprd_pll_ops" [drivers/clk/sprd/sc9863a-clk.ko] undefined!
    ERROR: modpost: "sprd_div_ops" [drivers/clk/sprd/sc9863a-clk.ko] undefined!
    ERROR: modpost: "sprd_comp_ops" [drivers/clk/sprd/sc9863a-clk.ko] undefined!
    ERROR: modpost: "sprd_mux_ops" [drivers/clk/sprd/sc9863a-clk.ko] undefined!
    ERROR: modpost: "sprd_gate_ops" [drivers/clk/sprd/sc9863a-clk.ko] undefined!
    ERROR: modpost: "sprd_sc_gate_ops" [drivers/clk/sprd/sc9863a-clk.ko] undefined!
    ERROR: modpost: "sprd_clk_probe" [drivers/clk/sprd/sc9863a-clk.ko] undefined!
    ERROR: modpost: "sprd_clk_regmap_init" [drivers/clk/sprd/sc9863a-clk.ko] undefined!
    ERROR: modpost: "sprd_pll_ops" [drivers/clk/sprd/sc9860-clk.ko] undefined!
    ERROR: modpost: "sprd_div_ops" [drivers/clk/sprd/sc9860-clk.ko] undefined!
    ERROR: modpost: "sprd_mux_ops" [drivers/clk/sprd/sc9860-clk.ko] undefined!
    
    This is a combination of two trivial bugs:
    
    - A platform should not be 'tristate', it should be a 'bool' symbol
      like the other platforms, if only for consistency, and to avoid
      surprises like this one.
    
    - The clk Makefile does not traverse into the sprd subdirectory
      if the platform is disabled but the drivers are enabled for
      compile-testing.
    
    Fixing either of the two would be sufficient to address the link failure,
    but for correctness, both need to be changed.
    
    Fixes: 2b1b799d ("arm64: change ARCH_SPRD Kconfig to tristate")
    Fixes: d41f59fd ("clk: sprd: Add common infrastructure")
    Acked-by: default avatarChunyan Zhang <chunyan.zhang@unisoc.com>
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    b5f73d47
Makefile 4.8 KB