From: James Bottomley <jbottomley@odin.com>
To: "josh@joshtriplett.org" <josh@joshtriplett.org>
Cc: "rpurdie@rpsys.net" <rpurdie@rpsys.net>,
"marcel@holtmann.org" <marcel@holtmann.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"bp@alien8.de" <bp@alien8.de>,
"clemens@ladisch.de" <clemens@ladisch.de>,
"khalasa@piap.pl" <khalasa@piap.pl>,
"jesper.nilsson@axis.com" <jesper.nilsson@axis.com>,
"3chas3@gmail.com" <3chas3@gmail.com>,
"johan.hedberg@gmail.com" <johan.hedberg@gmail.com>,
"kaloz@openwrt.org" <kaloz@openwrt.org>,
"starvik@axis.com" <starvik@axis.com>,
"tiwai@suse.de" <tiwai@suse.de>,
"j.anaszewski@samsung.com" <j.anaszewski@samsung.com>,
"pebolle@tiscali.nl" <pebolle@tiscali.nl>,
"mcgrof@do-not-panic.com" <mcgrof@do-not-panic.com>,
"ohad@wizery.com" <ohad@wizery.com>,
"gustavo@padovan.org" <gustavo@padovan.org>,
"cooloney@gmail.com" <cooloney@gmail.com>,
"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
"mcgrof@suse.com" <mcgrof@suse.com>,
"jslaby@suse.cz" <jslaby@suse.cz>,
"mchehab@osg.samsung.com" <mchehab@osg.samsung.com>,
"davem@davemloft.net" <davem@davemloft.net>,
"arnd@arndb.de" <arnd@arndb.de>,
"dmitry.torokhov@gmail.com" <dmitry.torokhov@gmail.com>,
"geert@linux-m68k.org" <geert@linux-m68k.org>,
"herbert@gondor.apana.org.au" <herbert@gondor.apana.org.au>,
"airlied@linux.ie" <airlied@linux.ie>
Subject: Re: [RFC v1] tree-wide: remove "select FW_LOADER" uses
Date: Tue, 26 May 2015 01:33:32 +0000 [thread overview]
Message-ID: <1432604014.2195.16.camel@Odin.com> (raw)
In-Reply-To: <20150526004731.GB3965@x>
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="utf-8", Size: 3353 bytes --]
On Mon, 2015-05-25 at 17:47 -0700, Josh Triplett wrote:
> On Mon, May 25, 2015 at 09:29:51PM +0000, James Bottomley wrote:
> > On Mon, 2015-05-25 at 12:29 -0700, Josh Triplett wrote:
> > > On Mon, May 25, 2015 at 07:07:14PM +0000, James Bottomley wrote:
> > > > On Mon, 2015-05-25 at 10:54 -0700, Josh Triplett wrote:
> > > > > On Mon, May 25, 2015 at 12:55:17PM +0200, Paul Bolle wrote:
> > > > > > On Fri, 2015-05-22 at 14:43 -0700, josh@joshtriplett.org wrote:
> > > > > > > Ideally, someone should teach Kconfig to handle recursive dependencies,
> > > > > >
> > > > > > I'm probably reading too much in this remark, but how should it handle
> > > > > > that other than returning an error because the configuration it's fed
> > > > > > makes it run in circles?
> > > > >
> > > > > 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. 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.
> > > >
> > > > That's really hard in practise you have to make any symbol that selects
> > > > something depend on the dependencies of the selected symbol. You can't
> > > > do this without involving a SAT solver. A guy promised to do this a
> > > > couple of years ago, but the patches never materialised. However, they
> > > > may exist somewhere if someone wants to take a look at completing it.
> > >
> > > You can't do this in the completely general case without a SAT solver.
> > > However, I think it's possible to help the user a bit more than than
> > > Kconfig currently does without introducing a general dependency solver.
> >
> > Well the logically simplest way of doing that it to require that a
> > selected symbol can have no dependencies (but may select others) and to
> > make this what Kconfig enforces ... of course, our current Kconfig tree
> > violates this all over the place.
>
> Or enforce that it has no disabled dependencies.
That's what doesn't work: once you depend on a symbol that selects
something else, you have to evaluate the satisfiability condition again
recursively ... and that's a SAT solver. Unfortunately, you need either
a heuristic that makes the logic chains simple or resign yourself to
doing it properly.
> > > In particular, it'd be nice to have an easy way to see at a glance
> > > "can't enable C because it depends on B", together with an easy way to
> > > get to B to enable it to get to C. User-guided dependency resolution
> > > seems like an improvement over no dependency resolution.
> >
> > Sure, but it's mostly people like us doing it and find . -name Kconfig\*
> > -exec grep -3 <symbol> {} /dev/null \; usually does the trick for me.
>
> That's not particularly convenient from the middle of menuconfig when
> configuring a kernel. It'd be nice to be able to navigate in one step
> from a symbol to its dependencies within the menuconfig interface.
Well, it works for me but, sure, do something you prefer ... I use make
config rather than menuconfig anyway.
James
ÿôèº{.nÇ+·®+%Ëÿ±éݶ\x17¥wÿº{.nÇ+·¥{±þG«éÿ{ayº\x1dÊÚë,j\a¢f£¢·hïêÿêçz_è®\x03(éÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?¨èÚ&£ø§~á¶iOæ¬z·vØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?I¥
next prev parent reply other threads:[~2015-05-26 1:33 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
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 [this message]
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=1432604014.2195.16.camel@Odin.com \
--to=jbottomley@odin.com \
--cc=3chas3@gmail.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=josh@joshtriplett.org \
--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