Re: [PATCH v3] of: property: Increase NR_FWNODE_REFERENCE_ARGS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Feb 11, 2025 at 08:20:03PM +0800, Zijun Hu wrote:
> On 2025/2/10 23:34, Andy Shevchenko wrote:
> >> It may cause firmware node reference's argument count out of range if
> >> directly assign DT node reference's argument count to firmware's.
> >>
> >> drivers/of/property.c:of_fwnode_get_reference_args() is doing the direct
> >> assignment, so may cause firmware's argument count @args->nargs got out
> >> of range, namely, in [9, 16].
> >>
> >> Fix by increasing NR_FWNODE_REFERENCE_ARGS to 16 to meet DT requirement.

...

> >> -#define NR_FWNODE_REFERENCE_ARGS	8
> >> +#define NR_FWNODE_REFERENCE_ARGS	16
> > Thinking of the case, perhaps you also want
> > 
> > static_assert(NR_FWNODE_REFERENCE_ARGS == MAX_PHANDLE_ARGS);
> > 
> > to be put somewhere, but I don't think we can do it in this header file.
> 
> thank you Andy for code review.
> 
> yes. it seems there are good location to place the static_assert().
> 
> is it okay to associate two macros by
> #define MAX_PHANDLE_ARGS NR_FWNODE_REFERENCE_ARGS

I was thinking about this and I don't see how it can be done without
introducing more chaos (dependency hell) into the headers. So, I won't
take this path or even consider it deeper.

> OR
> replace all MAX_PHANDLE_ARGS instances with NR_FWNODE_REFERENCE_ARGS
> ?

This sounds plausible to me, but you need a blessing from OF people as
the naming may be a bit confusing (for them) as "phandle" is well established
term in OF realm.


-- 
With Best Regards,
Andy Shevchenko






[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux