On Wed, Nov 15, 2017 at 02:10:35PM +0000, srinivas.kandagatla@xxxxxxxxxx wrote: > + > + for_each_child_of_node(ctrl->dev->of_node, node) { > + struct slim_device *sbdev; > + struct slim_eaddr e_addr; > + const char *compat = NULL; > + int reg[2], ret; > + int manf_id, prod_code; > + > + compat = of_get_property(node, "compatible", NULL); > + if (!compat) > + continue; > + > + ret = sscanf(compat, "slim%x,%x", &manf_id, &prod_code); > + if (ret != 2) { > + dev_err(dev, "Manf ID & Product code not found %s\n", > + compat); > + continue; > + } can we do xxx_property_read_u32() on compat and then use bit manupliations to get ids rather than scanf. > + > + ret = of_property_read_u32_array(node, "reg", reg, 2); I typically prefer using device_property_read_u32() but then this is of_ code so I will leave this upto you... -- ~Vinod -- 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