Hi Thierry, I love your patch! Yet something to improve: [auto build test ERROR on tegra/for-next] [also build test ERROR on next-20210616] [cannot apply to pza/reset/next tegra-drm/drm/tegra/for-next v5.13-rc6] [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] url: https://github.com/0day-ci/linux/commits/Thierry-Reding/memory-tegra-Fixes-for-COMPILE_TEST/20210616-154340 base: https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux.git for-next config: parisc-randconfig-c023-20210616 (attached as .config) compiler: hppa-linux-gcc (GCC) 9.3.0 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 # https://github.com/0day-ci/linux/commit/0d0e9cbf83822694f35eca16dce8c5406b4f464f git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Thierry-Reding/memory-tegra-Fixes-for-COMPILE_TEST/20210616-154340 git checkout 0d0e9cbf83822694f35eca16dce8c5406b4f464f # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=parisc If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): drivers/tty/serial/earlycon.c: In function 'of_setup_earlycon': >> drivers/tty/serial/earlycon.c:258:9: error: implicit declaration of function 'of_flat_dt_translate_address' [-Werror=implicit-function-declaration] 258 | addr = of_flat_dt_translate_address(node); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors Kconfig warnings: (for reference only) WARNING: unmet direct dependencies detected for OF_EARLY_FLATTREE Depends on OF Selected by - TEGRA210_EMC_TABLE && MEMORY && TEGRA_MC && (ARCH_TEGRA_210_SOC || COMPILE_TEST WARNING: unmet direct dependencies detected for OF_RESERVED_MEM Depends on OF && OF_EARLY_FLATTREE Selected by - TEGRA210_EMC_TABLE && MEMORY && TEGRA_MC && (ARCH_TEGRA_210_SOC || COMPILE_TEST vim +/of_flat_dt_translate_address +258 drivers/tty/serial/earlycon.c 8477614d9f7c5c Peter Hurley 2016-01-16 245 c90fe9c0394b06 Peter Hurley 2016-01-16 246 int __init of_setup_earlycon(const struct earlycon_id *match, 088da2a17619cf Peter Hurley 2016-01-16 247 unsigned long node, 4d118c9a866590 Peter Hurley 2016-01-16 248 const char *options) b0b6abd34c1b50 Rob Herring 2014-03-27 249 { b0b6abd34c1b50 Rob Herring 2014-03-27 250 int err; b0b6abd34c1b50 Rob Herring 2014-03-27 251 struct uart_port *port = &early_console_dev.port; 088da2a17619cf Peter Hurley 2016-01-16 252 const __be32 *val; 088da2a17619cf Peter Hurley 2016-01-16 253 bool big_endian; c90fe9c0394b06 Peter Hurley 2016-01-16 254 u64 addr; b0b6abd34c1b50 Rob Herring 2014-03-27 255 e1dd3bef6d03c9 Geert Uytterhoeven 2015-11-27 256 spin_lock_init(&port->lock); b0b6abd34c1b50 Rob Herring 2014-03-27 257 port->iotype = UPIO_MEM; c90fe9c0394b06 Peter Hurley 2016-01-16 @258 addr = of_flat_dt_translate_address(node); c90fe9c0394b06 Peter Hurley 2016-01-16 259 if (addr == OF_BAD_ADDR) { c90fe9c0394b06 Peter Hurley 2016-01-16 260 pr_warn("[%s] bad address\n", match->name); c90fe9c0394b06 Peter Hurley 2016-01-16 261 return -ENXIO; c90fe9c0394b06 Peter Hurley 2016-01-16 262 } b0b6abd34c1b50 Rob Herring 2014-03-27 263 port->mapbase = addr; b0b6abd34c1b50 Rob Herring 2014-03-27 264 088da2a17619cf Peter Hurley 2016-01-16 265 val = of_get_flat_dt_prop(node, "reg-offset", NULL); 088da2a17619cf Peter Hurley 2016-01-16 266 if (val) 088da2a17619cf Peter Hurley 2016-01-16 267 port->mapbase += be32_to_cpu(*val); 1f66dd36bb1843 Greentime Hu 2018-02-13 268 port->membase = earlycon_map(port->mapbase, SZ_4K); 1f66dd36bb1843 Greentime Hu 2018-02-13 269 088da2a17619cf Peter Hurley 2016-01-16 270 val = of_get_flat_dt_prop(node, "reg-shift", NULL); 088da2a17619cf Peter Hurley 2016-01-16 271 if (val) 088da2a17619cf Peter Hurley 2016-01-16 272 port->regshift = be32_to_cpu(*val); 088da2a17619cf Peter Hurley 2016-01-16 273 big_endian = of_get_flat_dt_prop(node, "big-endian", NULL) != NULL || 088da2a17619cf Peter Hurley 2016-01-16 274 (IS_ENABLED(CONFIG_CPU_BIG_ENDIAN) && 088da2a17619cf Peter Hurley 2016-01-16 275 of_get_flat_dt_prop(node, "native-endian", NULL) != NULL); 088da2a17619cf Peter Hurley 2016-01-16 276 val = of_get_flat_dt_prop(node, "reg-io-width", NULL); 088da2a17619cf Peter Hurley 2016-01-16 277 if (val) { 088da2a17619cf Peter Hurley 2016-01-16 278 switch (be32_to_cpu(*val)) { 088da2a17619cf Peter Hurley 2016-01-16 279 case 1: 088da2a17619cf Peter Hurley 2016-01-16 280 port->iotype = UPIO_MEM; 088da2a17619cf Peter Hurley 2016-01-16 281 break; 088da2a17619cf Peter Hurley 2016-01-16 282 case 2: 088da2a17619cf Peter Hurley 2016-01-16 283 port->iotype = UPIO_MEM16; 088da2a17619cf Peter Hurley 2016-01-16 284 break; 088da2a17619cf Peter Hurley 2016-01-16 285 case 4: 088da2a17619cf Peter Hurley 2016-01-16 286 port->iotype = (big_endian) ? UPIO_MEM32BE : UPIO_MEM32; 088da2a17619cf Peter Hurley 2016-01-16 287 break; 088da2a17619cf Peter Hurley 2016-01-16 288 default: 088da2a17619cf Peter Hurley 2016-01-16 289 pr_warn("[%s] unsupported reg-io-width\n", match->name); 088da2a17619cf Peter Hurley 2016-01-16 290 return -EINVAL; 088da2a17619cf Peter Hurley 2016-01-16 291 } 088da2a17619cf Peter Hurley 2016-01-16 292 } 088da2a17619cf Peter Hurley 2016-01-16 293 31cb9a8575ca04 Eugeniy Paltsev 2017-08-21 294 val = of_get_flat_dt_prop(node, "current-speed", NULL); 31cb9a8575ca04 Eugeniy Paltsev 2017-08-21 295 if (val) 31cb9a8575ca04 Eugeniy Paltsev 2017-08-21 296 early_console_dev.baud = be32_to_cpu(*val); 31cb9a8575ca04 Eugeniy Paltsev 2017-08-21 297 814453adea7d08 Michal Simek 2018-04-10 298 val = of_get_flat_dt_prop(node, "clock-frequency", NULL); 814453adea7d08 Michal Simek 2018-04-10 299 if (val) 814453adea7d08 Michal Simek 2018-04-10 300 port->uartclk = be32_to_cpu(*val); 814453adea7d08 Michal Simek 2018-04-10 301 4d118c9a866590 Peter Hurley 2016-01-16 302 if (options) { 31cb9a8575ca04 Eugeniy Paltsev 2017-08-21 303 early_console_dev.baud = simple_strtoul(options, NULL, 0); 4d118c9a866590 Peter Hurley 2016-01-16 304 strlcpy(early_console_dev.options, options, 4d118c9a866590 Peter Hurley 2016-01-16 305 sizeof(early_console_dev.options)); 4d118c9a866590 Peter Hurley 2016-01-16 306 } 05d961320ba624 Peter Hurley 2016-01-16 307 earlycon_init(&early_console_dev, match->name); 4d118c9a866590 Peter Hurley 2016-01-16 308 err = match->setup(&early_console_dev, options); f28295cc8ce14b Hsin-Yi Wang 2020-09-15 309 earlycon_print_info(&early_console_dev); b0b6abd34c1b50 Rob Herring 2014-03-27 310 if (err < 0) b0b6abd34c1b50 Rob Herring 2014-03-27 311 return err; b0b6abd34c1b50 Rob Herring 2014-03-27 312 if (!early_console_dev.con->write) b0b6abd34c1b50 Rob Herring 2014-03-27 313 return -ENODEV; b0b6abd34c1b50 Rob Herring 2014-03-27 314 b0b6abd34c1b50 Rob Herring 2014-03-27 315 b0b6abd34c1b50 Rob Herring 2014-03-27 316 register_console(early_console_dev.con); b0b6abd34c1b50 Rob Herring 2014-03-27 317 return 0; b0b6abd34c1b50 Rob Herring 2014-03-27 318 } 8477614d9f7c5c Peter Hurley 2016-01-16 319 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org