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
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