* Re: [PATCHv2] firmware/tegra: add COMPILE_TEST
2026-03-24 1:57 [PATCHv2] firmware/tegra: add COMPILE_TEST Rosen Penev
@ 2026-03-24 6:01 ` Mikko Perttunen
2026-03-24 6:42 ` Rosen Penev
2026-03-26 19:35 ` kernel test robot
` (2 subsequent siblings)
3 siblings, 1 reply; 7+ messages in thread
From: Mikko Perttunen @ 2026-03-24 6:01 UTC (permalink / raw)
To: linux-tegra, Rosen Penev
Cc: Michael Turquette, Stephen Boyd, Thierry Reding, Jonathan Hunter,
open list:COMMON CLK FRAMEWORK, open list
On Tuesday, March 24, 2026 10:57 AM Rosen Penev wrote:
> For this driver specifically, there's no arch specific stuff needed.
>
> Build the tegra clk stuff as tegra_bpmp_init_clocks is defined there.
> CLK_TEGRA_BPMP also depends on TEGRA_BPMP.
>
> Signed-off-by: Rosen Penev <rosenp@gmail.com>
> ---
> v2: also build the tegra clk stuff.
> drivers/clk/Makefile | 2 +-
> drivers/firmware/tegra/Kconfig | 4 ++--
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/clk/Makefile b/drivers/clk/Makefile
> index 760d9643705f..334d5c522394 100644
> --- a/drivers/clk/Makefile
> +++ b/drivers/clk/Makefile
> @@ -154,7 +154,7 @@ obj-$(CONFIG_ARCH_STM32) += stm32/
> obj-y += starfive/
> obj-$(CONFIG_ARCH_SUNXI) += sunxi/
> obj-y += sunxi-ng/
> -obj-$(CONFIG_ARCH_TEGRA) += tegra/
> +obj-y += tegra/
clk/tegra/Makefile doesn't separately check for ARCH_TEGRA, so this will cause
much of it to get built on non-Tegra platforms as well.
Cheers,
Mikko
> obj-y += tenstorrent/
> obj-$(CONFIG_ARCH_THEAD) += thead/
> obj-y += ti/
> diff --git a/drivers/firmware/tegra/Kconfig b/drivers/firmware/tegra/Kconfig
> index 91f2320c0d0f..ae21f460807d 100644
> --- a/drivers/firmware/tegra/Kconfig
> +++ b/drivers/firmware/tegra/Kconfig
> @@ -3,7 +3,7 @@ menu "Tegra firmware driver"
>
> config TEGRA_IVC
> bool "Tegra IVC protocol" if COMPILE_TEST
> - depends on ARCH_TEGRA
> + depends on ARCH_TEGRA || COMPILE_TEST
> help
> IVC (Inter-VM Communication) protocol is part of the IPC
> (Inter Processor Communication) framework on Tegra. It maintains
the
> @@ -13,7 +13,7 @@ config TEGRA_IVC
>
> config TEGRA_BPMP
> bool "Tegra BPMP driver"
> - depends on ARCH_TEGRA && TEGRA_HSP_MBOX
> + depends on (ARCH_TEGRA && TEGRA_HSP_MBOX) || COMPILE_TEST
> depends on !CPU_BIG_ENDIAN
> select TEGRA_IVC
> help
> --
> 2.53.0
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCHv2] firmware/tegra: add COMPILE_TEST
2026-03-24 1:57 [PATCHv2] firmware/tegra: add COMPILE_TEST Rosen Penev
2026-03-24 6:01 ` Mikko Perttunen
@ 2026-03-26 19:35 ` kernel test robot
2026-03-26 19:35 ` kernel test robot
2026-03-26 21:51 ` kernel test robot
3 siblings, 0 replies; 7+ messages in thread
From: kernel test robot @ 2026-03-26 19:35 UTC (permalink / raw)
To: Rosen Penev, linux-tegra
Cc: oe-kbuild-all, Michael Turquette, Stephen Boyd, Thierry Reding,
Jonathan Hunter, linux-clk, linux-kernel
Hi Rosen,
kernel test robot noticed the following build errors:
[auto build test ERROR on next-20260325]
[cannot apply to tegra/for-next clk/clk-next drm-tegra/drm/tegra/for-next v7.0-rc5 v7.0-rc4 v7.0-rc3 linus/master v7.0-rc5]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Rosen-Penev/firmware-tegra-add-COMPILE_TEST/20260326-124230
base: next-20260325
patch link: https://lore.kernel.org/r/20260324015722.12507-1-rosenp%40gmail.com
patch subject: [PATCHv2] firmware/tegra: add COMPILE_TEST
config: parisc-allnoconfig (https://download.01.org/0day-ci/archive/20260327/202603270355.rxjFONcV-lkp@intel.com/config)
compiler: hppa-linux-gcc (GCC) 15.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260327/202603270355.rxjFONcV-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202603270355.rxjFONcV-lkp@intel.com/
All errors (new ones prefixed by >>):
hppa-linux-ld: drivers/clk/tegra/clk.o: in function `tegra_register_devclks':
>> (.text+0x348): undefined reference to `clk_register_clkdev'
>> hppa-linux-ld: (.text+0x398): undefined reference to `__clk_get_name'
>> hppa-linux-ld: (.text+0x3a8): undefined reference to `clk_register_clkdev'
hppa-linux-ld: drivers/clk/tegra/clk.o: in function `tegra_clk_dev_register':
>> (.text+0x438): undefined reference to `clk_register'
hppa-linux-ld: drivers/clk/tegra/clk.o: in function `tegra_init_dup_clks':
>> (.init.text+0x114): undefined reference to `clkdev_add'
hppa-linux-ld: drivers/clk/tegra/clk-tegra-audio.o: in function `tegra_audio_sync_clk_init.constprop.0':
>> (.init.text+0x90): undefined reference to `clk_register_mux_table'
>> hppa-linux-ld: (.init.text+0xd0): undefined reference to `clk_register_gate'
hppa-linux-ld: drivers/clk/tegra/clk-tegra-audio.o: in function `tegra_audio_clk_init':
>> (.init.text+0x348): undefined reference to `clk_register_fixed_factor'
>> hppa-linux-ld: drivers/clk/tegra/clk-tegra-periph.o:(.data+0x10c): undefined reference to `clk_mux_ops'
hppa-linux-ld: drivers/clk/tegra/clk-tegra-periph.o:(.data+0x1a4): undefined reference to `clk_mux_ops'
hppa-linux-ld: drivers/clk/tegra/clk-tegra-periph.o:(.data+0x23c): undefined reference to `clk_mux_ops'
hppa-linux-ld: drivers/clk/tegra/clk-tegra-periph.o:(.data+0x2d4): undefined reference to `clk_mux_ops'
hppa-linux-ld: drivers/clk/tegra/clk-tegra-periph.o:(.data+0x36c): undefined reference to `clk_mux_ops'
hppa-linux-ld: drivers/clk/tegra/clk-tegra-periph.o:(.data+0x404): more undefined references to `clk_mux_ops' follow
hppa-linux-ld: drivers/clk/tegra/clk-tegra-periph.o: in function `init_pllp':
>> (.init.text+0x7c): undefined reference to `clk_register_clkdev'
hppa-linux-ld: (.init.text+0x204): undefined reference to `clk_register_gate'
hppa-linux-ld: (.init.text+0x24c): undefined reference to `clk_register_gate'
>> hppa-linux-ld: (.init.text+0x260): undefined reference to `clk_register_clkdev'
hppa-linux-ld: drivers/clk/tegra/clk-tegra-fixed.o: in function `tegra_osc_clk_init':
>> (.init.text+0x9c): undefined reference to `clk_register_fixed_rate'
>> hppa-linux-ld: (.init.text+0xd8): undefined reference to `clk_register_fixed_factor'
hppa-linux-ld: (.init.text+0x114): undefined reference to `clk_register_fixed_factor'
hppa-linux-ld: (.init.text+0x150): undefined reference to `clk_register_fixed_factor'
hppa-linux-ld: (.init.text+0x194): undefined reference to `clk_register_fixed_factor'
hppa-linux-ld: drivers/clk/tegra/clk-tegra-fixed.o: in function `tegra_fixed_clk_init':
(.init.text+0x20c): undefined reference to `clk_register_fixed_rate'
hppa-linux-ld: drivers/clk/tegra/clk-tegra-super-gen4.o: in function `tegra_sclk_init':
>> (.init.text+0xb8): undefined reference to `clk_register_divider_table'
>> hppa-linux-ld: (.init.text+0x164): undefined reference to `clk_register_divider_table'
hppa-linux-ld: (.init.text+0x194): undefined reference to `clk_register_gate'
hppa-linux-ld: (.init.text+0x1ec): undefined reference to `clk_register_divider_table'
hppa-linux-ld: (.init.text+0x21c): undefined reference to `clk_register_gate'
hppa-linux-ld: drivers/clk/tegra/clk-audio-sync.o: in function `tegra_clk_register_sync_source':
(.text+0x13c): undefined reference to `clk_register'
hppa-linux-ld: drivers/clk/tegra/clk-dfll.o: in function `tegra_dfll_unregister':
>> (.text+0x1d8): undefined reference to `clk_unregister'
hppa-linux-ld: drivers/clk/tegra/clk-divider.o: in function `clk_divider_restore_context':
>> (.text+0x2c8): undefined reference to `clk_hw_get_parent'
>> hppa-linux-ld: (.text+0x2d0): undefined reference to `clk_hw_get_rate'
hppa-linux-ld: (.text+0x2dc): undefined reference to `clk_hw_get_rate'
hppa-linux-ld: drivers/clk/tegra/clk-divider.o: in function `tegra_clk_register_divider':
(.text+0x3d0): undefined reference to `clk_register'
hppa-linux-ld: drivers/clk/tegra/clk-divider.o: in function `tegra_clk_register_mc':
>> (.text+0x4c4): undefined reference to `clk_register_divider_table'
hppa-linux-ld: drivers/clk/tegra/clk-periph.o: in function `clk_periph_restore_context':
>> (.text+0x254): undefined reference to `clk_hw_get_parent_index'
hppa-linux-ld: drivers/clk/tegra/clk-periph.o: in function `tegra_clk_register_periph':
(.text+0x3bc): undefined reference to `clk_register'
hppa-linux-ld: (.text+0x420): undefined reference to `clk_register'
hppa-linux-ld: drivers/clk/tegra/clk-periph.o: in function `tegra_clk_register_periph_nodiv':
(.text+0x528): undefined reference to `clk_register'
hppa-linux-ld: drivers/clk/tegra/clk-periph.o: in function `tegra_clk_register_periph_data':
(.text+0x648): undefined reference to `clk_register'
hppa-linux-ld: (.text+0x6b0): undefined reference to `clk_register'
hppa-linux-ld: drivers/clk/tegra/clk-periph.o:(.rodata+0x94): undefined reference to `clk_hw_determine_rate_no_reparent'
hppa-linux-ld: drivers/clk/tegra/clk-periph-fixed.o: in function `tegra_clk_register_periph_fixed':
(.text+0x250): undefined reference to `clk_register'
hppa-linux-ld: drivers/clk/tegra/clk-periph-gate.o: in function `tegra_clk_register_periph_gate':
(.text+0x35c): undefined reference to `clk_register'
hppa-linux-ld: drivers/clk/tegra/clk-pll.o: in function `clk_pll_determine_rate':
(.text+0x6c4): undefined reference to `clk_hw_get_rate'
hppa-linux-ld: drivers/clk/tegra/clk-pll.o: in function `clk_pll_wait_for_lock':
(.text+0x7c0): undefined reference to `clk_hw_get_name'
hppa-linux-ld: drivers/clk/tegra/clk-pll.o: in function `clk_pllu_enable':
(.text+0xed0): undefined reference to `clk_hw_get_parent'
hppa-linux-ld: (.text+0xed8): undefined reference to `clk_hw_get_parent'
hppa-linux-ld: (.text+0xee8): undefined reference to `clk_hw_get_rate'
hppa-linux-ld: drivers/clk/tegra/clk-pll.o: in function `clk_pll_recalc_rate':
(.text+0x17c4): undefined reference to `clk_hw_get_name'
hppa-linux-ld: (.text+0x1818): undefined reference to `clk_hw_get_name'
hppa-linux-ld: drivers/clk/tegra/clk-pll.o: in function `clk_pll_set_rate':
(.text+0x1d54): undefined reference to `clk_hw_get_name'
hppa-linux-ld: (.text+0x1d84): undefined reference to `clk_hw_get_name'
hppa-linux-ld: drivers/clk/tegra/clk-pll.o: in function `tegra_clk_pll_restore_context':
(.text+0x1dcc): undefined reference to `clk_hw_get_parent'
hppa-linux-ld: (.text+0x1dd4): undefined reference to `clk_hw_get_rate'
hppa-linux-ld: (.text+0x1de0): undefined reference to `clk_hw_get_rate'
hppa-linux-ld: (.text+0x1e20): undefined reference to `__clk_get_enable_count'
hppa-linux-ld: drivers/clk/tegra/clk-pll.o: in function `clk_plle_enable':
(.text+0x1ed0): undefined reference to `clk_hw_get_parent'
hppa-linux-ld: (.text+0x1ed8): undefined reference to `clk_hw_get_rate'
hppa-linux-ld: drivers/clk/tegra/clk-pll-out.o: in function `tegra_clk_pll_out_restore_context':
(.text+0x1cc): undefined reference to `__clk_get_enable_count'
hppa-linux-ld: drivers/clk/tegra/clk-pll-out.o: in function `tegra_clk_register_pll_out':
(.text+0x2cc): undefined reference to `clk_register'
hppa-linux-ld: drivers/clk/tegra/clk-sdmmc-mux.o: in function `clk_sdmmc_mux_get_parent':
(.text+0x248): undefined reference to `clk_hw_get_num_parents'
hppa-linux-ld: drivers/clk/tegra/clk-sdmmc-mux.o: in function `clk_sdmmc_mux_restore_context':
(.text+0x48c): undefined reference to `clk_hw_get_parent'
hppa-linux-ld: (.text+0x494): undefined reference to `clk_hw_get_rate'
hppa-linux-ld: (.text+0x4a0): undefined reference to `clk_hw_get_rate'
hppa-linux-ld: (.text+0x4ac): undefined reference to `clk_hw_get_parent_index'
hppa-linux-ld: drivers/clk/tegra/clk-sdmmc-mux.o: in function `tegra_clk_register_sdmmc_mux_div':
(.text+0x5f4): undefined reference to `clk_register'
hppa-linux-ld: drivers/clk/tegra/clk-super.o: in function `clk_super_restore_context':
(.text+0x38c): undefined reference to `clk_hw_get_parent_index'
hppa-linux-ld: drivers/clk/tegra/clk-super.o: in function `clk_super_mux_restore_context':
(.text+0x408): undefined reference to `clk_hw_get_parent_index'
hppa-linux-ld: drivers/clk/tegra/clk-super.o: in function `tegra_clk_register_super_clk':
(.text+0x658): undefined reference to `clk_register'
hppa-linux-ld: drivers/clk/tegra/clk-super.o:(.rodata+0x94): undefined reference to `clk_hw_determine_rate_no_reparent'
hppa-linux-ld: drivers/clk/tegra/clk-tegra-super-cclk.o: in function `cclk_super_determine_rate':
(.text+0xe0): undefined reference to `clk_hw_get_parent_by_index'
hppa-linux-ld: (.text+0xf0): undefined reference to `clk_hw_get_parent_by_index'
hppa-linux-ld: (.text+0x10c): undefined reference to `clk_hw_get_rate'
hppa-linux-ld: (.text+0x184): undefined reference to `clk_hw_get_rate_range'
hppa-linux-ld: (.text+0x1b0): undefined reference to `clk_hw_round_rate'
hppa-linux-ld: drivers/clk/tegra/clk-tegra-super-cclk.o: in function `tegra_clk_register_super_cclk':
(.text+0x3c8): undefined reference to `clk_register'
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCHv2] firmware/tegra: add COMPILE_TEST
2026-03-24 1:57 [PATCHv2] firmware/tegra: add COMPILE_TEST Rosen Penev
2026-03-24 6:01 ` Mikko Perttunen
2026-03-26 19:35 ` kernel test robot
@ 2026-03-26 19:35 ` kernel test robot
2026-03-26 21:51 ` kernel test robot
3 siblings, 0 replies; 7+ messages in thread
From: kernel test robot @ 2026-03-26 19:35 UTC (permalink / raw)
To: Rosen Penev, linux-tegra
Cc: oe-kbuild-all, Michael Turquette, Stephen Boyd, Thierry Reding,
Jonathan Hunter, linux-clk, linux-kernel
Hi Rosen,
kernel test robot noticed the following build errors:
[auto build test ERROR on next-20260325]
[cannot apply to tegra/for-next clk/clk-next drm-tegra/drm/tegra/for-next v7.0-rc5 v7.0-rc4 v7.0-rc3 linus/master v7.0-rc5]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Rosen-Penev/firmware-tegra-add-COMPILE_TEST/20260326-124230
base: next-20260325
patch link: https://lore.kernel.org/r/20260324015722.12507-1-rosenp%40gmail.com
patch subject: [PATCHv2] firmware/tegra: add COMPILE_TEST
config: sparc-allnoconfig (https://download.01.org/0day-ci/archive/20260327/202603270305.aMVfb5Bs-lkp@intel.com/config)
compiler: sparc-linux-gcc (GCC) 15.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260327/202603270305.aMVfb5Bs-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202603270305.aMVfb5Bs-lkp@intel.com/
All errors (new ones prefixed by >>):
sparc-linux-ld: drivers/clk/tegra/clk.o: in function `tegra_register_devclks':
clk.c:(.text+0x4b0): undefined reference to `clk_register_clkdev'
>> sparc-linux-ld: clk.c:(.text+0x520): undefined reference to `__clk_get_name'
>> sparc-linux-ld: clk.c:(.text+0x530): undefined reference to `clk_register_clkdev'
sparc-linux-ld: drivers/clk/tegra/clk.o: in function `tegra_clk_dev_register':
clk.c:(.text+0x5fc): undefined reference to `clk_register'
>> sparc-linux-ld: clk.c:(.text+0x664): undefined reference to `clk_register'
sparc-linux-ld: drivers/clk/tegra/clk.o: in function `tegra_init_dup_clks':
clk.c:(.init.text+0x10c): undefined reference to `clkdev_add'
sparc-linux-ld: drivers/clk/tegra/clk.o: in function `tegra_add_of_provider':
clk.c:(.init.text+0x1a0): undefined reference to `of_clk_add_provider'
sparc-linux-ld: drivers/clk/tegra/clk-audio-sync.o: in function `tegra_clk_register_sync_source':
clk-audio-sync.c:(.text+0x128): undefined reference to `clk_register'
sparc-linux-ld: drivers/clk/tegra/clk-dfll.o: in function `tegra_dfll_unregister':
clk-dfll.c:(.text+0x19c): undefined reference to `of_clk_del_provider'
>> sparc-linux-ld: clk-dfll.c:(.text+0x1a4): undefined reference to `clk_unregister'
sparc-linux-ld: drivers/clk/tegra/clk-divider.o: in function `clk_divider_restore_context':
clk-divider.c:(.text+0x2c4): undefined reference to `clk_hw_get_parent'
>> sparc-linux-ld: clk-divider.c:(.text+0x2cc): undefined reference to `clk_hw_get_rate'
sparc-linux-ld: clk-divider.c:(.text+0x2d8): undefined reference to `clk_hw_get_rate'
sparc-linux-ld: drivers/clk/tegra/clk-divider.o: in function `tegra_clk_register_divider':
clk-divider.c:(.text+0x3b4): undefined reference to `clk_register'
sparc-linux-ld: drivers/clk/tegra/clk-divider.o: in function `tegra_clk_register_mc':
clk-divider.c:(.text+0x438): undefined reference to `clk_register_divider_table'
sparc-linux-ld: drivers/clk/tegra/clk-periph.o: in function `clk_periph_restore_context':
clk-periph.c:(.text+0x248): undefined reference to `clk_hw_get_parent_index'
sparc-linux-ld: drivers/clk/tegra/clk-periph.o: in function `tegra_clk_register_periph':
clk-periph.c:(.text+0x350): undefined reference to `clk_register'
>> sparc-linux-ld: clk-periph.c:(.text+0x3d4): undefined reference to `clk_register'
sparc-linux-ld: drivers/clk/tegra/clk-periph.o: in function `tegra_clk_register_periph_nodiv':
clk-periph.c:(.text+0x484): undefined reference to `clk_register'
sparc-linux-ld: drivers/clk/tegra/clk-periph.o: in function `tegra_clk_register_periph_data':
clk-periph.c:(.text+0x560): undefined reference to `clk_register'
sparc-linux-ld: clk-periph.c:(.text+0x5e4): undefined reference to `clk_register'
>> sparc-linux-ld: drivers/clk/tegra/clk-periph.o:(.rodata+0x94): undefined reference to `clk_hw_determine_rate_no_reparent'
sparc-linux-ld: drivers/clk/tegra/clk-periph-fixed.o: in function `tegra_clk_register_periph_fixed':
clk-periph-fixed.c:(.text+0x2fc): undefined reference to `clk_register'
sparc-linux-ld: drivers/clk/tegra/clk-periph-gate.o: in function `tegra_clk_register_periph_gate':
clk-periph-gate.c:(.text+0x448): undefined reference to `clk_register'
sparc-linux-ld: drivers/clk/tegra/clk-pll.o: in function `clk_pll_determine_rate':
clk-pll.c:(.text+0x764): undefined reference to `clk_hw_get_rate'
sparc-linux-ld: drivers/clk/tegra/clk-pll.o: in function `clk_pll_wait_for_lock':
clk-pll.c:(.text+0x860): undefined reference to `clk_hw_get_name'
sparc-linux-ld: drivers/clk/tegra/clk-pll.o: in function `clk_pllu_enable':
clk-pll.c:(.text+0x1244): undefined reference to `clk_hw_get_parent'
>> sparc-linux-ld: clk-pll.c:(.text+0x124c): undefined reference to `clk_hw_get_parent'
>> sparc-linux-ld: clk-pll.c:(.text+0x1260): undefined reference to `clk_hw_get_rate'
sparc-linux-ld: drivers/clk/tegra/clk-pll.o: in function `clk_pll_set_rate':
clk-pll.c:(.text+0x20d8): undefined reference to `clk_hw_get_name'
>> sparc-linux-ld: clk-pll.c:(.text+0x2110): undefined reference to `clk_hw_get_name'
sparc-linux-ld: drivers/clk/tegra/clk-pll.o: in function `tegra_clk_pll_restore_context':
clk-pll.c:(.text+0x2184): undefined reference to `clk_hw_get_parent'
sparc-linux-ld: clk-pll.c:(.text+0x218c): undefined reference to `clk_hw_get_rate'
sparc-linux-ld: clk-pll.c:(.text+0x2198): undefined reference to `clk_hw_get_rate'
>> sparc-linux-ld: clk-pll.c:(.text+0x21e4): undefined reference to `__clk_get_enable_count'
sparc-linux-ld: drivers/clk/tegra/clk-pll.o: in function `clk_pll_recalc_rate':
clk-pll.c:(.text+0x243c): undefined reference to `clk_hw_get_name'
sparc-linux-ld: clk-pll.c:(.text+0x248c): undefined reference to `clk_hw_get_name'
sparc-linux-ld: drivers/clk/tegra/clk-pll.o: in function `clk_plle_enable':
clk-pll.c:(.text+0x24f4): undefined reference to `clk_hw_get_parent'
sparc-linux-ld: clk-pll.c:(.text+0x24fc): undefined reference to `clk_hw_get_rate'
sparc-linux-ld: drivers/clk/tegra/clk-pll-out.o: in function `tegra_clk_pll_out_restore_context':
clk-pll-out.c:(.text+0x284): undefined reference to `__clk_get_enable_count'
sparc-linux-ld: drivers/clk/tegra/clk-pll-out.o: in function `tegra_clk_register_pll_out':
clk-pll-out.c:(.text+0x364): undefined reference to `clk_register'
sparc-linux-ld: drivers/clk/tegra/clk-sdmmc-mux.o: in function `clk_sdmmc_mux_get_parent':
clk-sdmmc-mux.c:(.text+0x244): undefined reference to `clk_hw_get_num_parents'
sparc-linux-ld: drivers/clk/tegra/clk-sdmmc-mux.o: in function `clk_sdmmc_mux_restore_context':
clk-sdmmc-mux.c:(.text+0x4c4): undefined reference to `clk_hw_get_parent'
>> sparc-linux-ld: clk-sdmmc-mux.c:(.text+0x4cc): undefined reference to `clk_hw_get_rate'
sparc-linux-ld: clk-sdmmc-mux.c:(.text+0x4d8): undefined reference to `clk_hw_get_rate'
>> sparc-linux-ld: clk-sdmmc-mux.c:(.text+0x4e4): undefined reference to `clk_hw_get_parent_index'
sparc-linux-ld: drivers/clk/tegra/clk-sdmmc-mux.o: in function `tegra_clk_register_sdmmc_mux_div':
clk-sdmmc-mux.c:(.text+0x5f8): undefined reference to `clk_register'
sparc-linux-ld: drivers/clk/tegra/clk-super.o: in function `clk_super_restore_context':
clk-super.c:(.text+0x404): undefined reference to `clk_hw_get_parent_index'
sparc-linux-ld: drivers/clk/tegra/clk-super.o: in function `clk_super_mux_restore_context':
clk-super.c:(.text+0x484): undefined reference to `clk_hw_get_parent_index'
sparc-linux-ld: drivers/clk/tegra/clk-super.o: in function `tegra_clk_register_super_clk':
clk-super.c:(.text+0x620): undefined reference to `clk_register'
>> sparc-linux-ld: drivers/clk/tegra/clk-super.o:(.rodata+0x94): undefined reference to `clk_hw_determine_rate_no_reparent'
sparc-linux-ld: drivers/clk/tegra/clk-tegra-audio.o: in function `tegra_audio_sync_clk_init.constprop.0':
clk-tegra-audio.c:(.init.text+0x54): undefined reference to `clk_register_mux_table'
>> sparc-linux-ld: clk-tegra-audio.c:(.init.text+0x94): undefined reference to `clk_register_gate'
sparc-linux-ld: drivers/clk/tegra/clk-tegra-audio.o: in function `tegra_audio_clk_init':
clk-tegra-audio.c:(.init.text+0x29c): undefined reference to `clk_register_fixed_factor'
>> sparc-linux-ld: drivers/clk/tegra/clk-tegra-periph.o:(.data+0x10c): undefined reference to `clk_mux_ops'
sparc-linux-ld: drivers/clk/tegra/clk-tegra-periph.o:(.data+0x1a4): undefined reference to `clk_mux_ops'
sparc-linux-ld: drivers/clk/tegra/clk-tegra-periph.o:(.data+0x23c): undefined reference to `clk_mux_ops'
sparc-linux-ld: drivers/clk/tegra/clk-tegra-periph.o:(.data+0x2d4): undefined reference to `clk_mux_ops'
sparc-linux-ld: drivers/clk/tegra/clk-tegra-periph.o:(.data+0x36c): undefined reference to `clk_mux_ops'
sparc-linux-ld: drivers/clk/tegra/clk-tegra-periph.o:(.data+0x404): more undefined references to `clk_mux_ops' follow
sparc-linux-ld: drivers/clk/tegra/clk-tegra-periph.o: in function `init_pllp':
clk-tegra-periph.c:(.init.text+0x48): undefined reference to `clk_register_clkdev'
>> sparc-linux-ld: clk-tegra-periph.c:(.init.text+0x1c8): undefined reference to `clk_register_gate'
sparc-linux-ld: clk-tegra-periph.c:(.init.text+0x20c): undefined reference to `clk_register_gate'
>> sparc-linux-ld: clk-tegra-periph.c:(.init.text+0x21c): undefined reference to `clk_register_clkdev'
sparc-linux-ld: drivers/clk/tegra/clk-tegra-fixed.o: in function `tegra_osc_clk_init':
clk-tegra-fixed.c:(.init.text+0x98): undefined reference to `clk_register_fixed_rate'
>> sparc-linux-ld: clk-tegra-fixed.c:(.init.text+0xd0): undefined reference to `clk_register_fixed_factor'
sparc-linux-ld: clk-tegra-fixed.c:(.init.text+0x108): undefined reference to `clk_register_fixed_factor'
sparc-linux-ld: clk-tegra-fixed.c:(.init.text+0x140): undefined reference to `clk_register_fixed_factor'
sparc-linux-ld: clk-tegra-fixed.c:(.init.text+0x184): undefined reference to `clk_register_fixed_factor'
sparc-linux-ld: drivers/clk/tegra/clk-tegra-fixed.o: in function `tegra_fixed_clk_init':
clk-tegra-fixed.c:(.init.text+0x1d8): undefined reference to `clk_register_fixed_rate'
sparc-linux-ld: drivers/clk/tegra/clk-tegra-super-cclk.o: in function `cclk_super_determine_rate':
clk-tegra-super-cclk.c:(.text+0xc8): undefined reference to `clk_hw_get_parent_by_index'
>> sparc-linux-ld: clk-tegra-super-cclk.c:(.text+0xd8): undefined reference to `clk_hw_get_parent_by_index'
sparc-linux-ld: clk-tegra-super-cclk.c:(.text+0xfc): undefined reference to `clk_hw_get_rate'
sparc-linux-ld: clk-tegra-super-cclk.c:(.text+0x144): undefined reference to `clk_hw_round_rate'
sparc-linux-ld: clk-tegra-super-cclk.c:(.text+0x194): undefined reference to `clk_hw_get_rate_range'
sparc-linux-ld: drivers/clk/tegra/clk-tegra-super-cclk.o: in function `tegra_clk_register_super_cclk':
clk-tegra-super-cclk.c:(.text+0x420): undefined reference to `clk_register'
sparc-linux-ld: drivers/clk/tegra/clk-tegra-super-gen4.o: in function `tegra_sclk_init':
clk-tegra-super-gen4.c:(.init.text+0x98): undefined reference to `clk_register_divider_table'
sparc-linux-ld: clk-tegra-super-gen4.c:(.init.text+0x140): undefined reference to `clk_register_divider_table'
sparc-linux-ld: clk-tegra-super-gen4.c:(.init.text+0x16c): undefined reference to `clk_register_gate'
sparc-linux-ld: clk-tegra-super-gen4.c:(.init.text+0x1c4): undefined reference to `clk_register_divider_table'
sparc-linux-ld: clk-tegra-super-gen4.c:(.init.text+0x1f0): undefined reference to `clk_register_gate'
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCHv2] firmware/tegra: add COMPILE_TEST
2026-03-24 1:57 [PATCHv2] firmware/tegra: add COMPILE_TEST Rosen Penev
` (2 preceding siblings ...)
2026-03-26 19:35 ` kernel test robot
@ 2026-03-26 21:51 ` kernel test robot
3 siblings, 0 replies; 7+ messages in thread
From: kernel test robot @ 2026-03-26 21:51 UTC (permalink / raw)
To: Rosen Penev, linux-tegra
Cc: oe-kbuild-all, Michael Turquette, Stephen Boyd, Thierry Reding,
Jonathan Hunter, linux-clk, linux-kernel
Hi Rosen,
kernel test robot noticed the following build errors:
[auto build test ERROR on next-20260325]
[cannot apply to tegra/for-next clk/clk-next drm-tegra/drm/tegra/for-next v7.0-rc5 v7.0-rc4 v7.0-rc3 linus/master v7.0-rc5]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Rosen-Penev/firmware-tegra-add-COMPILE_TEST/20260326-124230
base: next-20260325
patch link: https://lore.kernel.org/r/20260324015722.12507-1-rosenp%40gmail.com
patch subject: [PATCHv2] firmware/tegra: add COMPILE_TEST
config: s390-allnoconfig-bpf (https://download.01.org/0day-ci/archive/20260326/202603262233.dvRyEA8v-lkp@intel.com/config)
compiler: s390x-linux-gnu-gcc (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260326/202603262233.dvRyEA8v-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202603262233.dvRyEA8v-lkp@intel.com/
All errors (new ones prefixed by >>):
s390x-linux-gnu-ld: drivers/clk/tegra/clk.o: in function `tegra_register_devclks':
>> drivers/clk/tegra/clk.c:361:(.text+0x718): undefined reference to `clk_register_clkdev'
>> s390x-linux-gnu-ld: drivers/clk/tegra/clk.c:366:(.text+0x770): undefined reference to `__clk_get_name'
>> s390x-linux-gnu-ld: drivers/clk/tegra/clk.c:366:(.text+0x784): undefined reference to `clk_register_clkdev'
s390x-linux-gnu-ld: drivers/clk/tegra/clk.o: in function `tegra_clk_dev_register':
>> drivers/clk/tegra/clk.c:437:(.text+0x830): undefined reference to `clk_register'
s390x-linux-gnu-ld: drivers/clk/tegra/clk.o: in function `tegra_init_dup_clks':
>> drivers/clk/tegra/clk.c:263:(.init.text+0x17c): undefined reference to `clkdev_add'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-audio-sync.o: in function `tegra_clk_register_sync_source':
>> drivers/clk/tegra/clk-audio-sync.c:70:(.text+0x1f8): undefined reference to `clk_register'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-dfll.o: in function `dfll_unregister_clk':
>> drivers/clk/tegra/clk-dfll.c:1215:(.text+0x236): undefined reference to `clk_unregister'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-divider.o: in function `clk_divider_restore_context':
>> drivers/clk/tegra/clk-divider.c:127:(.text+0x262): undefined reference to `clk_hw_get_parent'
>> s390x-linux-gnu-ld: drivers/clk/tegra/clk-divider.c:128:(.text+0x268): undefined reference to `clk_hw_get_rate'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-divider.c:129:(.text+0x276): undefined reference to `clk_hw_get_rate'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-divider.o: in function `tegra_clk_register_divider':
>> drivers/clk/tegra/clk-divider.c:174:(.text+0x6e0): undefined reference to `clk_register'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-divider.o: in function `tegra_clk_register_mc':
>> drivers/clk/tegra/clk-divider.c:190:(.text+0x7da): undefined reference to `clk_register_divider_table'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-periph.o: in function `clk_periph_restore_context':
>> drivers/clk/tegra/clk-periph.c:119:(.text+0x676): undefined reference to `clk_hw_get_parent_index'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-periph.o: in function `_tegra_clk_register_periph':
>> drivers/clk/tegra/clk-periph.c:199:(.text+0x8ec): undefined reference to `clk_register'
>> s390x-linux-gnu-ld: drivers/clk/tegra/clk-periph.c:199:(.text+0x9b6): undefined reference to `clk_register'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-periph.c:199:(.text+0xb72): undefined reference to `clk_register'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-periph.c:199:(.text+0xdf2): undefined reference to `clk_register'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-periph.c:199:(.text+0xeb8): undefined reference to `clk_register'
>> s390x-linux-gnu-ld: drivers/clk/tegra/clk-periph.o:(.data.rel.ro+0x60): undefined reference to `clk_hw_determine_rate_no_reparent'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-periph-fixed.o: in function `tegra_clk_register_periph_fixed':
>> drivers/clk/tegra/clk-periph-fixed.c:105:(.text+0x558): undefined reference to `clk_register'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-periph-gate.o: in function `tegra_clk_register_periph_gate':
>> drivers/clk/tegra/clk-periph-gate.c:171:(.text+0x79e): undefined reference to `clk_register'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-pll.o: in function `clk_pll_determine_rate':
>> drivers/clk/tegra/clk-pll.c:852:(.text+0xbc4): undefined reference to `clk_hw_get_rate'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-pll.o: in function `clk_pll_wait_for_lock':
>> drivers/clk/tegra/clk-pll.c:319:(.text+0xdae): undefined reference to `clk_hw_get_name'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-pll.o: in function `clk_pllu_enable':
>> drivers/clk/tegra/clk-pll.c:1124:(.text+0x1eec): undefined reference to `clk_hw_get_parent'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-pll.c:1125:(.text+0x1ef2): undefined reference to `clk_hw_get_parent'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-pll.c:1137:(.text+0x1f08): undefined reference to `clk_hw_get_rate'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-pll.o: in function `clk_pll_recalc_rate':
drivers/clk/tegra/clk-pll.c:888:(.text+0x2b58): undefined reference to `clk_hw_get_name'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-pll.c:902:(.text+0x2c10): undefined reference to `clk_hw_get_name'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-pll.o: in function `clk_pll_set_rate':
drivers/clk/tegra/clk-pll.c:821:(.text+0x3a1a): undefined reference to `clk_hw_get_name'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-pll.c:811:(.text+0x3a4e): undefined reference to `clk_hw_get_name'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-pll.o: in function `tegra_clk_pll_restore_context':
drivers/clk/tegra/clk-pll.c:1042:(.text+0x3ae2): undefined reference to `clk_hw_get_parent'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-pll.c:1043:(.text+0x3ae8): undefined reference to `clk_hw_get_rate'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-pll.c:1044:(.text+0x3af6): undefined reference to `clk_hw_get_rate'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-pll.c:1054:(.text+0x3b5c): undefined reference to `__clk_get_enable_count'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-pll.o: in function `clk_plle_enable':
drivers/clk/tegra/clk-pll.c:971:(.text+0x3cc0): undefined reference to `clk_hw_get_parent'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-pll.c:971:(.text+0x3cc6): undefined reference to `clk_hw_get_rate'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-pll-out.o: in function `tegra_clk_pll_out_restore_context':
drivers/clk/tegra/clk-pll-out.c:74:(.text+0x432): undefined reference to `__clk_get_enable_count'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-pll-out.o: in function `tegra_clk_register_pll_out':
drivers/clk/tegra/clk-pll-out.c:115:(.text+0x5f8): undefined reference to `clk_register'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-sdmmc-mux.o: in function `clk_sdmmc_mux_get_parent':
drivers/clk/tegra/clk-sdmmc-mux.c:48:(.text+0x66c): undefined reference to `clk_hw_get_num_parents'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-sdmmc-mux.o: in function `clk_sdmmc_mux_restore_context':
drivers/clk/tegra/clk-sdmmc-mux.c:208:(.text+0x9e2): undefined reference to `clk_hw_get_parent'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-sdmmc-mux.c:209:(.text+0x9e8): undefined reference to `clk_hw_get_rate'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-sdmmc-mux.c:210:(.text+0x9f6): undefined reference to `clk_hw_get_rate'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-sdmmc-mux.c:213:(.text+0xa04): undefined reference to `clk_hw_get_parent_index'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-sdmmc-mux.o: in function `tegra_clk_register_sdmmc_mux_div':
drivers/clk/tegra/clk-sdmmc-mux.c:269:(.text+0xc06): undefined reference to `clk_register'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-super.o: in function `clk_super_restore_context':
drivers/clk/tegra/clk-super.c:184:(.text+0x726): undefined reference to `clk_hw_get_parent_index'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-super.o: in function `clk_super_mux_restore_context':
drivers/clk/tegra/clk-super.c:131:(.text+0x7a2): undefined reference to `clk_hw_get_parent_index'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-super.o: in function `tegra_clk_register_super_clk':
drivers/clk/tegra/clk-super.c:270:(.text+0xbba): undefined reference to `clk_register'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-super.o:(.data.rel.ro+0x60): undefined reference to `clk_hw_determine_rate_no_reparent'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-tegra-audio.o: in function `tegra_audio_sync_clk_init':
drivers/clk/tegra/clk-tegra-audio.c:145:(.init.text+0xda): undefined reference to `clk_register_mux_table'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-tegra-audio.c:156:(.init.text+0x172): undefined reference to `clk_register_gate'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-tegra-audio.o: in function `tegra_audio_clk_init':
drivers/clk/tegra/clk-tegra-audio.c:235:(.init.text+0x4a0): undefined reference to `clk_register_fixed_factor'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-tegra-periph.o: in function `init_pllp':
drivers/clk/tegra/clk-tegra-periph.c:952:(.init.text+0x7c): undefined reference to `clk_register_clkdev'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-tegra-periph.c:1004:(.init.text+0x326): undefined reference to `clk_register_gate'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-tegra-periph.c:1013:(.init.text+0x380): undefined reference to `clk_register_gate'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-tegra-periph.c:1017:(.init.text+0x394): undefined reference to `clk_register_clkdev'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-tegra-periph.o:(.data.rel+0xe8): undefined reference to `clk_mux_ops'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-tegra-periph.o:(.data.rel+0x208): undefined reference to `clk_mux_ops'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-tegra-periph.o:(.data.rel+0x328): undefined reference to `clk_mux_ops'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-tegra-periph.o:(.data.rel+0x448): undefined reference to `clk_mux_ops'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-tegra-periph.o:(.data.rel+0x568): undefined reference to `clk_mux_ops'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-tegra-periph.o:(.data.rel+0x688): more undefined references to `clk_mux_ops' follow
s390x-linux-gnu-ld: drivers/clk/tegra/clk-tegra-fixed.o: in function `tegra_osc_clk_init':
drivers/clk/tegra/clk-tegra-fixed.c:53:(.init.text+0xe0): undefined reference to `clk_register_fixed_rate'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-tegra-fixed.c:59:(.init.text+0x12e): undefined reference to `clk_register_fixed_factor'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-tegra-fixed.c:67:(.init.text+0x17c): undefined reference to `clk_register_fixed_factor'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-tegra-fixed.c:76:(.init.text+0x1ca): undefined reference to `clk_register_fixed_factor'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-tegra-fixed.c:87:(.init.text+0x226): undefined reference to `clk_register_fixed_factor'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-tegra-fixed.o: in function `tegra_fixed_clk_init':
drivers/clk/tegra/clk-tegra-fixed.c:105:(.init.text+0x2da): undefined reference to `clk_register_fixed_rate'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-tegra-super-cclk.o: in function `cclk_super_determine_rate':
drivers/clk/tegra/clk-tegra-super-cclk.c:71:(.text+0x200): undefined reference to `clk_hw_get_parent_by_index'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-tegra-super-cclk.c:72:(.text+0x212): undefined reference to `clk_hw_get_parent_by_index'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-tegra-super-cclk.c:84:(.text+0x246): undefined reference to `clk_hw_get_rate'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-tegra-super-cclk.c:95:(.text+0x304): undefined reference to `clk_hw_get_rate_range'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-tegra-super-cclk.c:106:(.text+0x34c): undefined reference to `clk_hw_round_rate'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-tegra-super-cclk.o: in function `tegra_clk_register_super_cclk':
drivers/clk/tegra/clk-tegra-super-cclk.c:200:(.text+0x6e2): undefined reference to `clk_register'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-tegra-super-gen4.o: in function `tegra_sclk_init':
drivers/clk/tegra/clk-tegra-super-gen4.c:117:(.init.text+0xf8): undefined reference to `clk_register_divider_table'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-tegra-super-gen4.c:141:(.init.text+0x1e8): undefined reference to `clk_register_divider_table'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-tegra-super-gen4.c:144:(.init.text+0x21a): undefined reference to `clk_register_gate'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-tegra-super-gen4.c:156:(.init.text+0x286): undefined reference to `clk_register_divider_table'
s390x-linux-gnu-ld: drivers/clk/tegra/clk-tegra-super-gen4.c:159:(.init.text+0x2b8): undefined reference to `clk_register_gate'
vim +361 drivers/clk/tegra/clk.c
d5ff89a82a6d27 Peter De Schrijver 2013-08-22 254
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 255 void __init tegra_init_dup_clks(struct tegra_clk_duplicate *dup_list,
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 256 struct clk *clks[], int clk_max)
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 257 {
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 258 struct clk *clk;
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 259
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 260 for (; dup_list->clk_id < clk_max; dup_list++) {
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 261 clk = clks[dup_list->clk_id];
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 262 dup_list->lookup.clk = clk;
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 @263 clkdev_add(&dup_list->lookup);
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 264 }
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 265 }
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 266
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 267 void tegra_init_from_table(struct tegra_clk_init_table *tbl,
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 268 struct clk *clks[], int clk_max)
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 269 {
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 270 struct clk *clk;
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 271
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 272 for (; tbl->clk_id < clk_max; tbl++) {
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 273 clk = clks[tbl->clk_id];
b9e742c3164344 Tomeu Vizoso 2014-09-17 274 if (IS_ERR_OR_NULL(clk)) {
b9e742c3164344 Tomeu Vizoso 2014-09-17 275 pr_err("%s: invalid entry %ld in clks array for id %d\n",
b9e742c3164344 Tomeu Vizoso 2014-09-17 276 __func__, PTR_ERR(clk), tbl->clk_id);
b9e742c3164344 Tomeu Vizoso 2014-09-17 277 WARN_ON(1);
b9e742c3164344 Tomeu Vizoso 2014-09-17 278
b9e742c3164344 Tomeu Vizoso 2014-09-17 279 continue;
b9e742c3164344 Tomeu Vizoso 2014-09-17 280 }
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 281
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 282 if (tbl->parent_id < clk_max) {
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 283 struct clk *parent = clks[tbl->parent_id];
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 284 if (clk_set_parent(clk, parent)) {
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 285 pr_err("%s: Failed to set parent %s of %s\n",
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 286 __func__, __clk_get_name(parent),
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 287 __clk_get_name(clk));
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 288 WARN_ON(1);
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 289 }
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 290 }
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 291
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 292 if (tbl->rate)
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 293 if (clk_set_rate(clk, tbl->rate)) {
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 294 pr_err("%s: Failed to set rate %lu of %s\n",
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 295 __func__, tbl->rate,
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 296 __clk_get_name(clk));
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 297 WARN_ON(1);
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 298 }
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 299
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 300 if (tbl->state)
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 301 if (clk_prepare_enable(clk)) {
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 302 pr_err("%s: Failed to enable %s\n", __func__,
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 303 __clk_get_name(clk));
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 304 WARN_ON(1);
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 305 }
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 306 }
8f8f484bf355e5 Prashant Gaikwad 2013-01-11 307 }
61fd290d213e25 Prashant Gaikwad 2013-01-11 308
7ba256d2aa2a18 Philipp Zabel 2016-02-25 309 static const struct reset_control_ops rst_ops = {
6d5b988e7dc56b Stephen Warren 2013-11-05 310 .assert = tegra_clk_rst_assert,
6d5b988e7dc56b Stephen Warren 2013-11-05 311 .deassert = tegra_clk_rst_deassert,
4236e752f19d4d Mikko Perttunen 2017-03-02 312 .reset = tegra_clk_rst_reset,
6d5b988e7dc56b Stephen Warren 2013-11-05 313 };
6d5b988e7dc56b Stephen Warren 2013-11-05 314
6d5b988e7dc56b Stephen Warren 2013-11-05 315 static struct reset_controller_dev rst_ctlr = {
6d5b988e7dc56b Stephen Warren 2013-11-05 316 .ops = &rst_ops,
6d5b988e7dc56b Stephen Warren 2013-11-05 317 .owner = THIS_MODULE,
6d5b988e7dc56b Stephen Warren 2013-11-05 318 .of_reset_n_cells = 1,
6d5b988e7dc56b Stephen Warren 2013-11-05 319 };
6d5b988e7dc56b Stephen Warren 2013-11-05 320
5d797111afe12e Dmitry Osipenko 2018-05-08 321 void __init tegra_add_of_provider(struct device_node *np,
5d797111afe12e Dmitry Osipenko 2018-05-08 322 void *clk_src_onecell_get)
343a607cb79259 Peter De Schrijver 2013-09-02 323 {
343a607cb79259 Peter De Schrijver 2013-09-02 324 int i;
343a607cb79259 Peter De Schrijver 2013-09-02 325
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 326 tegra_car_np = np;
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 327
343a607cb79259 Peter De Schrijver 2013-09-02 328 for (i = 0; i < clk_num; i++) {
343a607cb79259 Peter De Schrijver 2013-09-02 329 if (IS_ERR(clks[i])) {
343a607cb79259 Peter De Schrijver 2013-09-02 330 pr_err
343a607cb79259 Peter De Schrijver 2013-09-02 331 ("Tegra clk %d: register failed with %ld\n",
343a607cb79259 Peter De Schrijver 2013-09-02 332 i, PTR_ERR(clks[i]));
343a607cb79259 Peter De Schrijver 2013-09-02 333 }
343a607cb79259 Peter De Schrijver 2013-09-02 334 if (!clks[i])
343a607cb79259 Peter De Schrijver 2013-09-02 335 clks[i] = ERR_PTR(-EINVAL);
343a607cb79259 Peter De Schrijver 2013-09-02 336 }
343a607cb79259 Peter De Schrijver 2013-09-02 337
343a607cb79259 Peter De Schrijver 2013-09-02 338 clk_data.clks = clks;
343a607cb79259 Peter De Schrijver 2013-09-02 339 clk_data.clk_num = clk_num;
5d797111afe12e Dmitry Osipenko 2018-05-08 340 of_clk_add_provider(np, clk_src_onecell_get, &clk_data);
6d5b988e7dc56b Stephen Warren 2013-11-05 341
6d5b988e7dc56b Stephen Warren 2013-11-05 342 rst_ctlr.of_node = np;
66b6f3d07454a6 Mikko Perttunen 2015-05-20 343 rst_ctlr.nr_resets = periph_banks * 32 + num_special_reset;
6d5b988e7dc56b Stephen Warren 2013-11-05 344 reset_controller_register(&rst_ctlr);
343a607cb79259 Peter De Schrijver 2013-09-02 345 }
343a607cb79259 Peter De Schrijver 2013-09-02 346
66b6f3d07454a6 Mikko Perttunen 2015-05-20 347 void __init tegra_init_special_resets(unsigned int num,
66b6f3d07454a6 Mikko Perttunen 2015-05-20 348 int (*assert)(unsigned long),
66b6f3d07454a6 Mikko Perttunen 2015-05-20 349 int (*deassert)(unsigned long))
66b6f3d07454a6 Mikko Perttunen 2015-05-20 350 {
66b6f3d07454a6 Mikko Perttunen 2015-05-20 351 num_special_reset = num;
66b6f3d07454a6 Mikko Perttunen 2015-05-20 352 special_reset_assert = assert;
66b6f3d07454a6 Mikko Perttunen 2015-05-20 353 special_reset_deassert = deassert;
66b6f3d07454a6 Mikko Perttunen 2015-05-20 354 }
66b6f3d07454a6 Mikko Perttunen 2015-05-20 355
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 356 void tegra_register_devclks(struct tegra_devclk *dev_clks, int num)
73d37e4c7c4b9d Peter De Schrijver 2013-10-09 357 {
73d37e4c7c4b9d Peter De Schrijver 2013-10-09 358 int i;
73d37e4c7c4b9d Peter De Schrijver 2013-10-09 359
73d37e4c7c4b9d Peter De Schrijver 2013-10-09 360 for (i = 0; i < num; i++, dev_clks++)
73d37e4c7c4b9d Peter De Schrijver 2013-10-09 @361 clk_register_clkdev(clks[dev_clks->dt_id], dev_clks->con_id,
73d37e4c7c4b9d Peter De Schrijver 2013-10-09 362 dev_clks->dev_id);
9f0030c8ad0ce3 Peter De Schrijver 2014-06-26 363
9f0030c8ad0ce3 Peter De Schrijver 2014-06-26 364 for (i = 0; i < clk_num; i++) {
9f0030c8ad0ce3 Peter De Schrijver 2014-06-26 365 if (!IS_ERR_OR_NULL(clks[i]))
9f0030c8ad0ce3 Peter De Schrijver 2014-06-26 @366 clk_register_clkdev(clks[i], __clk_get_name(clks[i]),
9f0030c8ad0ce3 Peter De Schrijver 2014-06-26 367 "tegra-clk-debug");
9f0030c8ad0ce3 Peter De Schrijver 2014-06-26 368 }
73d37e4c7c4b9d Peter De Schrijver 2013-10-09 369 }
73d37e4c7c4b9d Peter De Schrijver 2013-10-09 370
b8700d506ac405 Peter De Schrijver 2013-10-14 371 struct clk ** __init tegra_lookup_dt_id(int clk_id,
b8700d506ac405 Peter De Schrijver 2013-10-14 372 struct tegra_clk *tegra_clk)
b8700d506ac405 Peter De Schrijver 2013-10-14 373 {
b8700d506ac405 Peter De Schrijver 2013-10-14 374 if (tegra_clk[clk_id].present)
b8700d506ac405 Peter De Schrijver 2013-10-14 375 return &clks[tegra_clk[clk_id].dt_id];
b8700d506ac405 Peter De Schrijver 2013-10-14 376 else
b8700d506ac405 Peter De Schrijver 2013-10-14 377 return NULL;
b8700d506ac405 Peter De Schrijver 2013-10-14 378 }
b8700d506ac405 Peter De Schrijver 2013-10-14 379
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 380 static struct device_node *tegra_clk_get_of_node(struct clk_hw *hw)
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 381 {
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 382 struct device_node *np;
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 383 char *node_name;
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 384
28df1500f53874 Andy Shevchenko 2023-08-04 385 node_name = kstrdup_and_replace(hw->init->name, '_', '-', GFP_KERNEL);
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 386 if (!node_name)
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 387 return NULL;
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 388
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 389 for_each_child_of_node(tegra_car_np, np) {
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 390 if (!strcmp(np->name, node_name))
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 391 break;
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 392 }
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 393
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 394 kfree(node_name);
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 395
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 396 return np;
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 397 }
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 398
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 399 struct clk *tegra_clk_dev_register(struct clk_hw *hw)
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 400 {
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 401 struct platform_device *pdev, *parent;
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 402 const char *dev_name = NULL;
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 403 struct device *dev = NULL;
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 404 struct device_node *np;
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 405
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 406 np = tegra_clk_get_of_node(hw);
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 407
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 408 if (!of_device_is_available(np))
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 409 goto put_node;
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 410
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 411 dev_name = kasprintf(GFP_KERNEL, "tegra_clk_%s", hw->init->name);
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 412 if (!dev_name)
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 413 goto put_node;
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 414
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 415 parent = of_find_device_by_node(tegra_car_np);
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 416 if (parent) {
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 417 pdev = of_platform_device_create(np, dev_name, &parent->dev);
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 418 put_device(&parent->dev);
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 419
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 420 if (!pdev) {
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 421 pr_err("%s: failed to create device for %pOF\n",
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 422 __func__, np);
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 423 goto free_name;
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 424 }
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 425
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 426 dev = &pdev->dev;
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 427 pm_runtime_enable(dev);
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 428 } else {
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 429 WARN(1, "failed to find device for %pOF\n", tegra_car_np);
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 430 }
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 431
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 432 free_name:
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 433 kfree(dev_name);
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 434 put_node:
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 435 of_node_put(np);
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 436
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 @437 return clk_register(dev, hw);
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 438 }
b1bc04a2ac5b15 Dmitry Osipenko 2021-12-01 439
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 7+ messages in thread