On Tue, Jul 03, 2012 at 10:18:31PM +0800, Shawn Guo wrote: > On Tue, Jul 03, 2012 at 02:07:47PM +0100, Mark Brown wrote: > > No, the regulator API will stub itself out if not enabled, and if the > > supply is fixed then a fixed voltage regulator will do the job. We > > shouldn't be open coding this stuff in individual users. > Ah, yes. But when you say "a fixed voltage regulator", you actually > meant dummy regulator, right? No, I really do mean a fixed voltage regulator. Dummy regulators should essentially never be used in production. > static void flexcan_transceiver_switch(const struct flexcan_priv *priv, int on) > { > + if (on) > + regulator_enable(priv->reg_xcvr); > + else > + regulator_disable(priv->reg_xcvr); > + So long as the stack guarantees that you won't get unbalanced calls to this and... > + priv->reg_xcvr = devm_regulator_get(&pdev->dev, "xcvr"); ...add error checking here the code should be fine, yes.