Thread (14 messages) 14 messages, 5 authors, 2018-02-28

[PATCH v4 5/6] extcon: add possibility to get extcon device by OF node

From: Andrzej Hajda <hidden>
Date: 2018-02-21 15:54:55
Also in: dri-devel, linux-devicetree, linux-samsung-soc, linux-usb, lkml

On 21.02.2018 15:27, Andy Shevchenko wrote:
On Wed, Feb 21, 2018 at 10:55 AM, Andrzej Hajda [off-list ref] wrote:
quoted
Since extcon property is not allowed in DT, extcon subsystem requires
another way to get extcon device. Lets try the simplest approach - get
edev by of_node.
+/*
+ * extcon_get_edev_by_of_node - Get the extcon device from devicetree.
+ * @node       : OF node identyfying edev
+ *
+ * Return the pointer of extcon device if success or ERR_PTR(err) if fail.
+ */
+struct extcon_dev *extcon_get_edev_by_of_node(struct device_node *node)
First of all, the all other similar cases use "_by_node" in the name.
OK, looks better.
Second, it's not _get_, it's _find_.
The patch splits exisiting extcon_get_edev_by_phandle function into two
functions, nothing more.
Thus it followed naming convention present in extcon framework. I can
switch it of course to _find_.
quoted
+{
+       struct extcon_dev *edev;
+
+       mutex_lock(&extcon_dev_list_lock);
+       list_for_each_entry(edev, &extcon_dev_list, entry)
+               if (edev->dev.parent && edev->dev.parent->of_node == node)
+                       goto out;
+       edev = ERR_PTR(-EPROBE_DEFER);
+out:
+       mutex_unlock(&extcon_dev_list_lock);
+
+       return edev;
Can't it be done using bus_find_device()?
There is no special extcon bus, so I am not sure. Anyway if it can, it
should be done probably in another patch.

Regards
Andrzej
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help