Linux IIO development
 help / color / mirror / Atom feed
From: Lars-Peter Clausen <lars@metafoo.de>
To: Guenter Roeck <linux@roeck-us.net>
Cc: linux-iio@vger.kernel.org
Subject: Re: IIO_BUFFER - IIO_TRIGGERED_BUFFER circular dependency
Date: Fri, 01 Mar 2013 14:38:30 +0100	[thread overview]
Message-ID: <5130AF56.8020407@metafoo.de> (raw)
In-Reply-To: <20130301043222.GA5606@roeck-us.net>

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

  reply	other threads:[~2013-03-01 13:36 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-01  4:32 IIO_BUFFER - IIO_TRIGGERED_BUFFER circular dependency Guenter Roeck
2013-03-01 13:38 ` Lars-Peter Clausen [this message]
2013-03-01 14:41   ` Guenter Roeck
2013-03-01 15:04     ` Lars-Peter Clausen
2013-03-01 17:20       ` Guenter Roeck
2013-03-02 16:36         ` Jonathan Cameron
2013-03-01 15:16     ` Guenter Roeck

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5130AF56.8020407@metafoo.de \
    --to=lars@metafoo.de \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux@roeck-us.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox