Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1505106

Re: [PATCH 1/4] kconfig: introduce the "imply" keyword

From Nicolas Pitre <nicolas.pitre@linaro.org>
Newsgroups linux.kernel
Subject Re: [PATCH 1/4] kconfig: introduce the "imply" keyword
Date 2016-10-20 19:10 +0200
Message-ID <sup0S-21Y-23@gated-at.bofh.it> (permalink)
References <su8Mp-881-9@gated-at.bofh.it> <su8Mq-881-29@gated-at.bofh.it> <sumZ3-wo-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Thu, 20 Oct 2016, Edward Cree wrote:

> On 20/10/16 00:42, Nicolas Pitre wrote:
> > diff --git a/Documentation/kbuild/kconfig-language.txt b/Documentation/kbuild/kconfig-language.txt
> > index 069fcb3eef..c96127f648 100644
> > --- a/Documentation/kbuild/kconfig-language.txt
> > +++ b/Documentation/kbuild/kconfig-language.txt
> > @@ -113,6 +113,33 @@ applicable everywhere (see syntax).
> >       That will limit the usefulness but on the other hand avoid
> >       the illegal configurations all over.
> >
> > +- weak reverse dependencies: "imply" <symbol> ["if" <expr>]
> > +  This is similar to "select" as it enforces a lower limit on another
> > +  symbol except that the "implied" config symbol's value may still be
> > +  set to n from a direct dependency or with a visible prompt.
> > +  Given the following example:
> > +
> > +  config FOO
> > +     tristate
> > +     imply BAZ
> > +
> > +  config BAZ
> > +     tristate
> > +     depends on BAr
> > +
> > +  The following values are possible:
> > +
> > +     FOO             BAR             BAR's default   choice for BAZ
> Should the third column not be "BAZ's default"?

Indeed.  Good catch.

> > +     --------------- --------------- --------------- --------------
> > +     n               y               n               N/m/y
> > +     m               y               m               M/y/n
> > +     y               y               y               Y/n
> > +     y               n               *               N
> Also, I don't think having any FOO=y should preclude BAZ=m.  Suppose both
> FOO and FOO2 imply BAZ, FOO=y and FOO2=m.

Some people didn't like the fact that you could turn a driver from m to 
y and silently lose some features if they were provided by a subsystem 
that also used to be m, which arguably is not the same as being 
explicitly disabled.  With "select" this is not a problem as the target 
symbol is also promoted to y in that case, so I wanted to preserve that 
property.

> Then if BAZ-features are only
> desired for driver FOO2, BAz=m makes sense.

In that case it would make more sense to add a config option related to 
FOO asking if BAZ features are desired for that driver (there is already 
one occurrence of that with PTP).  Or you could simply drop the "imply" 
statement from the FOO config entry.

> There is also the case of drivers with the ability to detect at runtime
> whether BAZ is present, rather than making the decision at build time, but
> I'm not sure how common that is.

Right now that's how PTP support is done.  Drivers can optimize things 
at build time, but most of them simply cope with a NULL return from 
ptp_clock_register().  Hence the imply statement becomes a big 
configuration hint rather than some hard build dependency.


Nicolas

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 0/4] make POSIX timers optional with some Kconfig help Nicolas Pitre <nicolas.pitre@linaro.org> - 2016-10-20 01:50 +0200
  [PATCH 3/4] ptp_clock: allow for it to be optional Nicolas Pitre <nicolas.pitre@linaro.org> - 2016-10-20 01:50 +0200
    Re: [PATCH 3/4] ptp_clock: allow for it to be optional Thomas Gleixner <tglx@linutronix.de> - 2016-10-20 12:00 +0200
      Re: [PATCH 3/4] ptp_clock: allow for it to be optional Nicolas Pitre <nicolas.pitre@linaro.org> - 2016-10-20 19:50 +0200
        Re: [PATCH 3/4] ptp_clock: allow for it to be optional Thomas Gleixner <tglx@linutronix.de> - 2016-10-20 20:10 +0200
    Re: [PATCH 3/4] ptp_clock: allow for it to be optional Richard Cochran <richardcochran@gmail.com> - 2016-10-20 16:10 +0200
      Re: [PATCH 3/4] ptp_clock: allow for it to be optional Josh Triplett <josh@joshtriplett.org> - 2016-10-20 17:50 +0200
      Re: [PATCH 3/4] ptp_clock: allow for it to be optional Nicolas Pitre <nicolas.pitre@linaro.org> - 2016-10-20 18:50 +0200
  [PATCH 1/4] kconfig: introduce the "imply" keyword Nicolas Pitre <nicolas.pitre@linaro.org> - 2016-10-20 01:50 +0200
    Re: [PATCH 1/4] kconfig: introduce the "imply" keyword Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-10-20 09:00 +0200
    Re: [PATCH 1/4] kconfig: introduce the "imply" keyword Edward Cree <ecree@solarflare.com> - 2016-10-20 17:00 +0200
      Re: [PATCH 1/4] kconfig: introduce the "imply" keyword Josh Triplett <josh@joshtriplett.org> - 2016-10-20 17:50 +0200
      Re: [PATCH 1/4] kconfig: introduce the "imply" keyword Nicolas Pitre <nicolas.pitre@linaro.org> - 2016-10-20 19:10 +0200
        Re: [PATCH 1/4] kconfig: introduce the "imply" keyword Edward Cree <ecree@solarflare.com> - 2016-10-20 19:50 +0200
          Re: [PATCH 1/4] kconfig: introduce the "imply" keyword Nicolas Pitre <nicolas.pitre@linaro.org> - 2016-10-20 20:30 +0200
            Re: [PATCH 1/4] kconfig: introduce the "imply" keyword Edward Cree <ecree@solarflare.com> - 2016-10-20 21:20 +0200
              Re: [PATCH 1/4] kconfig: introduce the "imply" keyword Nicolas Pitre <nicolas.pitre@linaro.org> - 2016-10-20 22:20 +0200
                Re: [PATCH 1/4] kconfig: introduce the "imply" keyword Nicolas Pitre <nicolas.pitre@linaro.org> - 2016-10-21 05:30 +0200
  [PATCH 4/4] posix-timers: make it configurable Nicolas Pitre <nicolas.pitre@linaro.org> - 2016-10-20 01:50 +0200
    Re: [PATCH 4/4] posix-timers: make it configurable Richard Cochran <richardcochran@gmail.com> - 2016-10-20 16:10 +0200
      Re: [PATCH 4/4] posix-timers: make it configurable Nicolas Pitre <nicolas.pitre@linaro.org> - 2016-10-20 18:50 +0200
  Re: [PATCH 0/4] make POSIX timers optional with some Kconfig help Thomas Gleixner <tglx@linutronix.de> - 2016-10-20 11:50 +0200
    Re: [PATCH 0/4] make POSIX timers optional with some Kconfig help Nicolas Pitre <nicolas.pitre@linaro.org> - 2016-10-20 20:40 +0200
  Re: [PATCH 0/4] make POSIX timers optional with some Kconfig help Josh Triplett <josh@joshtriplett.org> - 2016-10-20 21:00 +0200

csiph-web