From: David Lechner <david@lechnology.com>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Jonathan Cameron <jic23@kernel.org>
Cc: Hartmut Knaack <knaack.h@gmx.de>,
Lars-Peter Clausen <lars@metafoo.de>,
linux-iio@vger.kernel.org
Subject: Re: [PATCH v2 1/2] iio: adc: ti-ads7950: Allow to use on ACPI platforms
Date: Tue, 1 Aug 2017 12:09:33 -0500 [thread overview]
Message-ID: <5355ac7e-e828-ff2f-dbde-18b4a0fc91c3@lechnology.com> (raw)
In-Reply-To: <1501605706.29303.339.camel@linux.intel.com>
On 08/01/2017 11:41 AM, Andy Shevchenko wrote:
> On Tue, 2017-08-01 at 11:21 -0500, David Lechner wrote:
>> On 08/01/2017 10:45 AM, Andy Shevchenko wrote:
>>>
>>>>>> + /* Use hard coded value for reference voltage in ACPI
>>>>>> case */
>>>>>> + if (ACPI_COMPANION(&spi->dev))
>>>>>> + st->vref_mv = TI_ADS7950_VA_MV_ACPI_DEFAULT;
>>>>>
>>>>> Instead of checking or ACPI, you could just say "if we have a
>>>>> dummy
>>>>> regulator, then use the default value".
>>>
>>>
>>>> Agreed. Sounds sensible to me. Hopefully in DT people will
>>>> provide the right regulator, but chances are this won't
>>>> always happen.
>>>
>>> There is no call like
>>> regulator_is_dummy()
>>> (and, looking into the code of regulator framework, can't be)
>>>
>>> Can you elaborate a bit, maybe I'm missing something obvious?
>>>
>>
>> I haven't tested this, but shouldn't regulator_get_voltage() return
>> an
>> error for a dummy regulator? You could use this as your test.
>
> While it would work it's very fragile.
>
> _regulator_get_voltage() will return error code even for normal
> regulators if something happened there. And user gets an impression that
> everything is okay while it's not.
>
> So, I wouldn't go this way.
>
>>
>> static int ti_ads7950_get_range(struct ti_ads7950_state *st)
>> {
>> int vref;
>>
>> vref = regulator_get_voltage(st->reg);
>> if (vref < 0)
>> - return vref;
>> + vref = 2500000;
>>
>> vref /= 1000;
>>
>> if (st->settings & TI_ADS7950_CR_RANGE_5V)
>> vref *= 2;
>>
>> return vref;
>> }
>>
>
OK. There is also devm_regulator_get_optional(). This will return
ERR_PTR(-ENODEV) instead of a dummy regulator. Then you could add a
check for this error and set st->reg = NULL if we get -ENODEV. Make the
enable and disable conditional. And use the default voltage if we don't
have a regulator.
But this is probably even messier than the original ACPI patch. :-/
next prev parent reply other threads:[~2017-08-01 17:09 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-28 22:20 [PATCH v2 0/2] iio: ti-ads7950: Make it working on ACPI platforms Andy Shevchenko
2017-07-28 22:20 ` [PATCH v2 1/2] iio: adc: ti-ads7950: Allow to use " Andy Shevchenko
2017-07-30 1:27 ` David Lechner
2017-07-30 13:31 ` Jonathan Cameron
2017-08-01 15:45 ` Andy Shevchenko
2017-08-01 16:21 ` David Lechner
2017-08-01 16:41 ` Andy Shevchenko
2017-08-01 17:09 ` David Lechner [this message]
2017-08-01 17:44 ` Andy Shevchenko
2017-08-01 17:15 ` David Lechner
2017-08-01 17:24 ` Andy Shevchenko
2017-08-09 13:24 ` Jonathan Cameron
2017-08-13 14:25 ` Andy Shevchenko
2017-08-20 10:48 ` Jonathan Cameron
2017-07-28 22:20 ` [PATCH v2 2/2] iio: adc: ti-ads7950: Add OF device ID table Andy Shevchenko
2017-08-01 15:48 ` Andy Shevchenko
2017-08-09 13:26 ` Jonathan Cameron
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5355ac7e-e828-ff2f-dbde-18b4a0fc91c3@lechnology.com \
--to=david@lechnology.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=jic23@kernel.org \
--cc=knaack.h@gmx.de \
--cc=lars@metafoo.de \
--cc=linux-iio@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.