From: Christian Marangi Date: Wed, 13 May 2026 16:34:32 +0000 (+0200) Subject: generic: permit support of standalone PCS for external kernel module X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=14beb3408d404e4929d3673047616ee5308a2f2f;p=thirdparty%2Fopenwrt.git generic: permit support of standalone PCS for external kernel module The current code permits support of the standalone PCS feature only for in-tree kernel module but doesn't correctly support PCS from external kernel module. This is caused by the fact that the FWNODE_PCS config flag is internally selected by any PCS driver and can't be selected directly. This is problematic for any external kernel module that wants to use the standalone PCS feature and needs the OPs provided by the generic PCS code. Moreover compiling the standalone PCS code as a module is problematic and would cause link error caused by the late PCS code that introduce a notifier where phylink code depends on. To address both problem, permit to select the FWNODE_PCS and change it to a simple bool preventing it to compile as a module. Link: https://github.com/openwrt/openwrt/pull/23349 Signed-off-by: Christian Marangi --- diff --git a/target/linux/generic/config-6.12 b/target/linux/generic/config-6.12 index 51b7dc79d8d..ccd23a0ca2a 100644 --- a/target/linux/generic/config-6.12 +++ b/target/linux/generic/config-6.12 @@ -2175,6 +2175,7 @@ CONFIG_FW_LOADER=y CONFIG_FW_LOADER_USER_HELPER=y CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y # CONFIG_FW_UPLOAD is not set +# CONFIG_FWNODE_PCS is not set # CONFIG_FXAS21002C is not set # CONFIG_FXLS8962AF_I2C is not set # CONFIG_FXLS8962AF_SPI is not set diff --git a/target/linux/generic/config-6.18 b/target/linux/generic/config-6.18 index 44578c1d731..6373a398804 100644 --- a/target/linux/generic/config-6.18 +++ b/target/linux/generic/config-6.18 @@ -2272,6 +2272,7 @@ CONFIG_FW_LOADER=y CONFIG_FW_LOADER_USER_HELPER=y CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y # CONFIG_FW_UPLOAD is not set +# CONFIG_FWNODE_PCS is not set # CONFIG_FXAS21002C is not set # CONFIG_FXLS8962AF_I2C is not set # CONFIG_FXLS8962AF_SPI is not set diff --git a/target/linux/generic/pending-6.12/770-04-net-pcs-implement-Firmware-node-support-for-PCS-driv.patch b/target/linux/generic/pending-6.12/770-04-net-pcs-implement-Firmware-node-support-for-PCS-driv.patch index 676e23c0019..da608c6c21e 100644 --- a/target/linux/generic/pending-6.12/770-04-net-pcs-implement-Firmware-node-support-for-PCS-driv.patch +++ b/target/linux/generic/pending-6.12/770-04-net-pcs-implement-Firmware-node-support-for-PCS-driv.patch @@ -56,7 +56,7 @@ Signed-off-by: Christian Marangi menu "PCS device drivers" +config FWNODE_PCS -+ tristate ++ bool "PCS Firmware Node" + depends on (ACPI || OF) + depends on PHYLINK + help diff --git a/target/linux/generic/pending-6.18/737-04-net-pcs-implement-Firmware-node-support-for-PCS-driv.patch b/target/linux/generic/pending-6.18/737-04-net-pcs-implement-Firmware-node-support-for-PCS-driv.patch index 676e23c0019..da608c6c21e 100644 --- a/target/linux/generic/pending-6.18/737-04-net-pcs-implement-Firmware-node-support-for-PCS-driv.patch +++ b/target/linux/generic/pending-6.18/737-04-net-pcs-implement-Firmware-node-support-for-PCS-driv.patch @@ -56,7 +56,7 @@ Signed-off-by: Christian Marangi menu "PCS device drivers" +config FWNODE_PCS -+ tristate ++ bool "PCS Firmware Node" + depends on (ACPI || OF) + depends on PHYLINK + help