Thread (23 messages) flat view 23 messages, 5 authors, 2021-08-04

Re: [PATCH net-next v2] ethernet/intel: fix PTP_1588_CLOCK dependencies

From: Arnd Bergmann <arnd@kernel.org>
Date: 2021-08-02 20:59:41
Also in: intel-wired-lan, lkml

On Mon, Aug 2, 2021 at 10:46 PM Keller, Jacob E
[off-list ref] wrote:
quoted
You can do something like it for a particular symbol though, such as

config MAY_USE_PTP_1588_CLOCK
       def_tristate PTP_1588_CLOCK || !PTP_1588_CLOCK

 config E1000E
        tristate "Intel(R) PRO/1000 PCI-Express Gigabit Ethernet support"
        depends on PCI && (!SPARC32 || BROKEN)
+       depends on MAY_USE_PTP_1588_CLOCK
        select CRC32
-       imply PTP_1588_CLOCK
What about "integrates"?
Maybe, we'd need to look at whether that fits for the other users of the
"A || !A" trick.
Or.. what if we just changed "implies" to also include the dependencies
automatically? i.e. "implies PTP_1588_CLOCK" also means the depends
trick which ensures that you can't have it as module if this is built-in.

I.e. we still get the nice "this will turn on automatically in the menu if you
enable this" and we enforce that you can't have it as a module since it
would be a dependency if it's on"?
I don't want to mess with the semantics of the keyword any further.
The original meaning was meant to avoid circular dependencies
by making it a softer version of 'select' that would not try to select
anything that has unmet dependencies. The current version made
it even softer by only having an effect during 'make defconfig'
and 'make oldconfig' but not preventing it from being soft-disabled
any more. Changing it yet again is guarantee to break lots of the
existing users, while probably also bringing back the original problem
of the circular dependencies.

         Arnd
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help