linux-clk.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Emil Renner Berthing <kernel@esmil.dk>,
	linux-riscv@lists.infradead.org, devicetree@vger.kernel.org,
	linux-clk@vger.kernel.org, linux-gpio@vger.kernel.org,
	linux-serial@vger.kernel.org
Cc: kbuild-all@lists.01.org, Emil Renner Berthing <kernel@esmil.dk>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Rob Herring <robh+dt@kernel.org>,
	Michael Turquette <mturquette@baylibre.com>
Subject: Re: [PATCH v2 12/16] pinctrl: starfive: Add pinctrl driver for StarFive SoCs
Date: Fri, 29 Oct 2021 04:17:13 +0800	[thread overview]
Message-ID: <202110290445.I5vzGAyD-lkp@intel.com> (raw)
In-Reply-To: <20211021174223.43310-13-kernel@esmil.dk>

[-- Attachment #1: Type: text/plain, Size: 7523 bytes --]

Hi Emil,

I love your patch! Yet something to improve:

[auto build test ERROR on next-20211021]
[also build test ERROR on v5.15-rc7]
[cannot apply to robh/for-next clk/clk-next pza/reset/next linus/master v5.15-rc6 v5.15-rc5 v5.15-rc4]
[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/Emil-Renner-Berthing/Basic-StarFive-JH7100-RISC-V-SoC-support/20211022-014605
base:    3196a52aff93186897f15f1a6c03220ce6523d82
config: alpha-randconfig-p002-20211028 (attached as .config)
compiler: alpha-linux-gcc (GCC) 11.2.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/2aa8169a8c5820ad5b70679777e7f6acd4fd4699
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Emil-Renner-Berthing/Basic-StarFive-JH7100-RISC-V-SoC-support/20211022-014605
        git checkout 2aa8169a8c5820ad5b70679777e7f6acd4fd4699
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=alpha 

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 >>):

   drivers/pinctrl/pinctrl-starfive.c: In function 'starfive_dt_node_to_map':
>> drivers/pinctrl/pinctrl-starfive.c:591:23: error: implicit declaration of function 'pinconf_generic_parse_dt_config'; did you mean 'pinconf_generic_dump_config'? [-Werror=implicit-function-declaration]
     591 |                 ret = pinconf_generic_parse_dt_config(child, pctldev,
         |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |                       pinconf_generic_dump_config
   cc1: some warnings being treated as errors

Kconfig warnings: (for reference only)
   WARNING: unmet direct dependencies detected for OF_GPIO
   Depends on GPIOLIB && OF && HAS_IOMEM
   Selected by
   - PINCTRL_STARFIVE && PINCTRL && (SOC_STARFIVE || COMPILE_TEST
   WARNING: unmet direct dependencies detected for GPIO_SYSCON
   Depends on GPIOLIB && HAS_IOMEM && MFD_SYSCON && OF
   Selected by
   - GPIO_SAMA5D2_PIOBU && GPIOLIB && HAS_IOMEM && MFD_SYSCON && OF_GPIO


vim +591 drivers/pinctrl/pinctrl-starfive.c

   475	
   476	static int starfive_dt_node_to_map(struct pinctrl_dev *pctldev,
   477					   struct device_node *np,
   478					   struct pinctrl_map **maps,
   479					   unsigned int *num_maps)
   480	{
   481		struct starfive_pinctrl *sfp = pinctrl_dev_get_drvdata(pctldev);
   482		struct device *dev = starfive_dev(sfp);
   483		const char **pgnames;
   484		struct pinctrl_map *map;
   485		struct device_node *child;
   486		const char *grpname;
   487		int *pins;
   488		u32 *pinmux;
   489		int nmaps;
   490		int ngroups;
   491		int ret;
   492	
   493		nmaps = 0;
   494		ngroups = 0;
   495		for_each_child_of_node(np, child) {
   496			int npinmux = of_property_count_u32_elems(child, "pinmux");
   497			int npins   = of_property_count_u32_elems(child, "pins");
   498	
   499			if (npinmux > 0 && npins > 0) {
   500				dev_err(dev, "invalid pinctrl group %pOFn.%pOFn: %s\n",
   501					np, child, "both pinmux and pins set");
   502				of_node_put(child);
   503				return -EINVAL;
   504			}
   505	
   506			if (npinmux > 0) {
   507				nmaps += 2;
   508			} else if (npins > 0) {
   509				nmaps += 1;
   510			} else {
   511				dev_err(dev, "invalid pinctrl group %pOFn.%pOFn: %s\n",
   512					np, child, "neither pinmux nor pins set");
   513				of_node_put(child);
   514				return -EINVAL;
   515			}
   516			ngroups += 1;
   517		}
   518	
   519		ret = -ENOMEM;
   520		pgnames = devm_kcalloc(dev, ngroups, sizeof(*pgnames), GFP_KERNEL);
   521		if (!pgnames)
   522			return ret;
   523	
   524		map = kcalloc(nmaps, sizeof(*map), GFP_KERNEL);
   525		if (!map)
   526			goto free_pgnames;
   527	
   528		nmaps = 0;
   529		ngroups = 0;
   530		for_each_child_of_node(np, child) {
   531			int npins;
   532			int i;
   533	
   534			ret = -ENOMEM;
   535			grpname = devm_kasprintf(dev, GFP_KERNEL, "%s.%s", np->name, child->name);
   536			if (!grpname)
   537				goto put_child;
   538	
   539			pgnames[ngroups++] = grpname;
   540	
   541			if ((npins = of_property_count_u32_elems(child, "pinmux")) > 0) {
   542				pins = devm_kcalloc(dev, npins, sizeof(*pins), GFP_KERNEL);
   543				if (!pins)
   544					goto free_grpname;
   545	
   546				pinmux = devm_kcalloc(dev, npins, sizeof(*pinmux), GFP_KERNEL);
   547				if (!pinmux)
   548					goto free_pins;
   549	
   550				for (i = 0; i < npins; i++) {
   551					u32 v;
   552	
   553					ret = of_property_read_u32_index(child, "pinmux", i, &v);
   554					if (ret)
   555						goto free_pinmux;
   556					pins[i] = starfive_gpio_to_pin(sfp, starfive_pinmux_to_gpio(v));
   557					pinmux[i] = v;
   558				}
   559	
   560				map[nmaps].type = PIN_MAP_TYPE_MUX_GROUP;
   561				map[nmaps].data.mux.function = np->name;
   562				map[nmaps].data.mux.group = grpname;
   563				nmaps += 1;
   564			} else if ((npins = of_property_count_u32_elems(child, "pins")) > 0) {
   565				pins = devm_kcalloc(dev, npins, sizeof(*pins), GFP_KERNEL);
   566				if (!pins)
   567					goto free_grpname;
   568	
   569				pinmux = NULL;
   570	
   571				for (i = 0; i < npins; i++) {
   572					u32 v;
   573	
   574					ret = of_property_read_u32_index(child, "pins", i, &v);
   575					if (ret)
   576						goto free_pins;
   577					pins[i] = v;
   578				}
   579			} else {
   580				ret = -EINVAL;
   581				goto free_grpname;
   582			}
   583	
   584			ret = pinctrl_generic_add_group(pctldev, grpname, pins, npins, pinmux);
   585			if (ret < 0) {
   586				dev_err(dev, "error adding group %pOFn.%pOFn: %d\n",
   587					np, child, ret);
   588				goto free_pinmux;
   589			}
   590	
 > 591			ret = pinconf_generic_parse_dt_config(child, pctldev,
   592							      &map[nmaps].data.configs.configs,
   593							      &map[nmaps].data.configs.num_configs);
   594			if (ret) {
   595				dev_err(dev, "invalid pinctrl group %pOFn.%pOFn: %s\n",
   596					np, child, "error parsing pin config");
   597				goto put_child;
   598			}
   599	
   600			/* don't create a map if there are no pinconf settings */
   601			if (map[nmaps].data.configs.num_configs == 0)
   602				continue;
   603	
   604			map[nmaps].type = PIN_MAP_TYPE_CONFIGS_GROUP;
   605			map[nmaps].data.configs.group_or_pin = grpname;
   606			nmaps += 1;
   607		}
   608	
   609		ret = pinmux_generic_add_function(pctldev, np->name, pgnames, ngroups, NULL);
   610		if (ret < 0) {
   611			dev_err(dev, "error adding function %pOFn: %d\n", np, ret);
   612			goto free_map;
   613		}
   614	
   615		*maps = map;
   616		*num_maps = nmaps;
   617		return 0;
   618	
   619	free_pinmux:
   620		devm_kfree(dev, pinmux);
   621	free_pins:
   622		devm_kfree(dev, pins);
   623	free_grpname:
   624		devm_kfree(dev, grpname);
   625	put_child:
   626		of_node_put(child);
   627	free_map:
   628		pinctrl_utils_free_map(pctldev, map, nmaps);
   629	free_pgnames:
   630		devm_kfree(dev, pgnames);
   631		return ret;
   632	}
   633	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 32651 bytes --]

  parent reply	other threads:[~2021-10-28 20:18 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-21 17:42 [PATCH v2 00/16] Basic StarFive JH7100 RISC-V SoC support Emil Renner Berthing
2021-10-21 17:42 ` [PATCH v2 01/16] RISC-V: Add StarFive SoC Kconfig option Emil Renner Berthing
2021-10-22  8:50   ` Andy Shevchenko
2021-10-22  9:40     ` Emil Renner Berthing
2021-10-22 12:40       ` Andy Shevchenko
2021-10-21 17:42 ` [PATCH v2 02/16] dt-bindings: timer: Add StarFive JH7100 clint Emil Renner Berthing
2021-10-21 17:42 ` [PATCH v2 03/16] dt-bindings: interrupt-controller: Add StarFive JH7100 plic Emil Renner Berthing
2021-10-29  1:37   ` Rob Herring
2021-10-21 17:42 ` [PATCH v2 04/16] dt-bindings: clock: starfive: Add JH7100 clock definitions Emil Renner Berthing
2021-10-29  1:42   ` Rob Herring
2021-10-21 17:42 ` [PATCH v2 05/16] dt-bindings: clock: starfive: Add JH7100 bindings Emil Renner Berthing
2021-10-29  1:42   ` Rob Herring
2021-10-29 13:05     ` Emil Renner Berthing
2021-10-21 17:42 ` [PATCH v2 06/16] clk: starfive: Add JH7100 clock generator driver Emil Renner Berthing
2021-10-22 12:33   ` Andy Shevchenko
2021-10-22 12:44     ` Geert Uytterhoeven
2021-10-22 13:13     ` Emil Renner Berthing
2021-10-22 13:35       ` Andy Shevchenko
2021-10-26 20:19   ` Stephen Boyd
2021-10-26 22:35     ` Emil Renner Berthing
2021-10-27  0:54       ` Stephen Boyd
2021-10-27  9:30         ` Andy Shevchenko
2021-10-27 10:24         ` Emil Renner Berthing
2021-10-27 10:32           ` Andy Shevchenko
2021-10-27 11:22           ` Heiko Stübner
2021-10-21 17:42 ` [PATCH v2 07/16] dt-bindings: reset: Add StarFive JH7100 reset definitions Emil Renner Berthing
2021-10-29  1:42   ` Rob Herring
2021-10-21 17:42 ` [PATCH v2 08/16] dt-bindings: reset: Add Starfive JH7100 reset bindings Emil Renner Berthing
2021-10-29  1:43   ` Rob Herring
2021-10-21 17:42 ` [PATCH v2 09/16] reset: starfive-jh7100: Add StarFive JH7100 reset driver Emil Renner Berthing
2021-10-22 12:55   ` Andy Shevchenko
2021-10-22 13:34     ` Emil Renner Berthing
2021-10-22 13:38       ` Andy Shevchenko
2021-10-22 13:50         ` Emil Renner Berthing
2021-10-22 13:56           ` Andy Shevchenko
2021-10-22 14:25         ` Emil Renner Berthing
2021-10-22 14:49           ` Andy Shevchenko
2021-10-22 14:50             ` Andy Shevchenko
2021-10-22 14:56             ` Emil Renner Berthing
2021-10-22 15:24               ` Andy Shevchenko
2021-10-22 15:36                 ` Emil Renner Berthing
2021-10-22 15:54                   ` Andy Shevchenko
2021-10-22 15:59                     ` Emil Renner Berthing
2021-10-22 13:06   ` Andreas Schwab
2021-10-22 13:41     ` Emil Renner Berthing
2021-10-21 17:42 ` [PATCH v2 10/16] dt-bindings: pinctrl: Add StarFive pinctrl definitions Emil Renner Berthing
2021-10-29  1:44   ` Rob Herring
2021-10-21 17:42 ` [PATCH v2 11/16] dt-bindings: pinctrl: Add StarFive JH7100 bindings Emil Renner Berthing
2021-10-24 23:11   ` Linus Walleij
2021-10-25  0:35     ` Emil Renner Berthing
2021-10-29  1:50   ` Rob Herring
2021-10-29 13:00     ` Emil Renner Berthing
2021-10-29 14:44       ` Rob Herring
2021-10-21 17:42 ` [PATCH v2 12/16] pinctrl: starfive: Add pinctrl driver for StarFive SoCs Emil Renner Berthing
2021-10-21 19:01   ` Drew Fustini
2021-10-21 19:50     ` Emil Renner Berthing
2021-10-22  2:06       ` Drew Fustini
2021-10-22 13:31   ` Andy Shevchenko
2021-10-23 18:45     ` Emil Renner Berthing
2021-10-23 20:28       ` Andy Shevchenko
2021-10-23 21:02         ` Emil Renner Berthing
2021-10-24  9:29           ` Emil Renner Berthing
2021-10-25 10:15             ` Andy Shevchenko
2021-10-25 10:24               ` Emil Renner Berthing
2021-10-25 10:51                 ` Andy Shevchenko
2021-10-28 20:17   ` kernel test robot [this message]
2021-10-21 17:42 ` [PATCH v2 13/16] dt-bindings: serial: snps-dw-apb-uart: Add JH7100 uarts Emil Renner Berthing
2021-10-29  1:50   ` Rob Herring
2021-10-21 17:42 ` [PATCH v2 14/16] serial: 8250_dw: Add skip_clk_set_rate quirk Emil Renner Berthing
2021-10-21 17:42 ` [PATCH v2 15/16] RISC-V: Add initial StarFive JH7100 device tree Emil Renner Berthing
2021-10-21 17:42 ` [PATCH v2 16/16] RISC-V: Add BeagleV Starlight Beta " Emil Renner Berthing

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202110290445.I5vzGAyD-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=devicetree@vger.kernel.org \
    --cc=kbuild-all@lists.01.org \
    --cc=kernel@esmil.dk \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=mturquette@baylibre.com \
    --cc=palmer@dabbelt.com \
    --cc=paul.walmsley@sifive.com \
    --cc=robh+dt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).