lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ