Thread (15 messages) 15 messages, 4 authors, 2017-12-05

[PATCH V5 4/7] OF: properties: Implement get_match_data() callback

From: robh@kernel.org (Rob Herring)
Date: 2017-12-04 22:25:33
Also in: linux-arm-msm, linux-devicetree, lkml

On Mon, Dec 04, 2017 at 01:05:51PM -0500, Sinan Kaya wrote:
On 12/4/2017 11:23 AM, Rob Herring wrote:
quoted
On Fri, Dec 1, 2017 at 10:27 PM, Sinan Kaya [off-list ref] wrote:
quoted
Now that we have a get_match_data() callback as part of the firmware node,
implement the OF specific piece for it.

Signed-off-by: Sinan Kaya <redacted>
---
 drivers/of/property.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
..
quoted
quoted
+void *of_fwnode_get_match_data(const struct fwnode_handle *fwnode,
+                              const struct device_driver *drv)
+{
+       const struct device_node *node = to_of_node(fwnode);
+       const struct of_device_id *match;
+
+       if (!node)
+               return NULL;
of_match_node checks this.
I see a check for the matches argument but not for the node argument.
Am I missing something?
Ah yes, you are right.
quoted
quoted
+
+       match = of_match_node(drv->of_match_table, node);
+       if (!match)
+               return NULL;
+
+       return (void *)match->data;
Don't need a cast here.
I can fix this.
quoted
of_device_get_match_data() already does most of this, but getting a
device ptr from fwnode_handle may not be possible?
I couldn't figure out how to do that. Do you have a suggestion?
I have been looking for examples with no luck.
Change the property API to pass struct device instead. That's maybe not 
worth it.

Rob
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help