On 03/01/2013 05:32 AM, Guenter Roeck wrote: > Hi all, > > IIO_TRIGGERED_BUFFER depends on IIO_BUFFER because of: > > drivers/iio/industrialio-triggered-buffer.c:20:16: error: > ‘iio_sw_buffer_preenable’ undeclared here (not in a function) > > On the other side, it is often selected as follows. > > select IIO_TRIGGERED_BUFFER if (IIO_BUFFER) > > For that reason, selecting IIO_BUFFER in the IIO_TRIGGERED_BUFFER declaration > results in a circular dependency. Sometimes the "if (IIO_BUFFER)" when selecting > IIO_TRIGGERED_BUFFER is missing, though, which can result in the compile error. > > What is the proper solution ? > - Add "if (IIO_BUFFER)" whenever IIO_TRIGGERED_BUFFER is selected > or > - Remove "if (IIO_BUFFER)" from IIO_TRIGGERED_BUFFER selection and add "select > IIO_BUFFER" to the IIO_TRIGGERED_BUFFER declaration > > I would prefer the latter to solve the problem for good. Hi, This is a bit tricky, some drivers have optional buffer support, so they only select the helper module if buffer support is enabled, since they don't use the helper module if buffer support is disabled. Other driver though always want buffer support so they select the helper module unconditionally. So far it was the responsibility of the driver's Kconfig entry to make sure that if it selects IIO_TRIGGERED_BUFFER it needs to make sure that IIO_BUFFER is also selected. As far as I can see all drivers do this currently. Which one breaks things for you? If it was for me we would make IIO_BUFFER non-user-selectable and just let every driver that has support for buffers select it. But when this came up in the past Jonathon had other views on this. - 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