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: Andy Shevchenko <hidden>
Date: 2018-02-21 14:27:15
Also in: dri-devel, linux-devicetree, linux-samsung-soc, linux-usb, lkml

On Wed, Feb 21, 2018 at 10:55 AM, Andrzej Hajda [off-list ref] wrote:
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.
Second, it's not _get_, it's _find_.
+{
+       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()?
+}
See good example in i2c-core-of.c

of_find_i2c_adapter_by_node()
of_get_i2c_adapter_by_node()

-- 
With Best Regards,
Andy Shevchenko
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help