mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-02 01:08:26 -04:00
device property: Split fwnode_get_child_node_count()
The new helper is introduced to allow counting the child firmware nodes of their parent without requiring a device to be passed. This also makes the fwnode and device property API more symmetrical with the rest. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Acked-by: "Rafael J. Wysocki" <rafael@kernel.org> Reviewed-by: Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Link: https://lore.kernel.org/r/20250310150835.3139322-2-andriy.shevchenko@linux.intel.com Signed-off-by: Lee Jones <lee@kernel.org>
This commit is contained in:
committed by
Lee Jones
parent
0af2f6be1b
commit
1490cbb9db
@@ -928,22 +928,22 @@ bool fwnode_device_is_available(const struct fwnode_handle *fwnode)
|
|||||||
EXPORT_SYMBOL_GPL(fwnode_device_is_available);
|
EXPORT_SYMBOL_GPL(fwnode_device_is_available);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* device_get_child_node_count - return the number of child nodes for device
|
* fwnode_get_child_node_count - return the number of child nodes for a given firmware node
|
||||||
* @dev: Device to count the child nodes for
|
* @fwnode: Pointer to the parent firmware node
|
||||||
*
|
*
|
||||||
* Return: the number of child nodes for a given device.
|
* Return: the number of child nodes for a given firmware node.
|
||||||
*/
|
*/
|
||||||
unsigned int device_get_child_node_count(const struct device *dev)
|
unsigned int fwnode_get_child_node_count(const struct fwnode_handle *fwnode)
|
||||||
{
|
{
|
||||||
struct fwnode_handle *child;
|
struct fwnode_handle *child;
|
||||||
unsigned int count = 0;
|
unsigned int count = 0;
|
||||||
|
|
||||||
device_for_each_child_node(dev, child)
|
fwnode_for_each_child_node(fwnode, child)
|
||||||
count++;
|
count++;
|
||||||
|
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(device_get_child_node_count);
|
EXPORT_SYMBOL_GPL(fwnode_get_child_node_count);
|
||||||
|
|
||||||
bool device_dma_supported(const struct device *dev)
|
bool device_dma_supported(const struct device *dev)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -208,7 +208,12 @@ DEFINE_FREE(fwnode_handle, struct fwnode_handle *, fwnode_handle_put(_T))
|
|||||||
int fwnode_irq_get(const struct fwnode_handle *fwnode, unsigned int index);
|
int fwnode_irq_get(const struct fwnode_handle *fwnode, unsigned int index);
|
||||||
int fwnode_irq_get_byname(const struct fwnode_handle *fwnode, const char *name);
|
int fwnode_irq_get_byname(const struct fwnode_handle *fwnode, const char *name);
|
||||||
|
|
||||||
unsigned int device_get_child_node_count(const struct device *dev);
|
unsigned int fwnode_get_child_node_count(const struct fwnode_handle *fwnode);
|
||||||
|
|
||||||
|
static inline unsigned int device_get_child_node_count(const struct device *dev)
|
||||||
|
{
|
||||||
|
return fwnode_get_child_node_count(dev_fwnode(dev));
|
||||||
|
}
|
||||||
|
|
||||||
static inline int device_property_read_u8(const struct device *dev,
|
static inline int device_property_read_u8(const struct device *dev,
|
||||||
const char *propname, u8 *val)
|
const char *propname, u8 *val)
|
||||||
|
|||||||
Reference in New Issue
Block a user