mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Paul Bolle <pebolle@tiscali.nl>
To: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Randy Dunlap <rdunlap@infradead.org>,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: Kconfig circular dependency question
Date: Mon, 07 Apr 2014 19:10:52 +0200	[thread overview]
Message-ID: <1396890652.12738.21.camel@x220> (raw)
In-Reply-To: <5341DA66.5070907@lwfinger.net>

On Sun, 2014-04-06 at 17:51 -0500, Larry Finger wrote:
> No problem - it is attached. The problem I was trying to solve was reported by 
> the kbuild test robot. To get the driver r8723au, you will need the staging-next 
> tree.

0) I couldn't reproduce your error with this config file (and the
next-20140407 tree). But I could reproduce by cbobbling together a
single rudimentary Kconfig file with the six symbols mentioned in the
error you had copied. And then I could cut things down to this minimal
test case:
    $ cat Kconfig.recursive 
    # test with 'yes "" | make KBUILD_KCONFIG=Kconfig.recursive oldconfig'
    mainmenu "Recursive dependency test case"

    config DRIVER1
	bool "Driver 1"
	select SUBSYSTEM2
	depends on SUBSYSTEM1

    config DRIVER2
	bool "Driver 2"
	select SUBSYSTEM1
	depends on SUBSYSTEM2

    config SUBSYSTEM1
	bool "Subsystem 1"

    config SUBSYSTEM2
	bool "Subsystem 2"

1) This made zero sense, until I realized that "select" statements are
treated as reverse dependencies in the kconfig code. And if you look at
these two select statements as reverse dependencies than, yes, this is a
Kconfig with a recursive dependency.

2) But the fact is that I actually don't think of "select" statements as
reverse dependencies. And in the Kconfig files they are not used as
reverse dependencies. See, for example, all the
    select USB

statements in the tree. I think there are many similar uses of "select".

3) So I think it makes no sense to treat "select" relations as reverse
dependencies. But perhaps I am missing something here.


Paul Bolle


  reply	other threads:[~2014-04-07 17:10 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-06 19:49 Larry Finger
2014-04-06 20:10 ` Paul Bolle
2014-04-06 20:21   ` Paul Bolle
2014-04-06 20:31 ` Randy Dunlap
2014-04-06 20:52   ` Paul Bolle
2014-04-06 21:07     ` Larry Finger
2014-04-06 21:14       ` Paul Bolle
2014-04-06 22:51         ` Larry Finger
2014-04-07 17:10           ` Paul Bolle [this message]
2014-04-07  0:02     ` Gene Heskett
2014-04-06 21:03   ` Larry Finger

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=1396890652.12738.21.camel@x220 \
    --to=pebolle@tiscali.nl \
    --cc=Larry.Finger@lwfinger.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rdunlap@infradead.org \
    /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

all inboxes | Powered by JetHome®