Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1479281 > unrolled thread

[PATCH v5 1/3] hwmon: iio_hwmon: defer probe when no channel is found

Started byQuentin Schulz <quentin.schulz@free-electrons.com>
First post2016-09-08 16:40 +0200
Last post2016-09-09 06:30 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH v5 1/3] hwmon: iio_hwmon: defer probe when no channel is found Quentin Schulz <quentin.schulz@free-electrons.com> - 2016-09-08 16:40 +0200
    Re: [PATCH v5 1/3] hwmon: iio_hwmon: defer probe when no channel is  found Guenter Roeck <linux@roeck-us.net> - 2016-09-09 06:30 +0200

#1479281 — [PATCH v5 1/3] hwmon: iio_hwmon: defer probe when no channel is found

FromQuentin Schulz <quentin.schulz@free-electrons.com>
Date2016-09-08 16:40 +0200
Subject[PATCH v5 1/3] hwmon: iio_hwmon: defer probe when no channel is found
Message-ID<sf8EF-6YA-7@gated-at.bofh.it>
iio_channel_get_all returns -ENODEV when it cannot find either phandles and
properties in the Device Tree or channels whose consumer_dev_name matches
iio_hwmon in iio_map_list. The iio_map_list is filled in by iio drivers
which might be probed after iio_hwmon.

It is better to defer the probe of iio_hwmon if such error is returned by
iio_channel_get_all in order to let a chance to iio drivers to expose
channels in iio_map_list.

Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com>
---

v5:
 - patch re-inserted,

v3:
 - patch removed,

 drivers/hwmon/iio_hwmon.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/hwmon/iio_hwmon.c b/drivers/hwmon/iio_hwmon.c
index b550ba5..c0da4d9 100644
--- a/drivers/hwmon/iio_hwmon.c
+++ b/drivers/hwmon/iio_hwmon.c
@@ -73,8 +73,11 @@ static int iio_hwmon_probe(struct platform_device *pdev)
 		name = dev->of_node->name;
 
 	channels = iio_channel_get_all(dev);
-	if (IS_ERR(channels))
+	if (IS_ERR(channels)) {
+		if (PTR_ERR(channels) == -ENODEV)
+			return -EPROBE_DEFER;
 		return PTR_ERR(channels);
+	}
 
 	st = devm_kzalloc(dev, sizeof(*st), GFP_KERNEL);
 	if (st == NULL) {
-- 
2.5.0

[toc] | [next] | [standalone]


#1479650 — Re: [PATCH v5 1/3] hwmon: iio_hwmon: defer probe when no channel is found

FromGuenter Roeck <linux@roeck-us.net>
Date2016-09-09 06:30 +0200
SubjectRe: [PATCH v5 1/3] hwmon: iio_hwmon: defer probe when no channel is found
Message-ID<sflBU-6IG-27@gated-at.bofh.it>
In reply to#1479281
On 09/08/2016 07:28 AM, Quentin Schulz wrote:
> iio_channel_get_all returns -ENODEV when it cannot find either phandles and
> properties in the Device Tree or channels whose consumer_dev_name matches
> iio_hwmon in iio_map_list. The iio_map_list is filled in by iio drivers
> which might be probed after iio_hwmon.
>
> It is better to defer the probe of iio_hwmon if such error is returned by
> iio_channel_get_all in order to let a chance to iio drivers to expose
> channels in iio_map_list.
>
> Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com>
> ---
>
> v5:
>  - patch re-inserted,
>
Grumble ... applied to -next anyway.

I'll direct any complaints your way ;-)

Guenter

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web