2021-09-10 01:23:20

by Saravana Kannan

[permalink] [raw]
Subject: [PATCH] of: property: Disable fw_devlink DT support for X86

Andre reported fw_devlink=on breaking OLPC XO-1.5 [1].

OLPC XO-1.5 is an X86 system that uses a mix of ACPI and OF to populate
devices. The root cause seems to be ISA devices not setting their fwnode
field. But trying to figure out how to fix that doesn't seem worth the
trouble because the OLPC devicetree is very sparse/limited and fw_devlink
only adds the links causing this issue. Considering that there aren't many
users of OF in an X86 system, simply fw_devlink DT support for X86.

[1] - https://lore.kernel.org/lkml/[email protected]/
Fixes: ea718c699055 ("Revert "Revert "driver core: Set fw_devlink=on by default""")
Signed-off-by: Saravana Kannan <[email protected]>
Cc: Andre Muller <[email protected]>
---
drivers/of/property.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/of/property.c b/drivers/of/property.c
index 0c0dc2e369c0..3fd74bb34819 100644
--- a/drivers/of/property.c
+++ b/drivers/of/property.c
@@ -1444,6 +1444,9 @@ static int of_fwnode_add_links(struct fwnode_handle *fwnode)
struct property *p;
struct device_node *con_np = to_of_node(fwnode);

+ if (IS_ENABLED(CONFIG_X86))
+ return 0;
+
if (!con_np)
return -EINVAL;

--
2.33.0.309.g3052b89438-goog


2021-09-10 06:18:20

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] of: property: Disable fw_devlink DT support for X86

On Thu, Sep 09, 2021 at 06:14:45PM -0700, Saravana Kannan wrote:
> Andre reported fw_devlink=on breaking OLPC XO-1.5 [1].
>
> OLPC XO-1.5 is an X86 system that uses a mix of ACPI and OF to populate
> devices. The root cause seems to be ISA devices not setting their fwnode
> field. But trying to figure out how to fix that doesn't seem worth the
> trouble because the OLPC devicetree is very sparse/limited and fw_devlink
> only adds the links causing this issue. Considering that there aren't many
> users of OF in an X86 system, simply fw_devlink DT support for X86.
>
> [1] - https://lore.kernel.org/lkml/[email protected]/
> Fixes: ea718c699055 ("Revert "Revert "driver core: Set fw_devlink=on by default""")
> Signed-off-by: Saravana Kannan <[email protected]>
> Cc: Andre Muller <[email protected]>
> ---
> drivers/of/property.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/of/property.c b/drivers/of/property.c
> index 0c0dc2e369c0..3fd74bb34819 100644
> --- a/drivers/of/property.c
> +++ b/drivers/of/property.c
> @@ -1444,6 +1444,9 @@ static int of_fwnode_add_links(struct fwnode_handle *fwnode)
> struct property *p;
> struct device_node *con_np = to_of_node(fwnode);
>
> + if (IS_ENABLED(CONFIG_X86))
> + return 0;

I love it :)

Anyway, getting a "Tested-by:" would be great to have here. Andre, can
you verify this solves your issue?

thanks,

greg k-h

2021-09-10 10:37:58

by Andre Muller

[permalink] [raw]
Subject: Re: [PATCH] of: property: Disable fw_devlink DT support for X86

On 10/09/2021 08.15, Greg Kroah-Hartman wrote:
> On Thu, Sep 09, 2021 at 06:14:45PM -0700, Saravana Kannan wrote:
>> Andre reported fw_devlink=on breaking OLPC XO-1.5 [1].
>>
>> OLPC XO-1.5 is an X86 system that uses a mix of ACPI and OF to populate
>> devices. The root cause seems to be ISA devices not setting their fwnode
>> field. But trying to figure out how to fix that doesn't seem worth the
>> trouble because the OLPC devicetree is very sparse/limited and fw_devlink
>> only adds the links causing this issue. Considering that there aren't many
>> users of OF in an X86 system, simply fw_devlink DT support for X86.
>>
>> [1] - https://lore.kernel.org/lkml/[email protected]/
>> Fixes: ea718c699055 ("Revert "Revert "driver core: Set fw_devlink=on by default""")
>> Signed-off-by: Saravana Kannan <[email protected]>
>> Cc: Andre Muller <[email protected]>
>> ---
>> drivers/of/property.c | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/of/property.c b/drivers/of/property.c
>> index 0c0dc2e369c0..3fd74bb34819 100644
>> --- a/drivers/of/property.c
>> +++ b/drivers/of/property.c
>> @@ -1444,6 +1444,9 @@ static int of_fwnode_add_links(struct fwnode_handle *fwnode)
>> struct property *p;
>> struct device_node *con_np = to_of_node(fwnode);
>>
>> + if (IS_ENABLED(CONFIG_X86))
>> + return 0;
>
> I love it :)
>
> Anyway, getting a "Tested-by:" would be great to have here. Andre, can
> you verify this solves your issue?

Yes, this patch fixes the issue, the drives work fine.
Tested-by: Andre M?ller <[email protected]>

Thanks all,
Andre

>
> thanks,
>
> greg k-h
>

2021-09-10 11:17:27

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] of: property: Disable fw_devlink DT support for X86

On Fri, Sep 10, 2021 at 12:37:01PM +0200, Andre Muller wrote:
> On 10/09/2021 08.15, Greg Kroah-Hartman wrote:
> > On Thu, Sep 09, 2021 at 06:14:45PM -0700, Saravana Kannan wrote:
> > > Andre reported fw_devlink=on breaking OLPC XO-1.5 [1].
> > >
> > > OLPC XO-1.5 is an X86 system that uses a mix of ACPI and OF to populate
> > > devices. The root cause seems to be ISA devices not setting their fwnode
> > > field. But trying to figure out how to fix that doesn't seem worth the
> > > trouble because the OLPC devicetree is very sparse/limited and fw_devlink
> > > only adds the links causing this issue. Considering that there aren't many
> > > users of OF in an X86 system, simply fw_devlink DT support for X86.
> > >
> > > [1] - https://lore.kernel.org/lkml/[email protected]/
> > > Fixes: ea718c699055 ("Revert "Revert "driver core: Set fw_devlink=on by default""")
> > > Signed-off-by: Saravana Kannan <[email protected]>
> > > Cc: Andre Muller <[email protected]>
> > > ---
> > > drivers/of/property.c | 3 +++
> > > 1 file changed, 3 insertions(+)
> > >
> > > diff --git a/drivers/of/property.c b/drivers/of/property.c
> > > index 0c0dc2e369c0..3fd74bb34819 100644
> > > --- a/drivers/of/property.c
> > > +++ b/drivers/of/property.c
> > > @@ -1444,6 +1444,9 @@ static int of_fwnode_add_links(struct fwnode_handle *fwnode)
> > > struct property *p;
> > > struct device_node *con_np = to_of_node(fwnode);
> > >
> > > + if (IS_ENABLED(CONFIG_X86))
> > > + return 0;
> >
> > I love it :)
> >
> > Anyway, getting a "Tested-by:" would be great to have here. Andre, can
> > you verify this solves your issue?
>
> Yes, this patch fixes the issue, the drives work fine.
> Tested-by: Andre M?ller <[email protected]>

Wonderful!

Acked-by: Greg Kroah-Hartman <[email protected]>

Or Rob, want me to take this through my tree?

thanks,

greg k-h

2021-09-10 16:14:32

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH] of: property: Disable fw_devlink DT support for X86

On Thu, 09 Sep 2021 18:14:45 -0700, Saravana Kannan wrote:
> Andre reported fw_devlink=on breaking OLPC XO-1.5 [1].
>
> OLPC XO-1.5 is an X86 system that uses a mix of ACPI and OF to populate
> devices. The root cause seems to be ISA devices not setting their fwnode
> field. But trying to figure out how to fix that doesn't seem worth the
> trouble because the OLPC devicetree is very sparse/limited and fw_devlink
> only adds the links causing this issue. Considering that there aren't many
> users of OF in an X86 system, simply fw_devlink DT support for X86.
>
> [1] - https://lore.kernel.org/lkml/[email protected]/
> Fixes: ea718c699055 ("Revert "Revert "driver core: Set fw_devlink=on by default""")
> Signed-off-by: Saravana Kannan <[email protected]>
> Cc: Andre Muller <[email protected]>
> ---
> drivers/of/property.c | 3 +++
> 1 file changed, 3 insertions(+)
>

Applied, thanks!