diff --git a/package/kernel/r8168 b/package/kernel/r8168 new file mode 160000 index 000000000..1f9ab844d --- /dev/null +++ b/package/kernel/r8168 @@ -0,0 +1 @@ +Subproject commit 1f9ab844df85d4a0737f88426b09f3df74590ba2 diff --git a/package/lean/r8168/Makefile b/package/lean/r8168/Makefile deleted file mode 100644 index 1ad5bbc01..000000000 --- a/package/lean/r8168/Makefile +++ /dev/null @@ -1,55 +0,0 @@ -# -# Download realtek r8168 linux driver from official site: -# [https://www.realtek.com/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-pci-express-software] -# - -include $(TOPDIR)/rules.mk -include $(INCLUDE_DIR)/kernel.mk - -PKG_NAME:=r8168 -PKG_VERSION:=8.049.02 -PKG_RELEASE:=$(AUTORELEAE) - -PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=https://github.com/BROBIRD/openwrt-r8168.git -PKG_SOURCE_DATE:=2021-10-08 -PKG_SOURCE_VERSION:=2b969c15afe403a685fc7ee069620782241e3ad6 -PKG_MIRROR_HASH:=e4632c10d460f005eff76da8a183d7ff0c8819b0d099872589b7b06a9b8d9952 - -PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) - -MAKE_PATH:=src - -include $(INCLUDE_DIR)/package.mk - -define KernelPackage/r8168 - TITLE:=Driver for Realtek r8168 chipsets - SUBMENU:=Network Devices - VERSION:=$(LINUX_VERSION)+$(PKG_VERSION)-$(BOARD)-$(PKG_RELEASE) - DEPENDS:= - FILES:= $(PKG_BUILD_DIR)/src/r8168.ko - AUTOLOAD:=$(call AutoProbe,r8168) - CONFLICTS:=kmod-r8169 -endef - -define Package/r8168/description - This package contains a driver for Realtek r8168 chipsets. -endef - -R8168_MAKEOPTS= -C $(PKG_BUILD_DIR)/src \ - PATH="$(TARGET_PATH)" \ - ARCH="$(LINUX_KARCH)" \ - CROSS_COMPILE="$(TARGET_CROSS)" \ - TARGET="$(HAL_TARGET)" \ - TOOLPREFIX="$(KERNEL_CROSS)" \ - TOOLPATH="$(KERNEL_CROSS)" \ - KERNELPATH="$(LINUX_DIR)" \ - KERNELDIR="$(LINUX_DIR)" \ - LDOPTS=" " \ - DOMULTI=1 - -define Build/Compile - $(MAKE) $(R8168_MAKEOPTS) modules -endef - -$(eval $(call KernelPackage,r8168)) diff --git a/package/lean/r8168/patches/001-r8168-add-LED-configuration-from-OF.patch b/package/lean/r8168/patches/001-r8168-add-LED-configuration-from-OF.patch deleted file mode 100644 index 62a352dd8..000000000 --- a/package/lean/r8168/patches/001-r8168-add-LED-configuration-from-OF.patch +++ /dev/null @@ -1,42 +0,0 @@ ---- a/src/r8168_n.c -+++ b/src/r8168_n.c -@@ -47,6 +47,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -23482,6 +23483,22 @@ rtl8168_set_bios_setting(struct net_devi - } - } - -+static int rtl8168_led_configuration(struct rtl8168_private *tp) -+{ -+ u32 led_data; -+ int ret; -+ -+ ret = of_property_read_u32(tp->pci_dev->dev.of_node, -+ "realtek,led-data", &led_data); -+ -+ if (ret) -+ return ret; -+ -+ RTL_W16(tp, CustomLED, led_data); -+ -+ return 0; -+} -+ - static void - rtl8168_init_software_variable(struct net_device *dev) - { -@@ -24000,6 +24017,8 @@ rtl8168_init_software_variable(struct ne - tp->NotWrMcuPatchCode = TRUE; - } - -+ rtl8168_led_configuration(tp); -+ - tp->NicCustLedValue = RTL_R16(tp, CustomLED); - - rtl8168_get_hw_wol(dev); diff --git a/package/lean/r8168/patches/002-r8168-add-support-for-kernel-over-5.10.patch b/package/lean/r8168/patches/002-r8168-add-support-for-kernel-over-5.10.patch deleted file mode 100644 index 10519448e..000000000 --- a/package/lean/r8168/patches/002-r8168-add-support-for-kernel-over-5.10.patch +++ /dev/null @@ -1,50 +0,0 @@ ---- a/src/r8168_n.c 2021-07-05 01:30:48.000000000 +0100 -+++ b/src/r8168_n.c 2022-02-02 09:13:11.165555448 +0000 -@@ -96,6 +96,10 @@ - #include - #endif - -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 17, 0)) -+#define PDE_DATA pde_data -+#endif -+ - #define FIRMWARE_8168D_1 "rtl_nic/rtl8168d-1.fw" - #define FIRMWARE_8168D_2 "rtl_nic/rtl8168d-2.fw" - #define FIRMWARE_8168E_1 "rtl_nic/rtl8168e-1.fw" -@@ -524,6 +528,12 @@ - - MODULE_VERSION(RTL8168_VERSION); - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0) -+static inline void dev_addr_mod(struct net_device *dev, unsigned int offset, const void *addr, size_t len) { -+ memcpy(&dev->dev_addr[offset], addr, len); -+} -+#endif -+ - static void rtl8168_sleep_rx_enable(struct net_device *dev); - static void rtl8168_dsm(struct net_device *dev, int dev_state); - -@@ -24146,11 +24156,13 @@ - } - - rtl8168_rar_set(tp, mac_addr); - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 17, 0) - for (i = 0; i < MAC_ADDR_LEN; i++) { - dev->dev_addr[i] = RTL_R8(tp, MAC0 + i); - tp->org_mac_addr[i] = dev->dev_addr[i]; /* keep the original MAC address */ - } -+#endif - #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,13) - memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len); - #endif -@@ -24178,9 +24190,9 @@ - return -EADDRNOTAVAIL; - - spin_lock_irqsave(&tp->lock, flags); -- -- memcpy(dev->dev_addr, addr->sa_data, dev->addr_len); -+ dev_addr_mod(dev, 0, addr->sa_data, dev->addr_len); -+ /* memcpy(dev->dev_addr, addr->sa_data, dev->addr_len);*/ - - rtl8168_rar_set(tp, dev->dev_addr);