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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).