Thread (38 messages) 38 messages, 5 authors, 2021-01-22

Re: [net-next PATCH v3 09/15] device property: Introduce fwnode_get_id()

From: Andy Shevchenko <hidden>
Date: 2021-01-22 21:07:54
Also in: linux-acpi, linux-arm-kernel, lkml

On Fri, Jan 22, 2021 at 10:59 PM Saravana Kannan [off-list ref] wrote:
On Fri, Jan 22, 2021 at 8:34 AM Rafael J. Wysocki [off-list ref] wrote:
quoted
On Wed, Jan 20, 2021 at 9:01 PM Saravana Kannan [off-list ref] wrote:
quoted
On Wed, Jan 20, 2021 at 11:15 AM Rafael J. Wysocki [off-list ref] wrote:
quoted
quoted
I'd rather this new function be an ops instead of a bunch of #ifdef or
if (acpi) checks. Thoughts?
Well, it looks more like a helper function than like an op and I'm not
even sure how many potential users of it will expect that _ADR should
be evaluated in the absence of the "reg" property.

It's just that the "reg" property happens to be kind of an _ADR
equivalent in this particular binding AFAICS.
I agree it is not clear how useful this helper function is going to be.

But in general, to me, any time the wrapper/helper functions in
drivers/base/property.c need to do something like this:

if (ACPI)
   ACPI specific code
if (OF)
   OF specific code

I think the code should be pushed to the fwnode ops. That's one of the
main point of fwnode. So that firmware specific stuff is done by
firmware specific code. Also, when adding support for new firmware,
it's pretty clear what support the firmware needs to implement.
Instead of having to go fix up a bunch of code all over the place.
Wishful thinking.
In the very case of GPIO it's related to framework using headers local
to framework. Are you suggesting to open its guts to the entire wild
world?
I don't think it's a good idea. You see, here we have different
layering POD types, which are natural and quite low level that ops
suits best for them and quite different resource types like GPIO. And
the latter is closer to certain framework rather than to POD handling
cases.
So fwnode_ops->get_id() would be the OP ACPI and OF would implement.
And then we can have a wrapper in drivers/base/property.c.

-- 
With Best Regards,
Andy Shevchenko
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help