[...]
+
+ adc_dev->reg = devm_regulator_get(&pdev->dev, "vref");
+ if (IS_ERR_OR_NULL(adc_dev->reg))
+ return -EINVAL;
if (IS_ERR(adc_dev->reg))
return PTR_ERR(adc_dev->reg);
Are you sure? What if devm_regulator_get() returns NULL?
I had a look at it, but couldn't figure out a condition in which it would return NULL. But I'd be happy to be informed of anything different.
If CONFIG_REGULATOR=n you get NULL there (although I added a select REGULATOR
on the v4 I just posted).
Indeed, thanks. Now I'm thinking if it would make sense to handle this special case in a special way (as it would be caused by an invalid kernel config). Well, I guess, I leave it up to you.
Well, adding the select REGULATOR that shouldn't happen, so let's better
drop the NULL check entirely.
Doing a 'select REGULATOR' can (and probably will sooner or later) create
nasty dependency loops. User selectable config items should not be selected
by another config item. If the driver really has a hard dependency on the
regulator framework then 'depends on REGULATOR' is the right thing to do.
- Lars
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html