On Thu, Apr 21, 2016 at 6:20 AM, Felipe Balbi <felipe.balbi@xxxxxxxxxxxxxxx> wrote: > > Hi, > > Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> writes: >> @@ -197,7 +196,7 @@ static int xhci_plat_probe(struct platform_device *pdev) >> } >> >> xhci = hcd_to_xhci(hcd); >> - match = of_match_node(usb_xhci_of_match, node); >> + match = of_match_node(usb_xhci_of_match, pdev->dev.of_node); > > Rob, it's weird that OF-based drivers have to redo the same matching > which was already done by drivers/base/platform.c::platform_match() just > to get match->data. If we know we matched, couldn't we just cache a > pointer to match->data in struct device_node.data ? Something like > below? (completely untested) Yes, it is. AIUI, there is some sort of race condition in doing what you suggest though. IIRC, Grant did that and reverted it if you look at the git history. Rob -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html