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, 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. 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