Hi Vladimir, On Fri, Jun 9, 2017 at 9:30 AM, Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> wrote: > On 04/25/2017 08:40 PM, Geert Uytterhoeven wrote: >> If CONFIG_OF=n, code using >> >> info = of_match_node(matchs, np)->data; >> >> fails to compile: >> >> warning: dereferencing ‘void *’ pointer >> error: request for member ‘data’ in something not a structure or union > > IMHO firstly all the cases like one above must be fixed in place, in > parallel do an overall conversion of subcases: > > - of_id = of_match_node(some_dt_ids, dev->of_node); > + of_id = of_match_device(some_dt_ids, dev); > >> Follow the example set by of_device_get_match_data(), and introduce a >> new helper of_node_get_match_data(). This will allow to increase >> compile-testing coverage later. > > Unfortunately the proposed of_node_get_match_data() is not so similar > to the of_device_get_match_data(), the latter one has only one input > argument in opposite to of_match_device(), which is truly convenient. Thanks to your comment, I realized I can just use of_device_get_match_data(). Hence I'd like to withdraw my patch. Background: I encountered this in a clock driver, which started life as a CLK_OF_DECLARE() driver, but ended up as a platform driver anyway. CLK_OF_DECLARE() drivers don't have a struct device to use, so the driver still used of_match_node() instead of of_match_device(). Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html