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