Thread (2 messages) 2 messages, 2 authors, 2013-06-10

Re: [PATCH 12/22] iio/ti_tscadc: Update with IIO map interface

From: Lars-Peter Clausen <hidden>
Date: 2013-06-10 08:38:09
Also in: linux-iio

Possibly related (same subject, not in this thread)

On 06/10/2013 09:40 AM, Sebastian Andrzej Siewior wrote:
On 06/09/2013 06:41 PM, Lars-Peter Clausen wrote:
quoted
On 06/05/2013 06:24 PM, Sebastian Andrzej Siewior wrote:
[...]
quoted
-	return indio_dev->num_channels;
+	adc_dev->map = kcalloc(channels + 1, sizeof(struct iio_map),
+			GFP_KERNEL);
+	if (adc_dev->map == NULL)
+		goto err_free_chan;
+
+	for (i = 0; i < 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;
+	}
This is not the way the IIO map interface is supposed to be used and I doubt it
will actually work at all. The map either needs to be provided by board code
with the proper consumer device and channel name filled in or in your case
where you use devicetree you don't need to provide a map at all since this will
all be handled by the generic IIO devicetree bindings. So I'd just drop this patch.
The channels are not described in the device tree. If so how would that
be the case? Right now, I don't have any consumer. How do I test this
easily if this is done correctly?
If in doubt it will probably drop this until someone comes along who
actually needs this.
You don't need to describe the channels in devicetree, except setting the
"#io-channel-cells" property of your ADC node to 1. You also need to initialize
the of_node property of your iio_device's struct's 'dev' field to the your adc
node.

After that it's just a matter of using, e.g.

	io-channels = <&adc 1>;
	io-channel-names = "voltage";

in your consumer.

- Lars
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help