public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Josh Triplett <josh@joshtriplett.org>
To: Paul Bolle <pebolle@tiscali.nl>
Cc: "Luis R. Rodriguez" <mcgrof@suse.com>,
	Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	Takashi Iwai <tiwai@suse.de>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Borislav Petkov <bp@alien8.de>,
	Greg KH <gregkh@linuxfoundation.org>,
	"David S. Miller" <davem@davemloft.net>,
	clemens@ladisch.de, JBottomley@odin.com,
	David Airlie <airlied@linux.ie>,
	Mauro Carvalho Chehab <mchehab@osg.samsung.com>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	Marcel Holtmann <marcel@holtmann.org>,
	"Gustavo F. Padovan" <gustavo@padovan.org>,
	Johan Hedberg <johan.hedberg@gmail.com>,
	Mikael Starvik <starvik@axis.com>,
	Jesper Nilsson <jesper.nilsson@axis.com>,
	Imre Kaloz <kaloz@openwrt.org>,
	khalasa@piap.pl, Ohad Ben-Cohen <ohad@wizery.com>,
	Arnd Bergmann <arnd@arndb.de>,
	3chas3@gmail.com, Jiri Slaby <jslaby@suse.cz>,
	Bryan Wu <cooloney@gmail.com>, Richard Purdie <rpurdie@rpsys.net>,
	Jacek Anaszewski <j.anaszewski@samsung.com>,
	mcgrof@do-not-panic.com,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [RFC v1] tree-wide: remove "select FW_LOADER" uses
Date: Mon, 25 May 2015 12:06:47 -0700	[thread overview]
Message-ID: <20150525190647.GG1037@x> (raw)
In-Reply-To: <1432578335.27695.186.camel@x220>

On Mon, May 25, 2015 at 08:25:35PM +0200, Paul Bolle wrote:
> On Mon, 2015-05-25 at 10:54 -0700, Josh Triplett wrote:
> > I don't mean cyclic dependencies (for which Kconfig should just report
> > an error, ideally including the full list of symbols forming the cycle).
> > 
> > I mean that Kconfig should do recursive dependency resolution.
> 
> (My English might be letting me down here. Or my grasp of elementary
> logic, for that matter. Recursive and cyclic are not really
> interchangeable? Should Kconfig perhaps report a "Cyclic dependency
> error"? )

I do think that'd be a clearer message, yes.

For clarity: "recursive dependency resolution" as in "recursive
resolution of dependencies", not "resolution of recursive dependencies".

> > If B
> > depends on A, and C depends on B, I should be able to turn on C
> > directly and have B and A enabled.
> 
> And how should kconfig handle, say:
>     - B depends on (A || D)
>     - C depends on B
> 
> Should (B && D) be enabled or (B && A)? This is not meant as a
> rhetorical question. But I do fear the complications for the choices
> this idea might encounter are, at best, not worth the effort.

That's exactly the kind of problem that makes this difficult to do, and
has thus stopped anyone from working on it.  A fully general solution
requires a system that can also solve arbitrary logic problems, which is
not necessarily a feature.

The typical choice made by package management systems is to enable B and
A, preferring the leftmost dependency of B.  That's what Debian's apt
does, in the absence of conflicts.

For an initial solution, I'd suggest just recursing through "select"
dependencies; if C has "select B", and B has "select A", enabling C
should enable B and A.  Since you can't "select A || D", that seems
straightforward enough.  You can "select A if X", but for that, just
bail out if the value of the expression X is changed by any of the
select statements.

> > As an intermediate measure, it'd be *really* handy to be able to browse
> > in the curses UI directly from a symbol to the symbols it depends on to
> > quickly enable/disable them, rather than having to look at the list of
> > dependencies of a symbol, search for that symbol, remember the path the
> > search showed, and browse there manually.
> 
> Probably. I'd rather not think about the UI involved when the symbol(s)
> that should be enabled is (are) two or more levels down the chain. And
> the odd "stacked" UI for searches in the curses tool adds to the fun.
> But then again, I'm a the-glass-is-half-empty person.

I'm more thinking that if you're looking at an option, you should be
able to hit a key to see all the symbols that option depends on in a
list, then navigate to one of those symbols, and be taken to the menu
containing that symbol with the cursor on that symbol.  (You could then
hit a key to go "back" to where you were.)  It's not perfect, but it's
an improvement.

I'd also suggest that the search mechanism should produce a list that
can be browsed with the arrow keys, with enter taking you to the symbol.

- Josh Triplett

  reply	other threads:[~2015-05-25 19:07 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-21 20:45 [RFC v1] tree-wide: remove "select FW_LOADER" uses Luis R. Rodriguez
2015-05-21 22:21 ` Borislav Petkov
2015-05-22  6:53   ` Borislav Petkov
2015-05-22  7:11     ` Geert Uytterhoeven
2015-05-22  7:41       ` Borislav Petkov
2015-05-22  7:45         ` Geert Uytterhoeven
2015-05-22  7:56           ` Borislav Petkov
2015-05-22  8:17       ` Paul Bolle
2015-05-22  8:24         ` Geert Uytterhoeven
2015-05-22  8:26         ` Borislav Petkov
2015-05-22  8:44         ` Takashi Iwai
2015-05-22  9:06           ` Paul Bolle
2015-05-22  9:56             ` Takashi Iwai
2015-05-22 17:43           ` Luis R. Rodriguez
2015-05-22 17:57             ` Dmitry Torokhov
2015-05-22 18:19               ` Luis R. Rodriguez
2015-05-22 18:52                 ` Dmitry Torokhov
2015-05-22 19:28                   ` Luis R. Rodriguez
2015-05-22 20:22                     ` Dmitry Torokhov
2015-05-22 21:43                     ` josh
2015-05-22 22:22                       ` Luis R. Rodriguez
2015-05-22 22:33                         ` Herbert Xu
2015-05-22 23:02                           ` Luis R. Rodriguez
2015-05-22 23:54                             ` Josh Triplett
2015-05-23  7:14                             ` Geert Uytterhoeven
2015-05-25 10:55                       ` Paul Bolle
2015-05-25 17:54                         ` Josh Triplett
2015-05-25 18:25                           ` Paul Bolle
2015-05-25 19:06                             ` Josh Triplett [this message]
2015-05-25 19:16                               ` Paul Bolle
2015-05-25 19:07                           ` James Bottomley
2015-05-25 19:29                             ` Josh Triplett
2015-05-25 21:29                               ` James Bottomley
2015-05-26  0:47                                 ` Josh Triplett
2015-05-26  1:33                                   ` James Bottomley
2015-05-26  8:28                                 ` Geert Uytterhoeven
2015-05-25 10:59                     ` Paul Bolle
2015-05-22 19:30                   ` Austin S Hemmelgarn
2015-05-22 20:12                     ` Geert Uytterhoeven
2015-05-25  9:27                       ` Paul Bolle
2015-05-25 11:10                   ` Paul Bolle
2015-05-22  8:32     ` Paul Bolle
2015-05-22  9:05       ` Borislav Petkov
2015-05-22  9:20 ` Paul Bolle

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=20150525190647.GG1037@x \
    --to=josh@joshtriplett.org \
    --cc=3chas3@gmail.com \
    --cc=JBottomley@odin.com \
    --cc=airlied@linux.ie \
    --cc=arnd@arndb.de \
    --cc=bp@alien8.de \
    --cc=clemens@ladisch.de \
    --cc=cooloney@gmail.com \
    --cc=davem@davemloft.net \
    --cc=dmitry.torokhov@gmail.com \
    --cc=geert@linux-m68k.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=gustavo@padovan.org \
    --cc=herbert@gondor.apana.org.au \
    --cc=j.anaszewski@samsung.com \
    --cc=jesper.nilsson@axis.com \
    --cc=johan.hedberg@gmail.com \
    --cc=jslaby@suse.cz \
    --cc=kaloz@openwrt.org \
    --cc=khalasa@piap.pl \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marcel@holtmann.org \
    --cc=mcgrof@do-not-panic.com \
    --cc=mcgrof@suse.com \
    --cc=mchehab@osg.samsung.com \
    --cc=ohad@wizery.com \
    --cc=pebolle@tiscali.nl \
    --cc=rpurdie@rpsys.net \
    --cc=starvik@axis.com \
    --cc=tiwai@suse.de \
    /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