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. In the meantime, this is pretty reasonable IMO. This is only for a specific board with known channel mappings. I'm not out to fix IIO, I'm out to fix a single board. Regards -- Pantelis -- 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