On Tue, Nov 2, 2021 at 9:44 PM Qian Cai [off-list ref] wrote:
On 11/1/21 7:51 PM, Andy Shevchenko wrote:
quoted
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
--
With Best Regards,
Andy Shevchenko