[bcain:bcain/hexagon-kcfi 26/93] arch/hexagon/kernel/devtree.c:104:36: error: redefinition of 'setup_machine_fdt'
kernel test robot <[email protected]>
| Newsgroups | dev.linux.lists.llvm,dev.linux.lists.oe-kbuild-all |
|---|---|
| Message-ID | <[email protected]> |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/bcain/linux.git bcain/hexagon-kcfi head: ce0e62c277ea2fc51b37b0625eeacdc5631a488f commit: c01c2aee2f3a158faf365c893a4578a5a0dee73f [26/93] hexagon: add memory management enhancements config: hexagon-randconfig-001-20260808 (https://download.01.org/0day-ci/archive/20260808/[email protected]/config) compiler: clang version 24.0.0git (https://github.com/llvm/llvm-project 12df34b8469b8095359de8c249cb1b2753fadeea) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260808/[email protected]/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 <[email protected]> | Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/ All errors (new ones prefixed by >>): arch/hexagon/kernel/devtree.c:17:13: warning: no previous prototype for function 'early_init_dt_add_memory_arch' [-Wmissing-prototypes] 17 | void __init early_init_dt_add_memory_arch(u64 base, u64 size) | ^ arch/hexagon/kernel/devtree.c:17:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 17 | void __init early_init_dt_add_memory_arch(u64 base, u64 size) | ^ | static arch/hexagon/kernel/devtree.c:50:6: error: call to undeclared function 'of_get_flat_dt_prop'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 50 | p = of_get_flat_dt_prop(node, "bootargs", &l); | ^ arch/hexagon/kernel/devtree.c:50:4: error: incompatible integer to pointer conversion assigning to 'char *' from 'int' [-Wint-conversion] 50 | p = of_get_flat_dt_prop(node, "bootargs", &l); | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/hexagon/kernel/devtree.c:104:29: warning: attribute declaration must precede definition [-Wignored-attributes] 104 | const struct machine_desc * __init setup_machine_fdt(void *dt_phys) | ^ include/linux/init.h:45:17: note: expanded from macro '__init' 45 | #define __init __section(".init.text") __cold __latent_entropy \ | ^ include/linux/compiler_attributes.h:330:56: note: expanded from macro '__section' 330 | #define __section(section) __attribute__((__section__(section))) | ^ arch/hexagon/include/asm/prom.h:14:42: note: previous definition is here 14 | static inline const struct machine_desc *setup_machine_fdt(void *dt_phys) | ^ arch/hexagon/kernel/devtree.c:104:29: warning: attribute declaration must precede definition [-Wignored-attributes] 104 | const struct machine_desc * __init setup_machine_fdt(void *dt_phys) | ^ include/linux/init.h:45:41: note: expanded from macro '__init' 45 | #define __init __section(".init.text") __cold __latent_entropy \ | ^ include/linux/compiler_types.h:112:34: note: expanded from macro '__cold' 112 | #define __cold __attribute__((__cold__)) | ^ arch/hexagon/include/asm/prom.h:14:42: note: previous definition is here 14 | static inline const struct machine_desc *setup_machine_fdt(void *dt_phys) | ^ >> arch/hexagon/kernel/devtree.c:104:36: error: redefinition of 'setup_machine_fdt' 104 | const struct machine_desc * __init setup_machine_fdt(void *dt_phys) | ^ arch/hexagon/include/asm/prom.h:14:42: note: previous definition is here 14 | static inline const struct machine_desc *setup_machine_fdt(void *dt_phys) | ^ >> arch/hexagon/kernel/devtree.c:120:2: error: use of undeclared identifier 'initial_boot_params' 120 | initial_boot_params = dt_phys; | ^~~~~~~~~~~~~~~~~~~ arch/hexagon/kernel/devtree.c:126:23: error: use of undeclared identifier 'initial_boot_params' 126 | if (fdt_magic(initial_boot_params) != OF_DT_HEADER) { | ^~~~~~~~~~~~~~~~~~~ arch/hexagon/kernel/devtree.c:130:12: error: call to undeclared function 'of_get_flat_dt_root'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 130 | dt_root = of_get_flat_dt_root(); | ^ arch/hexagon/kernel/devtree.c:132:15: error: call to undeclared function 'of_flat_dt_match_machine'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 132 | mdesc_best = of_flat_dt_match_machine(NULL, arch_get_next_mach); | ^ arch/hexagon/kernel/devtree.c:132:13: error: incompatible integer to pointer conversion assigning to 'const struct machine_desc *' from 'int' [-Wint-conversion] 132 | mdesc_best = of_flat_dt_match_machine(NULL, arch_get_next_mach); | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/hexagon/kernel/devtree.c:142:9: error: call to undeclared function 'early_init_dt_scan_root'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 142 | early_init_dt_scan_root(); | ^ arch/hexagon/kernel/devtree.c:147:2: error: call to undeclared function 'early_init_dt_scan_chosen'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 147 | early_init_dt_scan_chosen(boot_command_line); | ^ 3 warnings and 10 errors generated. vim +/setup_machine_fdt +104 arch/hexagon/kernel/devtree.c 5d4b53d10af44d Brian Cain 2026-01-24 89 288801685d7137 Richard Kuo 2025-08-18 90 /* 288801685d7137 Richard Kuo 2025-08-18 91 * setup_machine_fdt - set up machine based on dtb passed to kernel 288801685d7137 Richard Kuo 2025-08-18 92 * @dt_phys: physical address of dtb 288801685d7137 Richard Kuo 2025-08-18 93 * 288801685d7137 Richard Kuo 2025-08-18 94 * Sets up some of the earliest stuff -- setting the machine type, 288801685d7137 Richard Kuo 2025-08-18 95 * pulling the command line options, and finding the memory. 288801685d7137 Richard Kuo 2025-08-18 96 * 288801685d7137 Richard Kuo 2025-08-18 97 * Since we're calling this from setup_arch, this is going to happen 288801685d7137 Richard Kuo 2025-08-18 98 * very, very early. Prior to even the bootmem being set up in the 288801685d7137 Richard Kuo 2025-08-18 99 * old scheme I think. 288801685d7137 Richard Kuo 2025-08-18 100 * 288801685d7137 Richard Kuo 2025-08-18 101 * Also since we're always being fired up by the hypervisor, then 288801685d7137 Richard Kuo 2025-08-18 102 * we are already running with the MMU on with an init segtable. 288801685d7137 Richard Kuo 2025-08-18 103 */ 5d4b53d10af44d Brian Cain 2026-01-24 @104 const struct machine_desc * __init setup_machine_fdt(void *dt_phys) 288801685d7137 Richard Kuo 2025-08-18 105 { 5d4b53d10af44d Brian Cain 2026-01-24 106 const struct machine_desc *mdesc_best = NULL; 288801685d7137 Richard Kuo 2025-08-18 107 unsigned long dt_root; 288801685d7137 Richard Kuo 2025-08-18 108 288801685d7137 Richard Kuo 2025-08-18 109 #ifdef CONFIG_HEXAGON_MSM8974_FLUID 288801685d7137 Richard Kuo 2025-08-18 110 // Fixme: use this for... everybody if possible 288801685d7137 Richard Kuo 2025-08-18 111 // The "tags" struct or whatever provided by LK; currently stuffing it in the "external buffer" space. 288801685d7137 Richard Kuo 2025-08-18 112 initial_boot_params = (void *) &external_buffer; 288801685d7137 Richard Kuo 2025-08-18 113 dt_root = of_get_flat_dt_root(); 288801685d7137 Richard Kuo 2025-08-18 114 of_scan_flat_dt(early_init_dt_scan_chosen_noinitrd, boot_command_line); 288801685d7137 Richard Kuo 2025-08-18 115 #endif 288801685d7137 Richard Kuo 2025-08-18 116 288801685d7137 Richard Kuo 2025-08-18 117 /* reset global pointer that devtree uses to the proper blob */ 288801685d7137 Richard Kuo 2025-08-18 118 #ifdef CONFIG_DTB_BUILTIN 288801685d7137 Richard Kuo 2025-08-18 119 /* This is the label placed on the assembly blob; will already be in virtual space */ 288801685d7137 Richard Kuo 2025-08-18 @120 initial_boot_params = dt_phys; 288801685d7137 Richard Kuo 2025-08-18 121 #else 288801685d7137 Richard Kuo 2025-08-18 122 initial_boot_params = phys_to_virt(dt_phys); 288801685d7137 Richard Kuo 2025-08-18 123 #endif 288801685d7137 Richard Kuo 2025-08-18 124 288801685d7137 Richard Kuo 2025-08-18 125 /* check device tree validity */ 288801685d7137 Richard Kuo 2025-08-18 126 if (fdt_magic(initial_boot_params) != OF_DT_HEADER) { 288801685d7137 Richard Kuo 2025-08-18 127 return NULL; 288801685d7137 Richard Kuo 2025-08-18 128 } 288801685d7137 Richard Kuo 2025-08-18 129 288801685d7137 Richard Kuo 2025-08-18 130 dt_root = of_get_flat_dt_root(); 288801685d7137 Richard Kuo 2025-08-18 131 5d4b53d10af44d Brian Cain 2026-01-24 132 mdesc_best = of_flat_dt_match_machine(NULL, arch_get_next_mach); 288801685d7137 Richard Kuo 2025-08-18 133 288801685d7137 Richard Kuo 2025-08-18 134 if (!mdesc_best) { 288801685d7137 Richard Kuo 2025-08-18 135 panic("Unrecognized device tree\n"); 288801685d7137 Richard Kuo 2025-08-18 136 } 288801685d7137 Richard Kuo 2025-08-18 137 288801685d7137 Richard Kuo 2025-08-18 138 /* 288801685d7137 Richard Kuo 2025-08-18 139 * Sets the top level address and size cells which are stored 288801685d7137 Richard Kuo 2025-08-18 140 * in globals by the devtree infrastructure. 288801685d7137 Richard Kuo 2025-08-18 141 */ 288801685d7137 Richard Kuo 2025-08-18 142 early_init_dt_scan_root(); 288801685d7137 Richard Kuo 2025-08-18 143 288801685d7137 Richard Kuo 2025-08-18 144 /* Retrieve various information from the /chosen node */ 288801685d7137 Richard Kuo 2025-08-18 145 #ifndef CONFIG_HEXAGON_MSM8974_FLUID 288801685d7137 Richard Kuo 2025-08-18 146 // Fixme: do this consistently for platforms 288801685d7137 Richard Kuo 2025-08-18 147 early_init_dt_scan_chosen(boot_command_line); 288801685d7137 Richard Kuo 2025-08-18 148 #endif 288801685d7137 Richard Kuo 2025-08-18 149 /* Setup memory */ 288801685d7137 Richard Kuo 2025-08-18 150 //of_scan_flat_dt(early_init_dt_scan_memory, NULL); 288801685d7137 Richard Kuo 2025-08-18 151 288801685d7137 Richard Kuo 2025-08-18 152 return mdesc_best; 288801685d7137 Richard Kuo 2025-08-18 153 } 288801685d7137 Richard Kuo 2025-08-18 154 :::::: The code at line 104 was first introduced by commit :::::: 5d4b53d10af44d2d15e3f551692f1703ac6dbe53 arch/hexagon: fix kernel crash on unimplemented syscalls :::::: TO: Brian Cain <[email protected]> :::::: CC: Brian Cain <[email protected]> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki