[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202506270640.lghOwS7H-lkp@intel.com>
Date: Fri, 27 Jun 2025 04:56:13 +0800
From: kernel test robot <lkp@...el.com>
To: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org
Cc: oe-kbuild-all@...ts.linux.dev, Lee Jones <lee@...nel.org>,
Nicolas Ferre <nicolas.ferre@...rochip.com>,
Alexandre Belloni <alexandre.belloni@...tlin.com>,
Claudiu Beznea <claudiu.beznea@...on.dev>
Subject: Re: [PATCH v1 1/1] mfd: syscon: atmel-smc: Don't use "proxy" headers
Hi Andy,
kernel test robot noticed the following build errors:
[auto build test ERROR on lee-mfd/for-mfd-next]
[also build test ERROR on lee-mfd/for-mfd-fixes soc/for-next lee-leds/for-leds-next linus/master v6.16-rc3 next-20250626]
[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/Andy-Shevchenko/mfd-syscon-atmel-smc-Don-t-use-proxy-headers/20250626-235519
base: https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git for-mfd-next
patch link: https://lore.kernel.org/r/20250626155435.325336-1-andriy.shevchenko%40linux.intel.com
patch subject: [PATCH v1 1/1] mfd: syscon: atmel-smc: Don't use "proxy" headers
config: i386-buildonly-randconfig-001-20250627 (https://download.01.org/0day-ci/archive/20250627/202506270640.lghOwS7H-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250627/202506270640.lghOwS7H-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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202506270640.lghOwS7H-lkp@intel.com/
All error/warnings (new ones prefixed by >>):
drivers/mfd/atmel-smc.c: In function 'atmel_smc_cs_conf_apply':
>> drivers/mfd/atmel-smc.c:248:9: error: implicit declaration of function 'regmap_write' [-Werror=implicit-function-declaration]
248 | regmap_write(regmap, ATMEL_SMC_SETUP(cs), conf->setup);
| ^~~~~~~~~~~~
drivers/mfd/atmel-smc.c: In function 'atmel_smc_cs_conf_get':
>> drivers/mfd/atmel-smc.c:289:9: error: implicit declaration of function 'regmap_read' [-Werror=implicit-function-declaration]
289 | regmap_read(regmap, ATMEL_SMC_SETUP(cs), &conf->setup);
| ^~~~~~~~~~~
drivers/mfd/atmel-smc.c: At top level:
>> drivers/mfd/atmel-smc.c:326:34: error: array type has incomplete element type 'struct of_device_id'
326 | static const struct of_device_id atmel_smc_ids[] __maybe_unused = {
| ^~~~~~~~~~~~~
drivers/mfd/atmel-smc.c: In function 'atmel_hsmc_get_reg_layout':
>> drivers/mfd/atmel-smc.c:347:17: error: implicit declaration of function 'of_match_node' [-Werror=implicit-function-declaration]
347 | match = of_match_node(atmel_smc_ids, np);
| ^~~~~~~~~~~~~
>> drivers/mfd/atmel-smc.c:349:29: error: invalid use of undefined type 'const struct of_device_id'
349 | return match ? match->data : ERR_PTR(-EINVAL);
| ^~
>> drivers/mfd/atmel-smc.c:350:1: warning: control reaches end of non-void function [-Wreturn-type]
350 | }
| ^
drivers/mfd/atmel-smc.c: At top level:
drivers/mfd/atmel-smc.c:326:34: warning: 'atmel_smc_ids' defined but not used [-Wunused-variable]
326 | static const struct of_device_id atmel_smc_ids[] __maybe_unused = {
| ^~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/regmap_write +248 drivers/mfd/atmel-smc.c
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 235
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 236 /**
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 237 * atmel_smc_cs_conf_apply - apply an SMC CS conf
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 238 * @regmap: the SMC regmap
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 239 * @cs: the CS id
1574360a98cef98 Lee Jones 2020-06-24 240 * @conf: the SMC CS conf to apply
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 241 *
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 242 * Applies an SMC CS configuration.
53291cb23c919c5 Hans-Christian Noren Egtvedt 2018-10-20 243 * Only valid on at91sam9 SoCs.
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 244 */
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 245 void atmel_smc_cs_conf_apply(struct regmap *regmap, int cs,
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 246 const struct atmel_smc_cs_conf *conf)
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 247 {
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 @248 regmap_write(regmap, ATMEL_SMC_SETUP(cs), conf->setup);
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 249 regmap_write(regmap, ATMEL_SMC_PULSE(cs), conf->pulse);
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 250 regmap_write(regmap, ATMEL_SMC_CYCLE(cs), conf->cycle);
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 251 regmap_write(regmap, ATMEL_SMC_MODE(cs), conf->mode);
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 252 }
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 253 EXPORT_SYMBOL_GPL(atmel_smc_cs_conf_apply);
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 254
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 255 /**
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 256 * atmel_hsmc_cs_conf_apply - apply an SMC CS conf
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 257 * @regmap: the HSMC regmap
b0f3ab20e76499d Ludovic Desroches 2017-07-18 258 * @layout: the layout of registers
6af8d30527e6abb Julia Lawall 2024-09-30 259 * @cs: the CS id
1574360a98cef98 Lee Jones 2020-06-24 260 * @conf: the SMC CS conf to apply
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 261 *
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 262 * Applies an SMC CS configuration.
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 263 * Only valid on post-sama5 SoCs.
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 264 */
b0f3ab20e76499d Ludovic Desroches 2017-07-18 265 void atmel_hsmc_cs_conf_apply(struct regmap *regmap,
b0f3ab20e76499d Ludovic Desroches 2017-07-18 266 const struct atmel_hsmc_reg_layout *layout,
b0f3ab20e76499d Ludovic Desroches 2017-07-18 267 int cs, const struct atmel_smc_cs_conf *conf)
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 268 {
b0f3ab20e76499d Ludovic Desroches 2017-07-18 269 regmap_write(regmap, ATMEL_HSMC_SETUP(layout, cs), conf->setup);
b0f3ab20e76499d Ludovic Desroches 2017-07-18 270 regmap_write(regmap, ATMEL_HSMC_PULSE(layout, cs), conf->pulse);
b0f3ab20e76499d Ludovic Desroches 2017-07-18 271 regmap_write(regmap, ATMEL_HSMC_CYCLE(layout, cs), conf->cycle);
b0f3ab20e76499d Ludovic Desroches 2017-07-18 272 regmap_write(regmap, ATMEL_HSMC_TIMINGS(layout, cs), conf->timings);
b0f3ab20e76499d Ludovic Desroches 2017-07-18 273 regmap_write(regmap, ATMEL_HSMC_MODE(layout, cs), conf->mode);
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 274 }
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 275 EXPORT_SYMBOL_GPL(atmel_hsmc_cs_conf_apply);
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 276
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 277 /**
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 278 * atmel_smc_cs_conf_get - retrieve the current SMC CS conf
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 279 * @regmap: the SMC regmap
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 280 * @cs: the CS id
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 281 * @conf: the SMC CS conf object to store the current conf
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 282 *
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 283 * Retrieve the SMC CS configuration.
53291cb23c919c5 Hans-Christian Noren Egtvedt 2018-10-20 284 * Only valid on at91sam9 SoCs.
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 285 */
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 286 void atmel_smc_cs_conf_get(struct regmap *regmap, int cs,
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 287 struct atmel_smc_cs_conf *conf)
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 288 {
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 @289 regmap_read(regmap, ATMEL_SMC_SETUP(cs), &conf->setup);
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 290 regmap_read(regmap, ATMEL_SMC_PULSE(cs), &conf->pulse);
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 291 regmap_read(regmap, ATMEL_SMC_CYCLE(cs), &conf->cycle);
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 292 regmap_read(regmap, ATMEL_SMC_MODE(cs), &conf->mode);
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 293 }
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 294 EXPORT_SYMBOL_GPL(atmel_smc_cs_conf_get);
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 295
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 296 /**
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 297 * atmel_hsmc_cs_conf_get - retrieve the current SMC CS conf
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 298 * @regmap: the HSMC regmap
b0f3ab20e76499d Ludovic Desroches 2017-07-18 299 * @layout: the layout of registers
6af8d30527e6abb Julia Lawall 2024-09-30 300 * @cs: the CS id
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 301 * @conf: the SMC CS conf object to store the current conf
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 302 *
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 303 * Retrieve the SMC CS configuration.
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 304 * Only valid on post-sama5 SoCs.
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 305 */
b0f3ab20e76499d Ludovic Desroches 2017-07-18 306 void atmel_hsmc_cs_conf_get(struct regmap *regmap,
b0f3ab20e76499d Ludovic Desroches 2017-07-18 307 const struct atmel_hsmc_reg_layout *layout,
b0f3ab20e76499d Ludovic Desroches 2017-07-18 308 int cs, struct atmel_smc_cs_conf *conf)
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 309 {
b0f3ab20e76499d Ludovic Desroches 2017-07-18 310 regmap_read(regmap, ATMEL_HSMC_SETUP(layout, cs), &conf->setup);
b0f3ab20e76499d Ludovic Desroches 2017-07-18 311 regmap_read(regmap, ATMEL_HSMC_PULSE(layout, cs), &conf->pulse);
b0f3ab20e76499d Ludovic Desroches 2017-07-18 312 regmap_read(regmap, ATMEL_HSMC_CYCLE(layout, cs), &conf->cycle);
b0f3ab20e76499d Ludovic Desroches 2017-07-18 313 regmap_read(regmap, ATMEL_HSMC_TIMINGS(layout, cs), &conf->timings);
b0f3ab20e76499d Ludovic Desroches 2017-07-18 314 regmap_read(regmap, ATMEL_HSMC_MODE(layout, cs), &conf->mode);
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 315 }
fe9d7cb22ef3a26 Boris Brezillon 2017-03-16 316 EXPORT_SYMBOL_GPL(atmel_hsmc_cs_conf_get);
b0f3ab20e76499d Ludovic Desroches 2017-07-18 317
b0f3ab20e76499d Ludovic Desroches 2017-07-18 318 static const struct atmel_hsmc_reg_layout sama5d3_reg_layout = {
b0f3ab20e76499d Ludovic Desroches 2017-07-18 319 .timing_regs_offset = 0x600,
b0f3ab20e76499d Ludovic Desroches 2017-07-18 320 };
b0f3ab20e76499d Ludovic Desroches 2017-07-18 321
b0f3ab20e76499d Ludovic Desroches 2017-07-18 322 static const struct atmel_hsmc_reg_layout sama5d2_reg_layout = {
b0f3ab20e76499d Ludovic Desroches 2017-07-18 323 .timing_regs_offset = 0x700,
b0f3ab20e76499d Ludovic Desroches 2017-07-18 324 };
b0f3ab20e76499d Ludovic Desroches 2017-07-18 325
f130faebcdb6c7f Krzysztof Kozlowski 2023-03-11 @326 static const struct of_device_id atmel_smc_ids[] __maybe_unused = {
b0f3ab20e76499d Ludovic Desroches 2017-07-18 327 { .compatible = "atmel,at91sam9260-smc", .data = NULL },
b0f3ab20e76499d Ludovic Desroches 2017-07-18 328 { .compatible = "atmel,sama5d3-smc", .data = &sama5d3_reg_layout },
b0f3ab20e76499d Ludovic Desroches 2017-07-18 329 { .compatible = "atmel,sama5d2-smc", .data = &sama5d2_reg_layout },
b0f3ab20e76499d Ludovic Desroches 2017-07-18 330 { /* sentinel */ },
b0f3ab20e76499d Ludovic Desroches 2017-07-18 331 };
b0f3ab20e76499d Ludovic Desroches 2017-07-18 332
b0f3ab20e76499d Ludovic Desroches 2017-07-18 333 /**
b0f3ab20e76499d Ludovic Desroches 2017-07-18 334 * atmel_hsmc_get_reg_layout - retrieve the layout of HSMC registers
b0f3ab20e76499d Ludovic Desroches 2017-07-18 335 * @np: the HSMC regmap
b0f3ab20e76499d Ludovic Desroches 2017-07-18 336 *
b0f3ab20e76499d Ludovic Desroches 2017-07-18 337 * Retrieve the layout of HSMC registers.
b0f3ab20e76499d Ludovic Desroches 2017-07-18 338 *
b0f3ab20e76499d Ludovic Desroches 2017-07-18 339 * Returns NULL in case of SMC, a struct atmel_hsmc_reg_layout pointer
b0f3ab20e76499d Ludovic Desroches 2017-07-18 340 * in HSMC case, otherwise ERR_PTR(-EINVAL).
b0f3ab20e76499d Ludovic Desroches 2017-07-18 341 */
b0f3ab20e76499d Ludovic Desroches 2017-07-18 342 const struct atmel_hsmc_reg_layout *
b0f3ab20e76499d Ludovic Desroches 2017-07-18 343 atmel_hsmc_get_reg_layout(struct device_node *np)
b0f3ab20e76499d Ludovic Desroches 2017-07-18 344 {
b0f3ab20e76499d Ludovic Desroches 2017-07-18 345 const struct of_device_id *match;
b0f3ab20e76499d Ludovic Desroches 2017-07-18 346
b0f3ab20e76499d Ludovic Desroches 2017-07-18 @347 match = of_match_node(atmel_smc_ids, np);
b0f3ab20e76499d Ludovic Desroches 2017-07-18 348
b0f3ab20e76499d Ludovic Desroches 2017-07-18 @349 return match ? match->data : ERR_PTR(-EINVAL);
b0f3ab20e76499d Ludovic Desroches 2017-07-18 @350 }
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists