Re: [PATCH] iio: potentiometer: add driver for Maxim Integrated DS1807

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 05/07/2018 06:44 PM, Lars-Peter Clausen wrote:
> On 05/06/2018 07:37 PM, Jonathan Cameron wrote:
>> On Sun,  6 May 2018 15:30:47 +0200
>> Michael Trimarchi <michael@xxxxxxxxxxxxxxxxxxxx> wrote:
>>
>>> The following functions are supported:
>>> - write, read potentiometer value
>>>
>>> Value are exported in DBm because it's used as an audio
>>> attenuator
>>
>> This is interesting.  The problem is that there is no way for
>> userspace to know that it is reporting in DBm rather than
>> reporting a linear gain or a straight forward resistance.
>>
>> This is rather closer in operation to the analog front end
>> driver I took the other day than to the other potentiometers
>> we have drivers for.
>>
>> Anyhow, how to solve this?  Two options come to mind.
>> 1) Look up table mapping to linear gain as per current ABI
>> 2) Add a new channel type to represent the fact we are
>> looking at a logarithmic value, letting us handle it as DB.
> 
> Yeah, I guess it is a bit difficult. I don't think this should be a separate
> type since we are still describing the same thing, just the scale is
> logarithmic rather than linear. Translation table doesn't work either since
> your values would get ridiculous small/large. We could add a db suffix to
> the type, but that's just terrible. I guess the best we can do is have a
> scale attribute that says 1dB.

The other problem of course is that dB is a relative unit. The ratio of one
value to another. Whereas our normal scale refers to an absolute value.
--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux