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 7:40 AM Zijun Hu <zijun_hu@xxxxxxxxxx> wrote:
>
> On 2025/2/11 20:24, Andy Shevchenko wrote:
> >>>> -#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.
> >
>
> i have confirmed that:
>
> of.h includes fwnode.h indirectly
> fwnode.h does not include of.h directly or indirectly

Only for struct fwnode_handle. I don't think we want to add to that.
For the most part, fwnode is a layer above DT and the DT code should
know nothing about fwnode.

> in theory, dependency between both headers should also be like this.
>
> So, it is simple to use below define in of.h
> #define MAX_PHANDLE_ARGS NR_FWNODE_REFERENCE_ARGS
>
> >> 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.
>
> phandle is a type of DT firmware node reference. so this solution
> seems suitable as well.
>
> struct software_node_ref_args also uses NR_FWNODE_REFERENCE_ARGS directly.
>
> let us wait for more comments.

I prefer what you have here with the static_assert() added.

Rob





[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