Subject: Re: [PATCH net-next] net: pcs: xpcs: depends on PHYLINK in Kconfig

From: Jakub Kicinski <[email-masked]>
Date: Wed, 22 Jun 2022 16:12:29 -0700

On Wed, 22 Jun 2022 17:42:13 +0200 Paolo Abeni wrote:
> @Jakub: please let me know if you prefer to go ahead yourself, or me
> sending a v3 with 'depends PHYLINK' + the above (or any other option ;)

[resending, sorry, Russell let me know that my MUA broke the headers]

Well, IDK. You said "depends PHYLINK" which makes me feel like I
haven't convinced you at all :)  Unless you mean add the dependency
on the consumers not on PCS_XPCS itself, but that's awkward.

What I was saying is that "depends" in a symbol which is only
"select"ed by other symbols makes no sense. IIUC "select" does not
visit dependencies, so putting "depends" on an user-invisible symbol
(i.e. symbol without a prompt) achieves nothing.

So PCS_XPCS can have no "depends" if we hide it.

The way I see it - PHYLINK already selects MDIO_DEVICE. So we can drop
the MDIO business from PCS_XPCS, add "select PHYLINK", hide it by
removing the prompt, and we're good. Then again, I admit I have not
tested this at all so I could be speaking gibberish...

diff --git a/drivers/net/pcs/Kconfig b/drivers/net/pcs/Kconfig
index 22ba7b0b476d..f778e5155fae 100644
--- a/drivers/net/pcs/Kconfig
+++ b/drivers/net/pcs/Kconfig
@@ -6,8 +6,8 @@
 menu "PCS device drivers"
 
 config PCS_XPCS
-       tristate "Synopsys DesignWare XPCS controller"
-       depends on MDIO_DEVICE && MDIO_BUS
+       tristate
+       select PHYLINK
        help
          This module provides helper functions for Synopsys DesignWare XPCS