Re: [PATCH v3 1/2] hwmon: (lm90) Add power control

From: Guenter Roeck
Date: Mon Sep 09 2013 - 23:53:57 EST


On 09/09/2013 08:40 PM, Stephen Warren wrote:
On 09/09/2013 09:36 PM, Guenter Roeck wrote:
On 09/09/2013 08:22 PM, Wei Ni wrote:
On 09/09/2013 11:50 PM, Guenter Roeck wrote:
On Mon, Sep 09, 2013 at 02:50:22PM +0100, Mark Brown wrote:
On Mon, Sep 09, 2013 at 04:34:43AM -0700, Guenter Roeck wrote:
On 09/09/2013 04:12 AM, Mark Brown wrote:
On Mon, Sep 09, 2013 at 06:29:11PM +0800, Wei Ni wrote:

This doesn't look good, it is going to ignore actual errors - I
*really*
doubt that vcc is optional, it looks like it's the main power
supply for
the device. You should use normal regulator_get(), _optional() is
for
supplies which could physically not be provided in a system (eg,
if the
device can generate them internally if required).

Then he'll have to make sure that all devicetree files in the system
contain references to this regulator.

Or get the patches applied on top of the code that'll be going in this
cycle implementing get_optional() properly - when that's done the
default will be to provide a dummy supply for regulator_get(). If you
ack the patch I'd be happy to carry it.

Jean will have to ack it.

I think it's better to use get_optional(), and ignore the errors except
-EPROBE_DEFER. Because many platform may always power on this device,
and will not provide regulator for it, so if we get errors from
regulator subsystem and return it directly, then the probe() can't be
implemented, this driver can't work properly, even though it can work
without regulator support.
Mark, do you mean you have patches for regulator_get_optional() and
regulator_get()?


My understanding is that by adding regulator support you essentially
committed to adding regulators (if necessary dummy ones) for this driver
to all those platforms. This is quite similar to other drivers in the
same situation. Once you start along that route, you'll have to go it
all the way.

By using regulator_get_optional(), the regulator should be optional,
hence you only have to add it to platforms that need it.


Earlier comments suggest that this is not the intended use case for
regulator_get_optional().

Guenter

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/