linux-next.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Yinbo Zhu <zhuyinbo@loongson.cn>
To: Stephen Rothwell <sfr@canb.auug.org.au>,
	Linus Walleij <linus.walleij@linaro.org>
Cc: zhanghongchen <zhanghongchen@loongson.cn>,
	zhuyinbo@loongson.cn,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linux Next Mailing List <linux-next@vger.kernel.org>
Subject: Re: linux-next: build failure after merge of the pinctrl tree
Date: Wed, 9 Nov 2022 11:55:11 +0800	[thread overview]
Message-ID: <17afdc55-bea5-ff22-8a41-80068942c105@loongson.cn> (raw)
In-Reply-To: <20221109134644.1621f1e5@canb.auug.org.au>



在 2022/11/9 上午10:46, Stephen Rothwell 写道:
> Hi all,
> 
> After merging the pinctrl tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
> 
> drivers/pinctrl/pinctrl-loongson2.c:42:29: error: field 'desc' has incomplete type
>     42 |         struct pinctrl_desc desc;
>        |                             ^~~~
> drivers/pinctrl/pinctrl-loongson2.c:63:38: error: array type has incomplete element type 'struct pinctrl_pin_desc'
>     63 | static const struct pinctrl_pin_desc loongson2_pctrl_pins[] = {
>        |                                      ^~~~~~~~~~~~~~~~~~~~
> drivers/pinctrl/pinctrl-loongson2.c:62:26: error: implicit declaration of function 'PINCTRL_PIN' [-Werror=implicit-function-declaration]
>     62 | #define LOONGSON2_PIN(x) PINCTRL_PIN(x, "gpio"#x)
>        |                          ^~~~~~~~~~~
> drivers/pinctrl/pinctrl-loongson2.c:64:9: note: in expansion of macro 'LOONGSON2_PIN'
>     64 |         LOONGSON2_PIN(0),  LOONGSON2_PIN(1),  LOONGSON2_PIN(2),  LOONGSON2_PIN(3),
>        |         ^~~~~~~~~~~~~
> drivers/pinctrl/pinctrl-loongson2.c: In function 'loongson2_pin_dbg_show':
> drivers/pinctrl/pinctrl-loongson2.c:208:9: error: implicit declaration of function 'seq_printf'; did you mean 'bstr_printf'? [-Werror=implicit-function-declaration]
>    208 |         seq_printf(s, " %s", dev_name(pcdev->dev));
>        |         ^~~~~~~~~~
>        |         bstr_printf
> drivers/pinctrl/pinctrl-loongson2.c: At top level:
> drivers/pinctrl/pinctrl-loongson2.c:211:21: error: variable 'loongson2_pctrl_ops' has initializer but incomplete type
>    211 | static const struct pinctrl_ops loongson2_pctrl_ops = {
>        |                     ^~~~~~~~~~~
> drivers/pinctrl/pinctrl-loongson2.c:212:10: error: 'const struct pinctrl_ops' has no member named 'get_groups_count'
>    212 |         .get_groups_count       = loongson2_get_groups_count,
>        |          ^~~~~~~~~~~~~~~~
> drivers/pinctrl/pinctrl-loongson2.c:212:35: error: excess elements in struct initializer [-Werror]
>    212 |         .get_groups_count       = loongson2_get_groups_count,
>        |                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/pinctrl/pinctrl-loongson2.c:212:35: note: (near initialization for 'loongson2_pctrl_ops')
> drivers/pinctrl/pinctrl-loongson2.c:213:10: error: 'const struct pinctrl_ops' has no member named 'get_group_name'
>    213 |         .get_group_name         = loongson2_get_group_name,
>        |          ^~~~~~~~~~~~~~
> drivers/pinctrl/pinctrl-loongson2.c:213:35: error: excess elements in struct initializer [-Werror]
>    213 |         .get_group_name         = loongson2_get_group_name,
>        |                                   ^~~~~~~~~~~~~~~~~~~~~~~~
> drivers/pinctrl/pinctrl-loongson2.c:213:35: note: (near initialization for 'loongson2_pctrl_ops')
> drivers/pinctrl/pinctrl-loongson2.c:214:10: error: 'const struct pinctrl_ops' has no member named 'get_group_pins'
>    214 |         .get_group_pins         = loongson2_get_group_pins,
>        |          ^~~~~~~~~~~~~~
> drivers/pinctrl/pinctrl-loongson2.c:214:35: error: excess elements in struct initializer [-Werror]
>    214 |         .get_group_pins         = loongson2_get_group_pins,
>        |                                   ^~~~~~~~~~~~~~~~~~~~~~~~
> drivers/pinctrl/pinctrl-loongson2.c:214:35: note: (near initialization for 'loongson2_pctrl_ops')
> drivers/pinctrl/pinctrl-loongson2.c:215:10: error: 'const struct pinctrl_ops' has no member named 'dt_node_to_map'
>    215 |         .dt_node_to_map         = pinconf_generic_dt_node_to_map_all,
>        |          ^~~~~~~~~~~~~~
> drivers/pinctrl/pinctrl-loongson2.c:215:35: error: excess elements in struct initializer [-Werror]
>    215 |         .dt_node_to_map         = pinconf_generic_dt_node_to_map_all,
>        |                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/pinctrl/pinctrl-loongson2.c:215:35: note: (near initialization for 'loongson2_pctrl_ops')
> drivers/pinctrl/pinctrl-loongson2.c:216:10: error: 'const struct pinctrl_ops' has no member named 'dt_free_map'
>    216 |         .dt_free_map            = pinctrl_utils_free_map,
>        |          ^~~~~~~~~~~
> drivers/pinctrl/pinctrl-loongson2.c:216:35: error: excess elements in struct initializer [-Werror]
>    216 |         .dt_free_map            = pinctrl_utils_free_map,
>        |                                   ^~~~~~~~~~~~~~~~~~~~~~
> drivers/pinctrl/pinctrl-loongson2.c:216:35: note: (near initialization for 'loongson2_pctrl_ops')
> drivers/pinctrl/pinctrl-loongson2.c:217:10: error: 'const struct pinctrl_ops' has no member named 'pin_dbg_show'
>    217 |         .pin_dbg_show           = loongson2_pin_dbg_show,
>        |          ^~~~~~~~~~~~
> drivers/pinctrl/pinctrl-loongson2.c:217:35: error: excess elements in struct initializer [-Werror]
>    217 |         .pin_dbg_show           = loongson2_pin_dbg_show,
>        |                                   ^~~~~~~~~~~~~~~~~~~~~~
> drivers/pinctrl/pinctrl-loongson2.c:217:35: note: (near initialization for 'loongson2_pctrl_ops')
> drivers/pinctrl/pinctrl-loongson2.c: In function 'loongson2_pmx_set_mux':
> drivers/pinctrl/pinctrl-loongson2.c:223:43: error: implicit declaration of function 'pinctrl_dev_get_drvdata'; did you mean 'dev_get_drvdata'? [-Werror=implicit-function-declaration]
>    223 |         struct loongson2_pinctrl *pctrl = pinctrl_dev_get_drvdata(pcdev);
>        |                                           ^~~~~~~~~~~~~~~~~~~~~~~
>        |                                           dev_get_drvdata
> drivers/pinctrl/pinctrl-loongson2.c:223:43: error: initialization of 'struct loongson2_pinctrl *' from 'int' makes pointer from integer without a cast [-Werror=int-conversion]
> In file included from include/linux/container_of.h:5,
>                   from include/linux/list.h:5,
>                   from include/linux/module.h:12,
>                   from drivers/pinctrl/pinctrl-loongson2.c:9:
> drivers/pinctrl/pinctrl-loongson2.c: In function 'loongson2_pinctrl_probe':
> include/linux/build_bug.h:16:51: error: bit-field '<anonymous>' width not an integer constant
>     16 | #define BUILD_BUG_ON_ZERO(e) ((int)(sizeof(struct { int:(-!!(e)); })))
>        |                                                   ^
> include/linux/compiler.h:232:33: note: in expansion of macro 'BUILD_BUG_ON_ZERO'
>    232 | #define __must_be_array(a)      BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0]))
>        |                                 ^~~~~~~~~~~~~~~~~
> include/linux/kernel.h:55:59: note: in expansion of macro '__must_be_array'
>     55 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
>        |                                                           ^~~~~~~~~~~~~~~
> drivers/pinctrl/pinctrl-loongson2.c:294:35: note: in expansion of macro 'ARRAY_SIZE'
>    294 |         pctrl->desc.npins       = ARRAY_SIZE(loongson2_pctrl_pins);
>        |                                   ^~~~~~~~~~
> drivers/pinctrl/pinctrl-loongson2.c:296:24: error: implicit declaration of function 'devm_pinctrl_register'; did you mean 'device_register'? [-Werror=implicit-function-declaration]
>    296 |         pctrl->pcdev = devm_pinctrl_register(pctrl->dev, &pctrl->desc, pctrl);
>        |                        ^~~~~~~~~~~~~~~~~~~~~
>        |                        device_register
> drivers/pinctrl/pinctrl-loongson2.c: At top level:
> drivers/pinctrl/pinctrl-loongson2.c:211:33: error: storage size of 'loongson2_pctrl_ops' isn't known
>    211 | static const struct pinctrl_ops loongson2_pctrl_ops = {
>        |                                 ^~~~~~~~~~~~~~~~~~~
> drivers/pinctrl/pinctrl-loongson2.c:63:38: error: 'loongson2_pctrl_pins' defined but not used [-Werror=unused-variable]
>     63 | static const struct pinctrl_pin_desc loongson2_pctrl_pins[] = {
>        |                                      ^~~~~~~~~~~~~~~~~~~~
> 
> Caused by commit
> 
>    6c2a0a800390 ("pinctrl: pinctrl-loongson2: add pinctrl driver support")
> 
> I have used the pinctrl tree from next-20221108 for today.
I was test it that base on 6.1-rc3 master branch and it is okay, but in 
pinctrl tree test that need include following head file.
--- a/drivers/pinctrl/pinctrl-loongson2.c
+++ b/drivers/pinctrl/pinctrl-loongson2.c
@@ -11,6 +11,8 @@
  #include <linux/of.h>
  #include <linux/pinctrl/pinmux.h>
  #include <linux/pinctrl/pinconf-generic.h>
+#include <linux/pinctrl/pinctrl.h>
+#include <linux/seq_file.h>
  #include <asm-generic/io.h>

BRs,
Yinbo.
> 


  reply	other threads:[~2022-11-09  3:55 UTC|newest]

Thread overview: 75+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-09  2:46 linux-next: build failure after merge of the pinctrl tree Stephen Rothwell
2022-11-09  3:55 ` Yinbo Zhu [this message]
2022-11-09  8:31 ` Linus Walleij
  -- strict thread matches above, loose matches on Subject: below --
2023-11-14  2:13 Stephen Rothwell
2023-11-14  7:46 ` Linus Walleij
2022-11-15  4:03 Stephen Rothwell
2022-11-10  4:09 Stephen Rothwell
2022-11-10  9:14 ` Linus Walleij
2022-08-26  5:26 Stephen Rothwell
2022-08-26  8:01 ` Linus Walleij
2022-08-26 11:20   ` Wolfram Sang
2022-08-26 13:18     ` Linus Walleij
2022-09-12 13:40       ` Uwe Kleine-König
2022-08-02 22:21 broonie
2022-08-02 22:29 ` Mario Limonciello
2022-06-29  7:13 Stephen Rothwell
2022-06-27  6:01 Stephen Rothwell
2021-10-26  5:28 Stephen Rothwell
2021-10-26 12:30 ` Prathamesh Shete
2021-10-26 20:15   ` Linus Walleij
2021-10-26 21:21   ` Dmitry Osipenko
2021-10-28 12:31     ` Prathamesh Shete
2021-11-09  4:49       ` Linus Walleij
2021-03-04  1:12 Stephen Rothwell
2021-03-04  8:16 ` Linus Walleij
2021-03-04  9:54   ` Stephen Rothwell
     [not found]   ` <202103050813501649431@rock-chips.com>
2021-03-05  0:43     ` Linus Walleij
     [not found]       ` <202103050846457413391@rock-chips.com>
2021-03-05  2:12         ` Stephen Rothwell
2021-01-27  9:41 Stephen Rothwell
2021-01-27 12:40 ` Krzysztof Kozlowski
2020-10-30  1:50 Stephen Rothwell
2020-11-04  3:10 ` Stephen Rothwell
2020-11-04 14:02   ` Linus Walleij
2020-07-17  7:16 Stephen Rothwell
2020-07-17  9:01 ` Hanks Chen
2020-07-17 11:37   ` Linus Walleij
2020-03-30  6:19 Stephen Rothwell
2020-02-25  1:21 Stephen Rothwell
2020-02-25  9:14 ` Marco Felsch
2019-08-21  6:16 Stephen Rothwell
2019-08-21  7:00 ` Linus Walleij
2016-12-06 22:27 Peter Rosin
2016-12-06 22:46 ` Stephen Rothwell
2016-12-06 23:05   ` Peter Rosin
2016-12-04 23:00 Stephen Rothwell
2016-12-06 21:31 ` Stephen Rothwell
2016-12-07 14:22   ` Linus Walleij
2016-05-12  4:14 Stephen Rothwell
2016-05-12 13:39 ` Linus Walleij
2015-12-21  4:58 Stephen Rothwell
2015-12-21  6:23 ` Pramod Kumar
2015-12-21  8:44 ` Linus Walleij
2015-12-18  3:45 Stephen Rothwell
2015-12-18  5:34 ` Pramod Kumar
2015-12-18  5:57   ` Stephen Rothwell
2015-12-18  6:12     ` Pramod Kumar
2015-12-18 17:05       ` Ray Jui
2015-09-25  3:34 Stephen Rothwell
2015-10-02  3:37 ` Stephen Rothwell
2015-10-05  7:38   ` Linus Walleij
2015-01-12  5:02 Stephen Rothwell
2015-01-12  7:25 ` Linus Walleij
2014-10-27  3:35 Stephen Rothwell
2014-05-30  6:08 Stephen Rothwell
2014-05-30  8:19 ` Linus Walleij
2014-02-11  3:56 Stephen Rothwell
2014-02-11  8:21 ` Linus Walleij
2013-12-10  3:02 Stephen Rothwell
2013-12-10  4:06 ` Stephen Rothwell
2013-12-10  8:50 ` Linus Walleij
2013-12-09  4:18 Stephen Rothwell
2013-09-20  3:27 Stephen Rothwell
2012-04-04  2:44 Stephen Rothwell
2012-04-04  3:43 ` Stephen Warren
2012-04-10  7:42   ` Linus Walleij
2012-04-10 15:12     ` Stephen Warren

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=17afdc55-bea5-ff22-8a41-80068942c105@loongson.cn \
    --to=zhuyinbo@loongson.cn \
    --cc=linus.walleij@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=sfr@canb.auug.org.au \
    --cc=zhanghongchen@loongson.cn \
    /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).