From 4c39ed9cb53bf88a12855fd8c65700df906aa31c Mon Sep 17 00:00:00 2001 From: Revanth Kumar Uppala Date: Fri, 24 May 2024 10:04:34 +0000 Subject: [PATCH] ethernet: Add dummy driver for r8126 r8126 driver build is disabled on K6.9 and later. This is causing the packaging failure where module is not available. Add dummy driver when real driver is not available to make packaging success. Bug 4478230 Change-Id: I1b83fe1c3f30a9f825631650ca2520d720ef07c6 Signed-off-by: Revanth Kumar Uppala Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3144344 Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/net/ethernet/realtek/Makefile | 3 --- drivers/net/ethernet/realtek/r8126/Makefile | 10 ++++++++++ drivers/net/ethernet/realtek/r8126/r8126_dummy.c | 15 +++++++++++++++ 3 files changed, 25 insertions(+), 3 deletions(-) create mode 100644 drivers/net/ethernet/realtek/r8126/r8126_dummy.c diff --git a/drivers/net/ethernet/realtek/Makefile b/drivers/net/ethernet/realtek/Makefile index 9eee9c07..4764ce36 100644 --- a/drivers/net/ethernet/realtek/Makefile +++ b/drivers/net/ethernet/realtek/Makefile @@ -2,7 +2,4 @@ # Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved. obj-m += r8168/ - -ifeq ($(shell expr \( $(VERSION) \) \* 10000 + \( $(PATCHLEVEL) \) \* 100 + \( $(SUBLEVEL) \) \<= 60400), 1) obj-m += r8126/ -endif diff --git a/drivers/net/ethernet/realtek/r8126/Makefile b/drivers/net/ethernet/realtek/r8126/Makefile index c6cb3b3a..670d1614 100644 --- a/drivers/net/ethernet/realtek/r8126/Makefile +++ b/drivers/net/ethernet/realtek/r8126/Makefile @@ -29,6 +29,14 @@ # This product is covered by one or more of the following patents: # US6,570,884, US6,115,776, and US6,327,625. ################################################################################ +LINUX_VERSION := $(shell expr $(VERSION) \* 256 + $(PATCHLEVEL)) +LINUX_VERSION_6_9 := $(shell expr 6 \* 256 + 9) + +# Use dummy R8126 driver for K69 and later +ifeq ($(shell test $(LINUX_VERSION) -ge $(LINUX_VERSION_6_9); echo $$?),0) +obj-m := r8126.o +r8168-objs := r8126_dummy.o +else CONFIG_SOC_LAN = n ENABLE_REALWOW_SUPPORT = n @@ -131,3 +139,5 @@ endif ifeq ($(ENABLE_RX_PACKET_FRAGMENT), y) EXTRA_CFLAGS += -DENABLE_RX_PACKET_FRAGMENT endif + +endif diff --git a/drivers/net/ethernet/realtek/r8126/r8126_dummy.c b/drivers/net/ethernet/realtek/r8126/r8126_dummy.c new file mode 100644 index 00000000..62469714 --- /dev/null +++ b/drivers/net/ethernet/realtek/r8126/r8126_dummy.c @@ -0,0 +1,15 @@ +// SPDX-License-Identifier: GPL-2.0-only +// SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. + +#include + +/* Dummy implementation for module */ +static int __init r8126_dummy_dummy_init(void) +{ + return 0; +} +device_initcall(r8126_dummy_dummy_init); + +MODULE_AUTHOR("Laxman Dewangan "); +MODULE_DESCRIPTION("Dummy R8126 dummy driver"); +MODULE_LICENSE("GPL");