public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] mfd: core: Preserve OF node when ACPI handle is present
@ 2026-02-26 22:45 Brian Mak
  2026-02-27  5:40 ` Andy Shevchenko
  2026-03-06 13:38 ` Lee Jones
  0 siblings, 2 replies; 8+ messages in thread
From: Brian Mak @ 2026-02-26 22:45 UTC (permalink / raw)
  To: Lee Jones, Herve Codina, Andy Shevchenko, linux-kernel; +Cc: Brian Mak, stable

Switch device_set_node to set_primary_fwnode, so that the ACPI fwnode
does not overwrite the of_node with NULL.

This allows MFD children with both OF nodes and ACPI handles to have OF
nodes again.

Fixes: 51e3b257099d ("mfd: core: Make use of device_set_node()")
Cc: stable@vger.kernel.org
Signed-off-by: Brian Mak <makb@juniper.net>
---
 drivers/mfd/mfd-core.c | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/drivers/mfd/mfd-core.c b/drivers/mfd/mfd-core.c
index 6be58eb5a746..5c5465763312 100644
--- a/drivers/mfd/mfd-core.c
+++ b/drivers/mfd/mfd-core.c
@@ -88,7 +88,20 @@ static void mfd_acpi_add_device(const struct mfd_cell *cell,
 		}
 	}
 
-	device_set_node(&pdev->dev, acpi_fwnode_handle(adev ?: parent));
+	/*
+	 * FIXME: The fwnode design doesn't allow proper stacking/sharing. This
+	 * should eventually turn into a device fwnode API call that will allow
+	 * prepending to a list of fwnodes (with ACPI taking precedence).
+	 *
+	 * set_primary_fwnode() is used here, instead of device_set_node(), as
+	 * device_set_node() will overwrite the existing fwnode, which may be an
+	 * OF node that was populated earlier. To support a use case where ACPI
+	 * and OF is used in conjunction, we call set_primary_fwnode() instead.
+	 */
+	if (adev)
+		set_primary_fwnode(&pdev->dev, acpi_fwnode_handle(adev));
+	else
+		set_primary_fwnode(&pdev->dev, acpi_fwnode_handle(parent));
 }
 #else
 static inline void mfd_acpi_add_device(const struct mfd_cell *cell,

base-commit: d9d32e5bd5a4e57675f2b70ddf73c3dc5cf44fc2
-- 
2.25.1


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

* Re: [PATCH v2] mfd: core: Preserve OF node when ACPI handle is present
  2026-02-26 22:45 [PATCH v2] mfd: core: Preserve OF node when ACPI handle is present Brian Mak
@ 2026-02-27  5:40 ` Andy Shevchenko
  2026-03-06 13:38 ` Lee Jones
  1 sibling, 0 replies; 8+ messages in thread
From: Andy Shevchenko @ 2026-02-27  5:40 UTC (permalink / raw)
  To: Brian Mak; +Cc: Lee Jones, Herve Codina, linux-kernel, stable

On Thu, Feb 26, 2026 at 02:45:11PM -0800, Brian Mak wrote:
> Switch device_set_node to set_primary_fwnode, so that the ACPI fwnode
> does not overwrite the of_node with NULL.
> 
> This allows MFD children with both OF nodes and ACPI handles to have OF
> nodes again.

Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

-- 
With Best Regards,
Andy Shevchenko



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

* Re: [PATCH v2] mfd: core: Preserve OF node when ACPI handle is present
  2026-02-26 22:45 [PATCH v2] mfd: core: Preserve OF node when ACPI handle is present Brian Mak
  2026-02-27  5:40 ` Andy Shevchenko
@ 2026-03-06 13:38 ` Lee Jones
  2026-03-06 14:35   ` Andy Shevchenko
  1 sibling, 1 reply; 8+ messages in thread
From: Lee Jones @ 2026-03-06 13:38 UTC (permalink / raw)
  To: Brian Mak; +Cc: Herve Codina, Andy Shevchenko, linux-kernel, stable

On Thu, 26 Feb 2026, Brian Mak wrote:

> Switch device_set_node to set_primary_fwnode, so that the ACPI fwnode
> does not overwrite the of_node with NULL.
> 
> This allows MFD children with both OF nodes and ACPI handles to have OF
> nodes again.
> 
> Fixes: 51e3b257099d ("mfd: core: Make use of device_set_node()")
> Cc: stable@vger.kernel.org
> Signed-off-by: Brian Mak <makb@juniper.net>
> ---
>  drivers/mfd/mfd-core.c | 15 ++++++++++++++-
>  1 file changed, 14 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/mfd/mfd-core.c b/drivers/mfd/mfd-core.c
> index 6be58eb5a746..5c5465763312 100644
> --- a/drivers/mfd/mfd-core.c
> +++ b/drivers/mfd/mfd-core.c
> @@ -88,7 +88,20 @@ static void mfd_acpi_add_device(const struct mfd_cell *cell,
>  		}
>  	}
>  
> -	device_set_node(&pdev->dev, acpi_fwnode_handle(adev ?: parent));
> +	/*
> +	 * FIXME: The fwnode design doesn't allow proper stacking/sharing. This

So when will this be fixed exactly?

> +	 * should eventually turn into a device fwnode API call that will allow
> +	 * prepending to a list of fwnodes (with ACPI taking precedence).
> +	 *
> +	 * set_primary_fwnode() is used here, instead of device_set_node(), as
> +	 * device_set_node() will overwrite the existing fwnode, which may be an
> +	 * OF node that was populated earlier. To support a use case where ACPI
> +	 * and OF is used in conjunction, we call set_primary_fwnode() instead.
> +	 */
> +	if (adev)
> +		set_primary_fwnode(&pdev->dev, acpi_fwnode_handle(adev));
> +	else
> +		set_primary_fwnode(&pdev->dev, acpi_fwnode_handle(parent));
>  }
>  #else
>  static inline void mfd_acpi_add_device(const struct mfd_cell *cell,
> 
> base-commit: d9d32e5bd5a4e57675f2b70ddf73c3dc5cf44fc2
> -- 
> 2.25.1
> 

-- 
Lee Jones [李琼斯]

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

* Re: [PATCH v2] mfd: core: Preserve OF node when ACPI handle is present
  2026-03-06 13:38 ` Lee Jones
@ 2026-03-06 14:35   ` Andy Shevchenko
  2026-03-10  9:21     ` Lee Jones
  0 siblings, 1 reply; 8+ messages in thread
From: Andy Shevchenko @ 2026-03-06 14:35 UTC (permalink / raw)
  To: Lee Jones; +Cc: Brian Mak, Herve Codina, linux-kernel, stable

On Fri, Mar 06, 2026 at 01:38:06PM +0000, Lee Jones wrote:
> On Thu, 26 Feb 2026, Brian Mak wrote:

...

> > +	/*
> > +	 * FIXME: The fwnode design doesn't allow proper stacking/sharing. This
> 
> So when will this be fixed exactly?

I don't know, it's a huge task that requires of redesigning how struct
fwnode_handle looks like and how it cohabits with struct device. Do you
you think that NOTE will be more appropriate, because it may span several
releases.

> > +	 * should eventually turn into a device fwnode API call that will allow
> > +	 * prepending to a list of fwnodes (with ACPI taking precedence).
> > +	 *
> > +	 * set_primary_fwnode() is used here, instead of device_set_node(), as
> > +	 * device_set_node() will overwrite the existing fwnode, which may be an
> > +	 * OF node that was populated earlier. To support a use case where ACPI
> > +	 * and OF is used in conjunction, we call set_primary_fwnode() instead.
> > +	 */
> > +	if (adev)
> > +		set_primary_fwnode(&pdev->dev, acpi_fwnode_handle(adev));
> > +	else
> > +		set_primary_fwnode(&pdev->dev, acpi_fwnode_handle(parent));
> >  }

-- 
With Best Regards,
Andy Shevchenko



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

* Re: [PATCH v2] mfd: core: Preserve OF node when ACPI handle is present
  2026-03-06 14:35   ` Andy Shevchenko
@ 2026-03-10  9:21     ` Lee Jones
  2026-03-10 10:25       ` Andy Shevchenko
  0 siblings, 1 reply; 8+ messages in thread
From: Lee Jones @ 2026-03-10  9:21 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: Brian Mak, Herve Codina, linux-kernel, stable

On Fri, 06 Mar 2026, Andy Shevchenko wrote:

> On Fri, Mar 06, 2026 at 01:38:06PM +0000, Lee Jones wrote:
> > On Thu, 26 Feb 2026, Brian Mak wrote:
> 
> ...
> 
> > > +	/*
> > > +	 * FIXME: The fwnode design doesn't allow proper stacking/sharing. This
> > 
> > So when will this be fixed exactly?
> 
> I don't know, it's a huge task that requires of redesigning how struct
> fwnode_handle looks like and how it cohabits with struct device. Do you
> you think that NOTE will be more appropriate, because it may span several
> releases.

If someone is going to do the work sometime in the near future, it can
stay as FIXME.  A few releases isn't going to offend anyone.  However,
if we're just going to sit on it and this is likely to be here for an
elongated period, it should be changed.

Any idea who is planning on working on it?

-- 
Lee Jones [李琼斯]

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

* Re: [PATCH v2] mfd: core: Preserve OF node when ACPI handle is present
  2026-03-10  9:21     ` Lee Jones
@ 2026-03-10 10:25       ` Andy Shevchenko
  2026-03-11 17:00         ` Brian Mak
  0 siblings, 1 reply; 8+ messages in thread
From: Andy Shevchenko @ 2026-03-10 10:25 UTC (permalink / raw)
  To: Lee Jones; +Cc: Brian Mak, Herve Codina, linux-kernel, stable

On Tue, Mar 10, 2026 at 09:21:48AM +0000, Lee Jones wrote:
> On Fri, 06 Mar 2026, Andy Shevchenko wrote:
> > On Fri, Mar 06, 2026 at 01:38:06PM +0000, Lee Jones wrote:
> > > On Thu, 26 Feb 2026, Brian Mak wrote:

...

> > > > +	/*
> > > > +	 * FIXME: The fwnode design doesn't allow proper stacking/sharing. This
> > > 
> > > So when will this be fixed exactly?
> > 
> > I don't know, it's a huge task that requires of redesigning how struct
> > fwnode_handle looks like and how it cohabits with struct device. Do you
> > you think that NOTE will be more appropriate, because it may span several
> > releases.
> 
> If someone is going to do the work sometime in the near future, it can
> stay as FIXME.  A few releases isn't going to offend anyone.  However,
> if we're just going to sit on it and this is likely to be here for an
> elongated period, it should be changed.

Then better to be just a NOTE:.

> Any idea who is planning on working on it?

I am not sure anyone is planning on working on this in the near future.
We see the problem, but it hasn't hit someone's work too much to become
a showstopper (some workarounds, or not fully correct, but acceptable
behaviour was a way out so far).

-- 
With Best Regards,
Andy Shevchenko



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

* Re: [PATCH v2] mfd: core: Preserve OF node when ACPI handle is present
  2026-03-10 10:25       ` Andy Shevchenko
@ 2026-03-11 17:00         ` Brian Mak
  2026-03-11 17:20           ` Andy Shevchenko
  0 siblings, 1 reply; 8+ messages in thread
From: Brian Mak @ 2026-03-11 17:00 UTC (permalink / raw)
  To: Lee Jones, Andy Shevchenko
  Cc: Herve Codina, linux-kernel@vger.kernel.org,
	stable@vger.kernel.org

On Mar 10, 2026, at 3:25 AM, Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:

> On Tue, Mar 10, 2026 at 09:21:48AM +0000, Lee Jones wrote:
>> On Fri, 06 Mar 2026, Andy Shevchenko wrote:
> ...
>> If someone is going to do the work sometime in the near future, it can
>> stay as FIXME.  A few releases isn't going to offend anyone.  However,
>> if we're just going to sit on it and this is likely to be here for an
>> elongated period, it should be changed.
> 
> Then better to be just a NOTE:.

Ok, should I raise a v3 patch, or can this just be changed when applied?
I'm okay either way.

Thanks,
Brian

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

* Re: [PATCH v2] mfd: core: Preserve OF node when ACPI handle is present
  2026-03-11 17:00         ` Brian Mak
@ 2026-03-11 17:20           ` Andy Shevchenko
  0 siblings, 0 replies; 8+ messages in thread
From: Andy Shevchenko @ 2026-03-11 17:20 UTC (permalink / raw)
  To: Brian Mak
  Cc: Lee Jones, Herve Codina, linux-kernel@vger.kernel.org,
	stable@vger.kernel.org

On Wed, Mar 11, 2026 at 05:00:45PM +0000, Brian Mak wrote:
> On Mar 10, 2026, at 3:25 AM, Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
> > On Tue, Mar 10, 2026 at 09:21:48AM +0000, Lee Jones wrote:
> >> On Fri, 06 Mar 2026, Andy Shevchenko wrote:

...

> >> If someone is going to do the work sometime in the near future, it can
> >> stay as FIXME.  A few releases isn't going to offend anyone.  However,
> >> if we're just going to sit on it and this is likely to be here for an
> >> elongated period, it should be changed.
> > 
> > Then better to be just a NOTE:.
> 
> Ok, should I raise a v3 patch, or can this just be changed when applied?
> I'm okay either way.

It's better to have a v3 with a clear changelog why it has been changed
(changelog, not part a commit message).

-- 
With Best Regards,
Andy Shevchenko



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

end of thread, other threads:[~2026-03-11 17:50 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-26 22:45 [PATCH v2] mfd: core: Preserve OF node when ACPI handle is present Brian Mak
2026-02-27  5:40 ` Andy Shevchenko
2026-03-06 13:38 ` Lee Jones
2026-03-06 14:35   ` Andy Shevchenko
2026-03-10  9:21     ` Lee Jones
2026-03-10 10:25       ` Andy Shevchenko
2026-03-11 17:00         ` Brian Mak
2026-03-11 17:20           ` Andy Shevchenko

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