public inbox for linux-next@vger.kernel.org 
 help / color / mirror / Atom feed
* linux-next: build failure after merge of the reset tree
@ 2025-11-21  0:15 Stephen Rothwell
  2025-11-21  3:50 ` Stephen Rothwell
  0 siblings, 1 reply; 4+ messages in thread
From: Stephen Rothwell @ 2025-11-21  0:15 UTC (permalink / raw)
  To: Philipp Zabel
  Cc: Bartosz Golaszewski, Linux Kernel Mailing List,
	Linux Next Mailing List

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

Hi all,

After merging the reset tree, today's linux-next build (x86_64
allmodconfig) failed like this:

drivers/platform/x86/intel/chtwc_int33fe.c:80:12: error: 'struct software_node_ref_args' has no member named 'node'; did you mean 'swnode'?
   80 |         { .node = NULL },
      |            ^~~~
      |            swnode
drivers/platform/x86/intel/chtwc_int33fe.c: In function 'cht_int33fe_remove_nodes':
drivers/platform/x86/intel/chtwc_int33fe.c:193:33: error: 'struct software_node_ref_args' has no member named 'node'; did you mean 'swnode'?
  193 |         if (fusb302_mux_refs[0].node) {
      |                                 ^~~~
      |                                 swnode
drivers/platform/x86/intel/chtwc_int33fe.c:194:76: error: 'struct software_node_ref_args' has no member named 'node'; did you mean 'swnode'?
  194 |                 fwnode_handle_put(software_node_fwnode(fusb302_mux_refs[0].node));
      |                                                                            ^~~~
      |                                                                            swnode
drivers/platform/x86/intel/chtwc_int33fe.c:195:37: error: 'struct software_node_ref_args' has no member named 'node'; did you mean 'swnode'?
  195 |                 fusb302_mux_refs[0].node = NULL;
      |                                     ^~~~
      |                                     swnode
drivers/platform/x86/intel/chtwc_int33fe.c: In function 'cht_int33fe_add_nodes':
drivers/platform/x86/intel/chtwc_int33fe.c:225:29: error: 'struct software_node_ref_args' has no member named 'node'; did you mean 'swnode'?
  225 |         fusb302_mux_refs[0].node = mux_ref_node;
      |                             ^~~~
      |                             swnode

Caused by commit

  d7cdbbc93c56 ("software node: allow referencing firmware nodes")

I have used the reset tree from next-20251120 for today.

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: linux-next: build failure after merge of the reset tree
  2025-11-21  0:15 linux-next: build failure after merge of the reset tree Stephen Rothwell
@ 2025-11-21  3:50 ` Stephen Rothwell
  2025-11-21  8:22   ` Philipp Zabel
  0 siblings, 1 reply; 4+ messages in thread
From: Stephen Rothwell @ 2025-11-21  3:50 UTC (permalink / raw)
  To: Philipp Zabel, Bartosz Golaszewski
  Cc: Linux Kernel Mailing List, Linux Next Mailing List

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

Hi all,

On Fri, 21 Nov 2025 11:15:34 +1100 Stephen Rothwell <sfr@canb•auug.org.au> wrote:
>
> After merging the reset tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
> 
> drivers/platform/x86/intel/chtwc_int33fe.c:80:12: error: 'struct software_node_ref_args' has no member named 'node'; did you mean 'swnode'?
>    80 |         { .node = NULL },
>       |            ^~~~
>       |            swnode
> drivers/platform/x86/intel/chtwc_int33fe.c: In function 'cht_int33fe_remove_nodes':
> drivers/platform/x86/intel/chtwc_int33fe.c:193:33: error: 'struct software_node_ref_args' has no member named 'node'; did you mean 'swnode'?
>   193 |         if (fusb302_mux_refs[0].node) {
>       |                                 ^~~~
>       |                                 swnode
> drivers/platform/x86/intel/chtwc_int33fe.c:194:76: error: 'struct software_node_ref_args' has no member named 'node'; did you mean 'swnode'?
>   194 |                 fwnode_handle_put(software_node_fwnode(fusb302_mux_refs[0].node));
>       |                                                                            ^~~~
>       |                                                                            swnode
> drivers/platform/x86/intel/chtwc_int33fe.c:195:37: error: 'struct software_node_ref_args' has no member named 'node'; did you mean 'swnode'?
>   195 |                 fusb302_mux_refs[0].node = NULL;
>       |                                     ^~~~
>       |                                     swnode
> drivers/platform/x86/intel/chtwc_int33fe.c: In function 'cht_int33fe_add_nodes':
> drivers/platform/x86/intel/chtwc_int33fe.c:225:29: error: 'struct software_node_ref_args' has no member named 'node'; did you mean 'swnode'?
>   225 |         fusb302_mux_refs[0].node = mux_ref_node;
>       |                             ^~~~
>       |                             swnode
> 
> Caused by commit
> 
>   d7cdbbc93c56 ("software node: allow referencing firmware nodes")
> 
> I have used the reset tree from next-20251120 for today.

This same commit is also in the gpio-brgl tree, so I have used that
tree from next-20251120 as well.

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: linux-next: build failure after merge of the reset tree
  2025-11-21  3:50 ` Stephen Rothwell
@ 2025-11-21  8:22   ` Philipp Zabel
  2025-11-21  9:15     ` Bartosz Golaszewski
  0 siblings, 1 reply; 4+ messages in thread
From: Philipp Zabel @ 2025-11-21  8:22 UTC (permalink / raw)
  To: Stephen Rothwell, Bartosz Golaszewski
  Cc: Linux Kernel Mailing List, Linux Next Mailing List

On Fr, 2025-11-21 at 14:50 +1100, Stephen Rothwell wrote:
> Hi all,
> 
> On Fri, 21 Nov 2025 11:15:34 +1100 Stephen Rothwell <sfr@canb•auug.org.au> wrote:
> > 
> > After merging the reset tree, today's linux-next build (x86_64
> > allmodconfig) failed like this:
> > 
> > drivers/platform/x86/intel/chtwc_int33fe.c:80:12: error: 'struct software_node_ref_args' has no member named 'node'; did you mean 'swnode'?
> >    80 |         { .node = NULL },
> >       |            ^~~~
> >       |            swnode
> > drivers/platform/x86/intel/chtwc_int33fe.c: In function 'cht_int33fe_remove_nodes':
> > drivers/platform/x86/intel/chtwc_int33fe.c:193:33: error: 'struct software_node_ref_args' has no member named 'node'; did you mean 'swnode'?
> >   193 |         if (fusb302_mux_refs[0].node) {
> >       |                                 ^~~~
> >       |                                 swnode
> > drivers/platform/x86/intel/chtwc_int33fe.c:194:76: error: 'struct software_node_ref_args' has no member named 'node'; did you mean 'swnode'?
> >   194 |                 fwnode_handle_put(software_node_fwnode(fusb302_mux_refs[0].node));
> >       |                                                                            ^~~~
> >       |                                                                            swnode
> > drivers/platform/x86/intel/chtwc_int33fe.c:195:37: error: 'struct software_node_ref_args' has no member named 'node'; did you mean 'swnode'?
> >   195 |                 fusb302_mux_refs[0].node = NULL;
> >       |                                     ^~~~
> >       |                                     swnode
> > drivers/platform/x86/intel/chtwc_int33fe.c: In function 'cht_int33fe_add_nodes':
> > drivers/platform/x86/intel/chtwc_int33fe.c:225:29: error: 'struct software_node_ref_args' has no member named 'node'; did you mean 'swnode'?
> >   225 |         fusb302_mux_refs[0].node = mux_ref_node;
> >       |                             ^~~~
> >       |                             swnode
> > 
> > Caused by commit
> > 
> >   d7cdbbc93c56 ("software node: allow referencing firmware nodes")
> > 
> > I have used the reset tree from next-20251120 for today.
> 
> This same commit is also in the gpio-brgl tree, so I have used that
> tree from next-20251120 as well.

Commit d7cdbbc93c56 ("software node: allow referencing firmware nodes")
renames the 'node' field in software_node_ref_args to 'swnode', so the
trivial build fix would be:

----------8<----------
diff --git a/drivers/platform/x86/intel/chtwc_int33fe.c b/drivers/platform/x86/intel/chtwc_int33fe.c
index 29e8b5432f4c..96400dec0baf 100644
--- a/drivers/platform/x86/intel/chtwc_int33fe.c
+++ b/drivers/platform/x86/intel/chtwc_int33fe.c
@@ -77,7 +77,7 @@ static const struct software_node max17047_node = {
  * software node.
  */
 static struct software_node_ref_args fusb302_mux_refs[] = {
-       { .node = NULL },
+       { .swnode = NULL },
 };
 
 static const struct property_entry fusb302_properties[] = {
@@ -190,9 +190,9 @@ static void cht_int33fe_remove_nodes(struct cht_int33fe_data *data)
 {
        software_node_unregister_node_group(node_group);
 
-       if (fusb302_mux_refs[0].node) {
-               fwnode_handle_put(software_node_fwnode(fusb302_mux_refs[0].node));
-               fusb302_mux_refs[0].node = NULL;
+       if (fusb302_mux_refs[0].swnode) {
+               fwnode_handle_put(software_node_fwnode(fusb302_mux_refs[0].swnode));
+               fusb302_mux_refs[0].swnode = NULL;
        }
 
        if (data->dp) {
@@ -222,7 +222,7 @@ static int cht_int33fe_add_nodes(struct cht_int33fe_data *data)
         * rely on software_node_register_node_group() to use the original
         * instance of properties instead of copying them.
         */
-       fusb302_mux_refs[0].node = mux_ref_node;
+       fusb302_mux_refs[0].swnode = mux_ref_node;
 
        ret = software_node_register_node_group(node_group);
        if (ret)

---------->8----------

I assume it was expected that drivers don't modify contents of struct
software_node_ref_args directly, but rather assign them with
SOFTWARE_NODE_REFERENCE(), so maybe this is not the correct fix?

regards
Philipp

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: linux-next: build failure after merge of the reset tree
  2025-11-21  8:22   ` Philipp Zabel
@ 2025-11-21  9:15     ` Bartosz Golaszewski
  0 siblings, 0 replies; 4+ messages in thread
From: Bartosz Golaszewski @ 2025-11-21  9:15 UTC (permalink / raw)
  To: Philipp Zabel
  Cc: Stephen Rothwell, Linux Kernel Mailing List,
	Linux Next Mailing List

On Fri, 21 Nov 2025 at 09:22, Philipp Zabel <p.zabel@pengutronix•de> wrote:
>
> > >
> > > Caused by commit
> > >
> > >   d7cdbbc93c56 ("software node: allow referencing firmware nodes")
> > >
> > > I have used the reset tree from next-20251120 for today.
> >
> > This same commit is also in the gpio-brgl tree, so I have used that
> > tree from next-20251120 as well.
>
> Commit d7cdbbc93c56 ("software node: allow referencing firmware nodes")
> renames the 'node' field in software_node_ref_args to 'swnode', so the
> trivial build fix would be:
>
> ----------8<----------
> diff --git a/drivers/platform/x86/intel/chtwc_int33fe.c b/drivers/platform/x86/intel/chtwc_int33fe.c
> index 29e8b5432f4c..96400dec0baf 100644
> --- a/drivers/platform/x86/intel/chtwc_int33fe.c
> +++ b/drivers/platform/x86/intel/chtwc_int33fe.c
> @@ -77,7 +77,7 @@ static const struct software_node max17047_node = {
>   * software node.
>   */
>  static struct software_node_ref_args fusb302_mux_refs[] = {
> -       { .node = NULL },
> +       { .swnode = NULL },
>  };
>
>  static const struct property_entry fusb302_properties[] = {
> @@ -190,9 +190,9 @@ static void cht_int33fe_remove_nodes(struct cht_int33fe_data *data)
>  {
>         software_node_unregister_node_group(node_group);
>
> -       if (fusb302_mux_refs[0].node) {
> -               fwnode_handle_put(software_node_fwnode(fusb302_mux_refs[0].node));
> -               fusb302_mux_refs[0].node = NULL;
> +       if (fusb302_mux_refs[0].swnode) {
> +               fwnode_handle_put(software_node_fwnode(fusb302_mux_refs[0].swnode));
> +               fusb302_mux_refs[0].swnode = NULL;
>         }
>
>         if (data->dp) {
> @@ -222,7 +222,7 @@ static int cht_int33fe_add_nodes(struct cht_int33fe_data *data)
>          * rely on software_node_register_node_group() to use the original
>          * instance of properties instead of copying them.
>          */
> -       fusb302_mux_refs[0].node = mux_ref_node;
> +       fusb302_mux_refs[0].swnode = mux_ref_node;
>
>         ret = software_node_register_node_group(node_group);
>         if (ret)
>
> ---------->8----------
>
> I assume it was expected that drivers don't modify contents of struct
> software_node_ref_args directly, but rather assign them with
> SOFTWARE_NODE_REFERENCE(), so maybe this is not the correct fix?
>

Yeah, driver definitely should not be doing that.

The comment in this file:

/*
 * We are not using inline property here because those are constant,
 * and we need to adjust this one at runtime to point to real
 * software node.
 */

Indicates something's wrong. It looks like it's waiting for a software
node called "intel-xhci-usb-sw" to appear in the system (as in: get
registered as a firmware node). This is clearly an abuse of the whole
concept. I'll try to figure out a way to improve it.

Bart

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2025-11-21  9:15 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-21  0:15 linux-next: build failure after merge of the reset tree Stephen Rothwell
2025-11-21  3:50 ` Stephen Rothwell
2025-11-21  8:22   ` Philipp Zabel
2025-11-21  9:15     ` Bartosz Golaszewski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox