lkml.org 
[lkml]   [2013]   [Sep]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v3 1/2] hwmon: (lm90) Add power control
    On 09/10/2013 11:53 AM, Guenter Roeck wrote:
    > 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().

    So I just need to use the regulator_get() instead, is it right?

    >
    > Guenter
    >



    \
     
     \ /
      Last update: 2013-09-10 06:21    [W:5.429 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site