device property: Add fwnode_get_name for returning the name of a node
The fwnode framework did not have means to obtain the name of a node. Add that now, in form of the fwnode_get_name() function and a corresponding get_name fwnode op. OF and ACPI support is included. Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Acked-by: Rob Herring <robh@kernel.org> (for OF) Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
这个提交包含在:
@@ -556,6 +556,17 @@ int device_add_properties(struct device *dev,
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(device_add_properties);
|
||||
|
||||
/**
|
||||
* fwnode_get_name - Return the name of a node
|
||||
* @fwnode: The firmware node
|
||||
*
|
||||
* Returns a pointer to the node name.
|
||||
*/
|
||||
const char *fwnode_get_name(const struct fwnode_handle *fwnode)
|
||||
{
|
||||
return fwnode_call_ptr_op(fwnode, get_name);
|
||||
}
|
||||
|
||||
/**
|
||||
* fwnode_get_parent - Return parent firwmare node
|
||||
* @fwnode: Firmware whose parent is retrieved
|
||||
|
@@ -515,6 +515,17 @@ static int software_node_read_string_array(const struct fwnode_handle *fwnode,
|
||||
propname, val, nval);
|
||||
}
|
||||
|
||||
static const char *
|
||||
software_node_get_name(const struct fwnode_handle *fwnode)
|
||||
{
|
||||
const struct swnode *swnode = to_swnode(fwnode);
|
||||
|
||||
if (!swnode)
|
||||
return "(null)";
|
||||
|
||||
return kobject_name(&swnode->kobj);
|
||||
}
|
||||
|
||||
static struct fwnode_handle *
|
||||
software_node_get_parent(const struct fwnode_handle *fwnode)
|
||||
{
|
||||
@@ -615,6 +626,7 @@ static const struct fwnode_operations software_node_ops = {
|
||||
.property_present = software_node_property_present,
|
||||
.property_read_int_array = software_node_read_int_array,
|
||||
.property_read_string_array = software_node_read_string_array,
|
||||
.get_name = software_node_get_name,
|
||||
.get_parent = software_node_get_parent,
|
||||
.get_next_child_node = software_node_get_next_child,
|
||||
.get_named_child_node = software_node_get_named_child_node,
|
||||
|
在新工单中引用
屏蔽一个用户