Messages in this thread | | | From | Andy Shevchenko <> | Date | Tue, 2 Nov 2021 22:26:39 +0200 | Subject | Re: [RFC PATCH] software node: Skip duplicated software_node sysfs |
| |
On Tue, Nov 2, 2021 at 10:20 PM Andy Shevchenko <andy.shevchenko@gmail.com> wrote: > On Tue, Nov 2, 2021 at 9:44 PM Qian Cai <quic_qiancai@quicinc.com> wrote: > > On 11/1/21 7:51 PM, Andy Shevchenko wrote: > > > No, it’s not so easy. What you are doing is a papering over the real issue > > > which is the limitation of the firmware nodes to two. What we need is to > > > drop the link from struct fwnode_handle, move it to upper layer and modify > > > all fwnode ops to be used over the list of fwnode:s. > > > > Andy, this is my first time touching fwnode/swnode. After reading the > > source code for a few hours, I still don't understand the hint here. > > Specifically, what does the "the link" refer to? > > https://elixir.bootlin.com/linux/latest/source/include/linux/fwnode.h#L36 > > (Property related) fwnode (as of today) is the single linked list with > only two possible entries. Comments against set_primary_fwnode() > followed by set_secondary_fwnode() may shed a bit of light here > https://elixir.bootlin.com/linux/latest/source/drivers/base/core.c#L4724
What you can start with, btw, is adding the trace events / points to these two functions. (Currently only devres is enabled: https://elixir.bootlin.com/linux/latest/source/drivers/base/trace.h)
When you do this, you may actually see what's going on and how the swnode tries to recreate the same file.
-- With Best Regards, Andy Shevchenko
| |