Messages in this thread | | | Date | Sat, 15 Jan 2022 20:29:45 +0800 | From | kernel test robot <> | Subject | [mingo-tip:sched/headers 1517/2384] arch/mips/mti-malta/malta-dtshim.c:92:15: error: implicit declaration of function 'min_t' |
| |
tree: git://git.kernel.org/pub/scm/linux/kernel/git/mingo/tip.git sched/headers head: 4c707c1c0de83967079b4e385012fa5b00e2cd11 commit: 986644c38150163ceefbb1302500fba6787bf621 [1517/2384] headers/deps: Optimize <linux/kernel.h> config: mips-maltaaprp_defconfig (https://download.01.org/0day-ci/archive/20220115/202201152000.mOrb5rnf-lkp@intel.com/config) compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 650fc40b6d8d9a5869b4fca525d5f237b0ee2803) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install mips cross compiling tool for clang build # apt-get install binutils-mips-linux-gnu # https://git.kernel.org/pub/scm/linux/kernel/git/mingo/tip.git/commit/?id=986644c38150163ceefbb1302500fba6787bf621 git remote add mingo-tip git://git.kernel.org/pub/scm/linux/kernel/git/mingo/tip.git git fetch --no-tags mingo-tip sched/headers git checkout 986644c38150163ceefbb1302500fba6787bf621 # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=mips SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
>> arch/mips/mti-malta/malta-dtshim.c:92:15: error: implicit declaration of function 'min_t' [-Werror,-Wimplicit-function-declaration] size_preio = min_t(unsigned long, size, SZ_256M); ^ >> arch/mips/mti-malta/malta-dtshim.c:92:21: error: expected expression size_preio = min_t(unsigned long, size, SZ_256M); ^ >> arch/mips/mti-malta/malta-dtshim.c:192:21: error: implicit declaration of function 'max_t' [-Werror,-Wimplicit-function-declaration] physical_memsize = max_t(unsigned long, physical_memsize, memsize); ^ arch/mips/mti-malta/malta-dtshim.c:192:27: error: expected expression physical_memsize = max_t(unsigned long, physical_memsize, memsize); ^ 4 errors generated.
vim +/min_t +92 arch/mips/mti-malta/malta-dtshim.c
0051fc2e7b8450 Paul Burton 2016-09-19 72 0051fc2e7b8450 Paul Burton 2016-09-19 73 static unsigned __init gen_fdt_mem_array(__be32 *mem_array, unsigned long size, 0051fc2e7b8450 Paul Burton 2016-09-19 74 enum mem_map map) e81a8c7dabac05 Paul Burton 2015-09-22 75 { e81a8c7dabac05 Paul Burton 2015-09-22 76 unsigned long size_preio; e81a8c7dabac05 Paul Burton 2015-09-22 77 unsigned entries; e81a8c7dabac05 Paul Burton 2015-09-22 78 e81a8c7dabac05 Paul Burton 2015-09-22 79 entries = 1; e81a8c7dabac05 Paul Burton 2015-09-22 80 mem_array[0] = cpu_to_be32(PHYS_OFFSET); 97f2645f358b41 Masahiro Yamada 2016-08-03 81 if (IS_ENABLED(CONFIG_EVA)) { e81a8c7dabac05 Paul Burton 2015-09-22 82 /* e81a8c7dabac05 Paul Burton 2015-09-22 83 * The current Malta EVA configuration is "special" in that it e81a8c7dabac05 Paul Burton 2015-09-22 84 * always makes use of addresses in the upper half of the 32 bit e81a8c7dabac05 Paul Burton 2015-09-22 85 * physical address map, which gives it a contiguous region of e81a8c7dabac05 Paul Burton 2015-09-22 86 * DDR but limits it to 2GB. e81a8c7dabac05 Paul Burton 2015-09-22 87 */ e81a8c7dabac05 Paul Burton 2015-09-22 88 mem_array[1] = cpu_to_be32(size); 0051fc2e7b8450 Paul Burton 2016-09-19 89 goto done; 0051fc2e7b8450 Paul Burton 2016-09-19 90 } 0051fc2e7b8450 Paul Burton 2016-09-19 91 e81a8c7dabac05 Paul Burton 2015-09-22 @92 size_preio = min_t(unsigned long, size, SZ_256M); e81a8c7dabac05 Paul Burton 2015-09-22 93 mem_array[1] = cpu_to_be32(size_preio); 0051fc2e7b8450 Paul Burton 2016-09-19 94 size -= size_preio; 0051fc2e7b8450 Paul Burton 2016-09-19 95 if (!size) 0051fc2e7b8450 Paul Burton 2016-09-19 96 goto done; 0051fc2e7b8450 Paul Burton 2016-09-19 97 0051fc2e7b8450 Paul Burton 2016-09-19 98 if (map == MEM_MAP_V2) { 0051fc2e7b8450 Paul Burton 2016-09-19 99 /* 0051fc2e7b8450 Paul Burton 2016-09-19 100 * We have a flat 32 bit physical memory map with DDR filling 0051fc2e7b8450 Paul Burton 2016-09-19 101 * all 4GB of the memory map, apart from the I/O region which 0051fc2e7b8450 Paul Burton 2016-09-19 102 * obscures 256MB from 0x10000000-0x1fffffff. 0051fc2e7b8450 Paul Burton 2016-09-19 103 * 0051fc2e7b8450 Paul Burton 2016-09-19 104 * Therefore we discard the 256MB behind the I/O region. 0051fc2e7b8450 Paul Burton 2016-09-19 105 */ 0051fc2e7b8450 Paul Burton 2016-09-19 106 if (size <= SZ_256M) 0051fc2e7b8450 Paul Burton 2016-09-19 107 goto done; 0051fc2e7b8450 Paul Burton 2016-09-19 108 size -= SZ_256M; 0051fc2e7b8450 Paul Burton 2016-09-19 109 0051fc2e7b8450 Paul Burton 2016-09-19 110 /* Make use of the memory following the I/O region */ 0051fc2e7b8450 Paul Burton 2016-09-19 111 entries++; 0051fc2e7b8450 Paul Burton 2016-09-19 112 mem_array[2] = cpu_to_be32(PHYS_OFFSET + SZ_512M); 0051fc2e7b8450 Paul Burton 2016-09-19 113 mem_array[3] = cpu_to_be32(size); 0051fc2e7b8450 Paul Burton 2016-09-19 114 } else { 0051fc2e7b8450 Paul Burton 2016-09-19 115 /* 0051fc2e7b8450 Paul Burton 2016-09-19 116 * We have a 32 bit physical memory map with a 2GB DDR region 0051fc2e7b8450 Paul Burton 2016-09-19 117 * aliased in the upper & lower halves of it. The I/O region 0051fc2e7b8450 Paul Burton 2016-09-19 118 * obscures 256MB from 0x10000000-0x1fffffff in the low alias 0051fc2e7b8450 Paul Burton 2016-09-19 119 * but the DDR it obscures is accessible via the high alias. 0051fc2e7b8450 Paul Burton 2016-09-19 120 * 0051fc2e7b8450 Paul Burton 2016-09-19 121 * Simply access everything beyond the lowest 256MB of DDR using 0051fc2e7b8450 Paul Burton 2016-09-19 122 * the high alias. 0051fc2e7b8450 Paul Burton 2016-09-19 123 */ 0051fc2e7b8450 Paul Burton 2016-09-19 124 entries++; 0051fc2e7b8450 Paul Burton 2016-09-19 125 mem_array[2] = cpu_to_be32(PHYS_OFFSET + SZ_2G + SZ_256M); 0051fc2e7b8450 Paul Burton 2016-09-19 126 mem_array[3] = cpu_to_be32(size); e81a8c7dabac05 Paul Burton 2015-09-22 127 } e81a8c7dabac05 Paul Burton 2015-09-22 128 0051fc2e7b8450 Paul Burton 2016-09-19 129 done: e81a8c7dabac05 Paul Burton 2015-09-22 130 BUG_ON(entries > MAX_MEM_ARRAY_ENTRIES); e81a8c7dabac05 Paul Burton 2015-09-22 131 return entries; e81a8c7dabac05 Paul Burton 2015-09-22 132 } e81a8c7dabac05 Paul Burton 2015-09-22 133 e81a8c7dabac05 Paul Burton 2015-09-22 134 static void __init append_memory(void *fdt, int root_off) e81a8c7dabac05 Paul Burton 2015-09-22 135 { e81a8c7dabac05 Paul Burton 2015-09-22 136 __be32 mem_array[2 * MAX_MEM_ARRAY_ENTRIES]; e81a8c7dabac05 Paul Burton 2015-09-22 137 unsigned long memsize; e81a8c7dabac05 Paul Burton 2015-09-22 138 unsigned mem_entries; e81a8c7dabac05 Paul Burton 2015-09-22 139 int i, err, mem_off; 0051fc2e7b8450 Paul Burton 2016-09-19 140 enum mem_map mem_map; 0051fc2e7b8450 Paul Burton 2016-09-19 141 u32 config; e81a8c7dabac05 Paul Burton 2015-09-22 142 char *var, param_name[10], *var_names[] = { e81a8c7dabac05 Paul Burton 2015-09-22 143 "ememsize", "memsize", e81a8c7dabac05 Paul Burton 2015-09-22 144 }; e81a8c7dabac05 Paul Burton 2015-09-22 145 e81a8c7dabac05 Paul Burton 2015-09-22 146 /* if a memory node already exists, leave it alone */ e81a8c7dabac05 Paul Burton 2015-09-22 147 mem_off = fdt_path_offset(fdt, "/memory"); e81a8c7dabac05 Paul Burton 2015-09-22 148 if (mem_off >= 0) e81a8c7dabac05 Paul Burton 2015-09-22 149 return; e81a8c7dabac05 Paul Burton 2015-09-22 150 e81a8c7dabac05 Paul Burton 2015-09-22 151 /* find memory size from the bootloader environment */ e81a8c7dabac05 Paul Burton 2015-09-22 152 for (i = 0; i < ARRAY_SIZE(var_names); i++) { e81a8c7dabac05 Paul Burton 2015-09-22 153 var = fw_getenv(var_names[i]); e81a8c7dabac05 Paul Burton 2015-09-22 154 if (!var) e81a8c7dabac05 Paul Burton 2015-09-22 155 continue; e81a8c7dabac05 Paul Burton 2015-09-22 156 e81a8c7dabac05 Paul Burton 2015-09-22 157 err = kstrtoul(var, 0, &physical_memsize); e81a8c7dabac05 Paul Burton 2015-09-22 158 if (!err) e81a8c7dabac05 Paul Burton 2015-09-22 159 break; e81a8c7dabac05 Paul Burton 2015-09-22 160 e81a8c7dabac05 Paul Burton 2015-09-22 161 pr_warn("Failed to read the '%s' env variable '%s'\n", e81a8c7dabac05 Paul Burton 2015-09-22 162 var_names[i], var); e81a8c7dabac05 Paul Burton 2015-09-22 163 } e81a8c7dabac05 Paul Burton 2015-09-22 164 e81a8c7dabac05 Paul Burton 2015-09-22 165 if (!physical_memsize) { e81a8c7dabac05 Paul Burton 2015-09-22 166 pr_warn("The bootloader didn't provide memsize: defaulting to 32MB\n"); e81a8c7dabac05 Paul Burton 2015-09-22 167 physical_memsize = 32 << 20; e81a8c7dabac05 Paul Burton 2015-09-22 168 } e81a8c7dabac05 Paul Burton 2015-09-22 169 97f2645f358b41 Masahiro Yamada 2016-08-03 170 if (IS_ENABLED(CONFIG_CPU_BIG_ENDIAN)) { e81a8c7dabac05 Paul Burton 2015-09-22 171 /* e81a8c7dabac05 Paul Burton 2015-09-22 172 * SOC-it swaps, or perhaps doesn't swap, when DMA'ing e81a8c7dabac05 Paul Burton 2015-09-22 173 * the last word of physical memory. e81a8c7dabac05 Paul Burton 2015-09-22 174 */ e81a8c7dabac05 Paul Burton 2015-09-22 175 physical_memsize -= PAGE_SIZE; e81a8c7dabac05 Paul Burton 2015-09-22 176 } e81a8c7dabac05 Paul Burton 2015-09-22 177 e81a8c7dabac05 Paul Burton 2015-09-22 178 /* default to using all available RAM */ e81a8c7dabac05 Paul Burton 2015-09-22 179 memsize = physical_memsize; e81a8c7dabac05 Paul Burton 2015-09-22 180 e81a8c7dabac05 Paul Burton 2015-09-22 181 /* allow the user to override the usable memory */ e81a8c7dabac05 Paul Burton 2015-09-22 182 for (i = 0; i < ARRAY_SIZE(var_names); i++) { e81a8c7dabac05 Paul Burton 2015-09-22 183 snprintf(param_name, sizeof(param_name), "%s=", var_names[i]); e81a8c7dabac05 Paul Burton 2015-09-22 184 var = strstr(arcs_cmdline, param_name); e81a8c7dabac05 Paul Burton 2015-09-22 185 if (!var) e81a8c7dabac05 Paul Burton 2015-09-22 186 continue; e81a8c7dabac05 Paul Burton 2015-09-22 187 e81a8c7dabac05 Paul Burton 2015-09-22 188 memsize = memparse(var + strlen(param_name), NULL); e81a8c7dabac05 Paul Burton 2015-09-22 189 } e81a8c7dabac05 Paul Burton 2015-09-22 190 e81a8c7dabac05 Paul Burton 2015-09-22 191 /* if the user says there's more RAM than we thought, believe them */ e81a8c7dabac05 Paul Burton 2015-09-22 @192 physical_memsize = max_t(unsigned long, physical_memsize, memsize); e81a8c7dabac05 Paul Burton 2015-09-22 193 0051fc2e7b8450 Paul Burton 2016-09-19 194 /* detect the memory map in use */ 0051fc2e7b8450 Paul Burton 2016-09-19 195 if (malta_scon() == MIPS_REVISION_SCON_ROCIT) { 0051fc2e7b8450 Paul Burton 2016-09-19 196 /* ROCit has a register indicating the memory map in use */ 0051fc2e7b8450 Paul Burton 2016-09-19 197 config = readl((void __iomem *)CKSEG1ADDR(ROCIT_CONFIG_GEN1)); 0051fc2e7b8450 Paul Burton 2016-09-19 198 mem_map = config & ROCIT_CONFIG_GEN1_MEMMAP_MASK; 0051fc2e7b8450 Paul Burton 2016-09-19 199 mem_map >>= ROCIT_CONFIG_GEN1_MEMMAP_SHIFT; 0051fc2e7b8450 Paul Burton 2016-09-19 200 } else { 0051fc2e7b8450 Paul Burton 2016-09-19 201 /* if not using ROCit, presume the v1 memory map */ 0051fc2e7b8450 Paul Burton 2016-09-19 202 mem_map = MEM_MAP_V1; 0051fc2e7b8450 Paul Burton 2016-09-19 203 } 0051fc2e7b8450 Paul Burton 2016-09-19 204 if (mem_map > MEM_MAP_V2) 0051fc2e7b8450 Paul Burton 2016-09-19 205 panic("Unsupported physical memory map v%u detected", 0051fc2e7b8450 Paul Burton 2016-09-19 206 (unsigned int)mem_map); 0051fc2e7b8450 Paul Burton 2016-09-19 207 e81a8c7dabac05 Paul Burton 2015-09-22 208 /* append memory to the DT */ e81a8c7dabac05 Paul Burton 2015-09-22 209 mem_off = fdt_add_subnode(fdt, root_off, "memory"); e81a8c7dabac05 Paul Burton 2015-09-22 210 if (mem_off < 0) e81a8c7dabac05 Paul Burton 2015-09-22 211 panic("Unable to add memory node to DT: %d", mem_off); e81a8c7dabac05 Paul Burton 2015-09-22 212 e81a8c7dabac05 Paul Burton 2015-09-22 213 err = fdt_setprop_string(fdt, mem_off, "device_type", "memory"); e81a8c7dabac05 Paul Burton 2015-09-22 214 if (err) e81a8c7dabac05 Paul Burton 2015-09-22 215 panic("Unable to set memory node device_type: %d", err); e81a8c7dabac05 Paul Burton 2015-09-22 216 0051fc2e7b8450 Paul Burton 2016-09-19 217 mem_entries = gen_fdt_mem_array(mem_array, physical_memsize, mem_map); e81a8c7dabac05 Paul Burton 2015-09-22 218 err = fdt_setprop(fdt, mem_off, "reg", mem_array, e81a8c7dabac05 Paul Burton 2015-09-22 219 mem_entries * 2 * sizeof(mem_array[0])); e81a8c7dabac05 Paul Burton 2015-09-22 220 if (err) e81a8c7dabac05 Paul Burton 2015-09-22 221 panic("Unable to set memory regs property: %d", err); e81a8c7dabac05 Paul Burton 2015-09-22 222 0051fc2e7b8450 Paul Burton 2016-09-19 223 mem_entries = gen_fdt_mem_array(mem_array, memsize, mem_map); e81a8c7dabac05 Paul Burton 2015-09-22 224 err = fdt_setprop(fdt, mem_off, "linux,usable-memory", mem_array, e81a8c7dabac05 Paul Burton 2015-09-22 225 mem_entries * 2 * sizeof(mem_array[0])); e81a8c7dabac05 Paul Burton 2015-09-22 226 if (err) e81a8c7dabac05 Paul Burton 2015-09-22 227 panic("Unable to set linux,usable-memory property: %d", err); e81a8c7dabac05 Paul Burton 2015-09-22 228 } e81a8c7dabac05 Paul Burton 2015-09-22 229
:::::: The code at line 92 was first introduced by commit :::::: e81a8c7dabac05d444eda315ff1a747b0fe38396 MIPS: Malta: Setup RAM regions via DT
:::::: TO: Paul Burton <paul.burton@imgtec.com> :::::: CC: Ralf Baechle <ralf@linux-mips.org>
--- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
| |