Re: IIO_BUFFER - IIO_TRIGGERED_BUFFER circular dependency

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux