Thread (17 messages) 17 messages, 6 authors, 2017-01-11

Re: [PATCH v4 2/5] mfd: lm3533: Support initialization from Device Tree

From: Bjorn Andersson <hidden>
Date: 2017-01-04 19:26:16
Also in: linux-iio, linux-leds, lkml

On Wed 04 Jan 03:54 PST 2017, Lee Jones wrote:
On Mon, 26 Dec 2016, Bjorn Andersson wrote:
quoted
From: Bjorn Andersson <redacted>

Implement support for initialization of the lm3533 driver core and
probing child devices from Device Tree.
[..]
quoted
@@ -512,6 +514,11 @@ static int lm3533_device_init(struct lm3533 *lm3533)
 	lm3533_device_bl_init(lm3533);
 	lm3533_device_led_init(lm3533);
 
+	if (lm3533->dev->of_node) {
+		of_platform_populate(lm3533->dev->of_node, NULL, NULL,
+				     lm3533->dev);
+	}
I think it's save to call of_platform_populate(), even if !of_node.
It will just fail and return an error code, which you are ignoring
anyway.
I thought so too, but that's apparently how you trigger probing children
of the root node. So we're stuck with a conditional.

[..]
quoted
 static int lm3533_i2c_probe(struct i2c_client *i2c,
 					const struct i2c_device_id *id)
 {
[..]
quoted
 
+	if (i2c->dev.of_node) {
I'd prefer this check to be placed in lm3533_pdata_from_of_node().

Just return silently if !dev->of_node.
I agree, will update this.
quoted
+		ret = lm3533_pdata_from_of_node(lm3533->dev);
+		if (ret < 0)
+			return ret;
+	}
+
 	return lm3533_device_init(lm3533);
 }
 
Regards,
Bjorn
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help