On Thu, Feb 25, 2016 at 1:58 PM, Jiang Qiu <qiujiang@xxxxxxxxxx> wrote: > 在 2016/2/24 21:46, Andy Shevchenko 写道: >> On Wed, Feb 24, 2016 at 2:33 PM, qiujiang <qiujiang@xxxxxxxxxx> wrote: >> - why do you use fwnode_*() instead of device_property_*() calls? >> What prevents us to move to device property API directly? > Yes, it looks more reasonable by using devce_property. Howerver, > device_get_child_node_count was used here to find each child node. This > API output the fwnode_handle for each child node directly, but device > property APIs need 'dev' data instead. Actually, the effects of fwnode_*() > and device_*() are the same. So, I used fwnode_*() APIs here. Right, looks okay then. >>> - node = dev->of_node; >>> - if (!IS_ENABLED(CONFIG_OF_GPIO) || !node) >>> + if (!IS_ENABLED(CONFIG_OF_GPIO) || !(dev->of_node)) >>> return ERR_PTR(-ENODEV); >> >> So, since you converted to fwnode, do you still need this check? >> > Although this patch coverted device node to fwnode, only DTs binding was > supported here, and patch2 support ACPI will remove this check. Yes, but like I said below device_get_child_node_count() will take care of that, will it? >>> >>> - nports = of_get_child_count(node); >>> + nports = device_get_child_node_count(dev); >>> if (nports == 0) >>> return ERR_PTR(-ENODEV); >> >> ...I think this one fail if it will not found any child. > This one fail? yes, it will return to failure. > I am not very clear here. See above. -- With Best Regards, Andy Shevchenko -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html