From: Lars-Peter Clausen <lars@metafoo.de>
To: Pantelis Antoniou <panto@antoniou-consulting.com>
Cc: Jonathan Cameron <jic23@cam.ac.uk>,
"Patil, Rachna" <rachna@ti.com>,
linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org,
Koen Kooi <koen@dominion.thruhere.net>,
Matt Porter <mporter@ti.com>, Russ Dill <Russ.Dill@ti.com>,
linux-omap@vger.kernel.org
Subject: Re: [PATCH 1/3] ti_adc: Update with IIO map interface
Date: Wed, 31 Oct 2012 20:10:44 +0100 [thread overview]
Message-ID: <509177B4.6010405@metafoo.de> (raw)
In-Reply-To: <67596D26-26EC-483A-A83A-8A7F43BDE466@antoniou-consulting.com>
On 10/31/2012 07:43 PM, Pantelis Antoniou wrote:
>
> On Oct 31, 2012, at 8:36 PM, Lars-Peter Clausen wrote:
>
>> On 10/31/2012 07:12 PM, Pantelis Antoniou wrote:
>>>
>>> On Oct 31, 2012, at 8:07 PM, Lars-Peter Clausen wrote:
>>>
>>>> On 10/31/2012 06:55 PM, Pantelis Antoniou wrote:
>>>>> [...]
>>>>>>> }
>>>>>>>
>>>>>>> indio_dev->channels = chan_array;
>>>>>>> + indio_dev->num_channels = channels;
>>>>>>> +
>>>>>>> + size = (channels + 1) * sizeof(struct iio_map);
>>>>>>> + adc_dev->map = kzalloc(size, GFP_KERNEL);
>>>>>>> + if (adc_dev->map == NULL) {
>>>>>>> + kfree(chan_array);
>>>>>>> + return -ENOMEM;
>>>>>>> + }
>>>>>>> +
>>>>>>> + for (i = 0; i < indio_dev->num_channels; i++) {
>>>>>>> + adc_dev->map[i].adc_channel_label = chan_array[i].datasheet_name;
>>>>>>> + adc_dev->map[i].consumer_dev_name = "any";
>>>>>>> + adc_dev->map[i].consumer_channel = chan_array[i].datasheet_name;
>>>>>>> + }
>>>>>>> + adc_dev->map[i].adc_channel_label = NULL;
>>>>>>> + adc_dev->map[i].consumer_dev_name = NULL;
>>>>>>> + adc_dev->map[i].consumer_channel = NULL;
>>>>>>
>>>>>> The map should be passed in via platform data or similar. All the fields of
>>>>>> the map depend on the specific user, so you can't use a generic map. In fact
>>>>>> if we were able to use a generic map, we wouldn't need a map at all.
>>>>>
>>>>> There's no platform data in the board I'm using. It's board-generic using
>>>>> device tree only.
>>>>
>>>> That's the 'or similar' ;) Unfortunately we do not have a device tree
>>>> binding for IIO yet. But I think we should aim at a interface similar like
>>>> we have in other subsystems like the clk, regulator or dma framework.
>>>>
>>>> - Lars
>>>
>>> So in the meantime no-one can use IIO ADC in any OF only platform.
>>
>> Yes, nobody can use it until somebody implements it. So far nobody needed
>> it, so that's why it hasn't been implemented yet. The whole in kernel
>> consumer API for IIO is still very young and only a very few drivers support
>> it yet.
>>
>>>
>>> In the meantime, this is pretty reasonable IMO. This is only for a specific
>>> board with known channel mappings.
>>
>> Unfortunately it is not. It is adding a device specific hack to a generic
>> driver and it is also completely misusing the API.
>>
>>>
>>> I'm not out to fix IIO, I'm out to fix a single board.
>>>
>>
>> It's not about fixing IIO, it's about extending IIO to be able to serve your
>> needs. See, the issue is if everybody would work around the lack of DT
>> bindings we'll never have DT bindings for IIO, so the right thing to do is
>> to implement them instead of working around the lack of.
>>
>> - Lars
>
> OK, OK,
>
ok :)
> I see the point. It's just that I'm under the gun for more pressing matters ATM.
> Can at least get a small write-up about how the bindings should look like?
>
> There's absolutely nothing, not even a hint of one out there in the intertubes,
> on how the channel mapping should look like.
Again, that's because nobody probably has given this much though yet. As I said
the in-kernel consumer framework is still young and so far only a tiny fraction
of the drivers support it. If you want to I can try to give this some though
and come up with a small proof of concept, but this would have to wait until
next week, since I have a few other things on my desk as well.
I think a good start might be to take a closer look at the clk dt bindings
(Documentation/devicetree/bindings/clock/clock-bindings.txt).
- Lars
next prev parent reply other threads:[~2012-10-31 19:10 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-01 15:24 [PATCH 1/3] ti_adc: Update with IIO map interface Pantelis Antoniou
2012-10-31 17:52 ` Lars-Peter Clausen
2012-10-31 17:55 ` Pantelis Antoniou
2012-10-31 18:07 ` Lars-Peter Clausen
2012-10-31 18:12 ` Pantelis Antoniou
2012-10-31 18:36 ` Lars-Peter Clausen
2012-10-31 18:43 ` Pantelis Antoniou
2012-10-31 19:10 ` Lars-Peter Clausen [this message]
2012-10-31 18:16 ` Porter, Matt
2012-11-01 15:24 ` [PATCH 2/3] ti_tscadc: Match mfd sub devices to regmap interface Pantelis Antoniou
2012-11-02 9:36 ` Jonathan Cameron
2012-11-01 15:24 ` [PATCH 3/3] ti_tscadc: Deal with non activation of all the devices Pantelis Antoniou
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=509177B4.6010405@metafoo.de \
--to=lars@metafoo.de \
--cc=Russ.Dill@ti.com \
--cc=jic23@cam.ac.uk \
--cc=koen@dominion.thruhere.net \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=mporter@ti.com \
--cc=panto@antoniou-consulting.com \
--cc=rachna@ti.com \
/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).