Thread (53 messages) 53 messages, 7 authors, 2025-03-04

Re: [PATCH v4 02/10] property: Add device_get_child_node_count_named()

From: Matti Vaittinen <mazziesaccount@gmail.com>
Date: 2025-02-25 10:07:42
Also in: linux-acpi, linux-devicetree, linux-iio, linux-renesas-soc, linux-sunxi, lkml

On 25/02/2025 11:40, Heikki Krogerus wrote:
Hi,
quoted
+/**
+ * device_get_child_node_count_named - number of child nodes with given name
+ *
+ * Scan device's child nodes and find all the nodes with a specific name and
+ * return the number of found nodes. Potential '@number' -ending for scanned
+ * names is ignored. Eg,
+ * device_get_child_node_count(dev, "channel");
+ * would match all the nodes:
+ * channel { }, channel@0 {}, channel@0xabba {}...
+ *
+ * @dev: Device to count the child nodes for
+ *
+ * Return: the number of child nodes with a matching name for a given device.
+ */
+unsigned int device_get_child_node_count_named(const struct device *dev,
+					       const char *name)
+{
+	struct fwnode_handle *child;
+	unsigned int count = 0;
+
+	device_for_each_child_node(dev, child)
+		if (fwnode_name_eq(child, "channel"))
s/"channel"/name/ ?
Thanks Heikki for spotting this brainfart! :)
quoted
+			count++;
+
+	return count;
+}
+EXPORT_SYMBOL_GPL(device_get_child_node_count_named);
I did not check how many users are you proposing for this, but if
there's only one, then IMO this should not be a global function yet.
I have no strong opinion on this. It starts with just 1 user (IIO ADC 
channel stuff), but I've a feeling there are other areas which do 
look-up nodes by name. I suppose "channels" are looked-up in other areas 
of IIO as well. Lookups are probably done outside the IIO as well. I 
haven't audited this, but I wouldn't be surprized if at least LEDs (and 
perhaps clks/regulators?) could find this useful too.
It just feels to special case to me. But let's see what the others
think.
Yeah :) And thanks for spotting the "channel" -thing :)

Yours,
	-- Matti
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help