[RFC net-next 10/12] net: pon: build the PON subsystem

From: John Crispin

Date: Thu Oct 08 2026 - 10:35:15 EST


Add CONFIG_PON (a tristate) and the Makefile of the core. Hook net/pon
into net/Kconfig and net/Makefile.

The build is wired last, so every commit before it builds and the
series bisects.

Assisted-by: LLM
Signed-off-by: John Crispin <john@xxxxxxxxxxx>
---
net/Kconfig | 1 +
net/Makefile | 1 +
net/pon/Kconfig | 17 +++++++++++++++++
net/pon/Makefile | 6 ++++++
4 files changed, 25 insertions(+)
create mode 100644 net/pon/Kconfig
create mode 100644 net/pon/Makefile

diff --git a/net/Kconfig b/net/Kconfig
index 76ab44aa439a..117845100a06 100644
--- a/net/Kconfig
+++ b/net/Kconfig
@@ -82,6 +82,7 @@ menu "Networking options"

source "net/packet/Kconfig"
source "net/psp/Kconfig"
+source "net/pon/Kconfig"
source "net/unix/Kconfig"
source "net/tls/Kconfig"
source "net/xfrm/Kconfig"
diff --git a/net/Makefile b/net/Makefile
index 5b2dd7f07a85..757650c5428d 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -19,6 +19,7 @@ obj-$(CONFIG_TLS) += tls/
obj-$(CONFIG_XFRM) += xfrm/
obj-$(CONFIG_UNIX) += unix/
obj-$(CONFIG_INET_PSP) += psp/
+obj-$(CONFIG_PON) += pon/
obj-y += ipv6/
obj-$(CONFIG_PACKET) += packet/
obj-$(CONFIG_NET_KEY) += key/
diff --git a/net/pon/Kconfig b/net/pon/Kconfig
new file mode 100644
index 000000000000..af40d4ebd938
--- /dev/null
+++ b/net/pon/Kconfig
@@ -0,0 +1,17 @@
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# PON subsystem configuration
+#
+config PON
+ tristate "Passive Optical Network (PON) device support"
+ depends on NET
+ help
+ Enable kernel support for PON (GPON / XG(S)-PON) ONU devices: the
+ netlink configuration family (which also carries the OMCI
+ management channel to a userspace OMCI stack) and per GEM port
+ virtual devices.
+
+ To compile this as a module, choose M here: the module will be
+ called pon.
+
+ If unsure, say N.
diff --git a/net/pon/Makefile b/net/pon/Makefile
new file mode 100644
index 000000000000..4b23d2265be9
--- /dev/null
+++ b/net/pon/Makefile
@@ -0,0 +1,6 @@
+# SPDX-License-Identifier: GPL-2.0-only
+
+obj-$(CONFIG_PON) += pon.o
+
+pon-y := pon_main.o pon_nl.o pon_omci.o pon_gem.o pon_conduit.o \
+ pon_work.o pon_state.o pon_ploam_msg.o pon-nl-gen.o
--
2.34.1