summaryrefslogtreecommitdiff
path: root/net-misc/r8125
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-05-12 16:42:50 +0300
committerV3n3RiX <venerix@koprulu.sector>2022-05-12 16:42:50 +0300
commit752d6256e5204b958b0ef7905675a940b5e9172f (patch)
tree330d16e6362a49cbed8875a777fe641a43376cd3 /net-misc/r8125
parent0c100b7dd2b30e75b799d806df4ef899fd98e1ea (diff)
gentoo resync : 12.05.2022
Diffstat (limited to 'net-misc/r8125')
-rw-r--r--net-misc/r8125/Manifest5
-rw-r--r--net-misc/r8125/files/r8125-9.008.00-linux-5.17.patch115
-rw-r--r--net-misc/r8125/r8125-9.007.01.ebuild38
-rw-r--r--net-misc/r8125/r8125-9.008.00.ebuild6
4 files changed, 122 insertions, 42 deletions
diff --git a/net-misc/r8125/Manifest b/net-misc/r8125/Manifest
index 920b7954e60e..95944c164d5b 100644
--- a/net-misc/r8125/Manifest
+++ b/net-misc/r8125/Manifest
@@ -1,5 +1,4 @@
-DIST r8125-9.007.01.tar.bz2 88973 BLAKE2B fda3be9bded138bb6ee6b131c4d89d2dc777153eb1d003f11803d412d28957c944f220452762ca92ebb1cbfe2d5e7bdc0f9944517a0bb58ed0f3f112986c21ee SHA512 753c328d5a962366ea1bd495ca3860309bc6ff8b2f3fb367a9f184441dd7c507d0eb4d63cc9b23851d0287e75ad2d602caee5ffed911691349cf8d0f37477a5c
+AUX r8125-9.008.00-linux-5.17.patch 4449 BLAKE2B d00d43f1efae664d02a5c8e7fb6716114bd6cc1b78a5b94f99ea72400f9e9c776eaed60c5dc0593b32857e73aa27883e971b570e7b561cad4b85db1d706194b1 SHA512 a3459c78d55561ae703977e147965b04aa854eff1035c273a703936e6f069d5d501c91cf1db746d0ef93dbfe61c3d28b5d35be34a4982fcbe9f0c42d9204b1bf
DIST r8125-9.008.00.tar.bz2 89622 BLAKE2B d1106086d1bca53484f8536072cddd506087b5d49983cbb91e921e86674c074b38c8a01cb51d2ea5793d8ffbff6e97ab05e48720ff00a805c4096a1d62a0cc30 SHA512 ff740a49fcc94b3de826f6299c489ed3f92ba9123ca2b2fe3c9035eecd16d518b6a4e6c2fa2531bb670c52097a52a0fb2fdf71b721efb20c83bb59d94d99c6c6
-EBUILD r8125-9.007.01.ebuild 1264 BLAKE2B c5d1f14d0407c63f45c2182aaaf593ded862d2e0c806a2eba3ba74b1b479ab571d11f322a6e62dda4f83cd974eb8dd5d1f068b65658ff488b3096b94091520d2 SHA512 5b1ec0229839cbd06c690546320752e04f43b54f8b62b1de329691cb5222905fb4c6cf80483adb09239d9c4fe6f8cb6fd22f995debbcc4fbe24d7b274d24364b
-EBUILD r8125-9.008.00.ebuild 1266 BLAKE2B 2dba10ff4639ea88b418bf1f96404f9265633138f3ffcc5af68fcc31326f108b24d1f40e8b1269013fc7d520f62b2b5bc5ca5ebb612ee5acf1c0a9d03f0572e1 SHA512 63abe0979940d437e11d3cd5e426470e3bcc56e2f53195001338b17fecad6fa76d737c8793c75246cad5b9a4a0d83309aa3fe5ab26632caab23d1e5cec709c8e
+EBUILD r8125-9.008.00.ebuild 1339 BLAKE2B f2c89508a6f3342eb2a55dca67a43e08da455a9d816ca70ea61dfe557c60676ed74423d5da8b1ab2e417da4ccefe42467d6a807f21a06b296e5f16177b68be9d SHA512 2933786074e2524225d3ecbb641e48b51bf593cbeef76ef18c26e6a74be004b67a8de77f81abbe0016d151239716e697c9783a709eca901b1d7e377491e38527
MISC metadata.xml 840 BLAKE2B 6fa88a6b1b49f0abd18ca64abf2ab93a04e89d51c66ebb602ca5070c56723fbe79e4a0fcfa49b4cc90e3ec904730c8e39b1a2159fcae0f036035d5696537a5a4 SHA512 f15e195ac564002f169610c0490f1f377716260e758241d5228a3b6c7d481de135c03a4da1e5c2eb121e4539a2abceabc3a4e1d26d8d987e093b981dd6eaea9f
diff --git a/net-misc/r8125/files/r8125-9.008.00-linux-5.17.patch b/net-misc/r8125/files/r8125-9.008.00-linux-5.17.patch
new file mode 100644
index 000000000000..1a4afdb31bea
--- /dev/null
+++ b/net-misc/r8125/files/r8125-9.008.00-linux-5.17.patch
@@ -0,0 +1,115 @@
+Added compatibility with Linux Kernel 5.17+.
+
+Author: Karlson2k (Evgeny Grin)
+Gentoo bug: https://bugs.gentoo.org/839282
+
+diff --git a/src/r8125_n.c b/src/r8125_n.c
+--- a/src/r8125_n.c
++++ b/src/r8125_n.c
+@@ -349,7 +349,7 @@ static int rtl8125_change_mtu(struct net_device *dev, int new_mtu);
+ static void rtl8125_down(struct net_device *dev);
+
+ static int rtl8125_set_mac_address(struct net_device *dev, void *p);
+-static void rtl8125_rar_set(struct rtl8125_private *tp, uint8_t *addr);
++static void rtl8125_rar_set(struct rtl8125_private *tp, const uint8_t *addr);
+ static void rtl8125_desc_addr_fill(struct rtl8125_private *);
+ static void rtl8125_tx_desc_init(struct rtl8125_private *tp);
+ static void rtl8125_rx_desc_init(struct rtl8125_private *tp);
+@@ -1750,7 +1750,13 @@ static void rtl8125_proc_module_init(void)
+ static int rtl8125_proc_open(struct inode *inode, struct file *file)
+ {
+ struct net_device *dev = proc_get_parent_data(inode);
+- int (*show)(struct seq_file *, void *) = PDE_DATA(inode);
++ int (*show)(struct seq_file *, void *) =
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,17,0)
++ PDE_DATA(inode);
++#else
++ pde_data(inode);
++#endif
++
+
+ return single_open(file, show, dev);
+ }
+@@ -5234,8 +5240,15 @@ rtl8125_set_ring_size(struct rtl8125_private *tp, u32 rx, u32 tx)
+ }
+
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,17,0)
+ static void rtl8125_get_ringparam(struct net_device *dev,
+ struct ethtool_ringparam *ring)
++#else
++static void rtl8125_get_ringparam(struct net_device* dev,
++ struct ethtool_ringparam* ring,
++ struct kernel_ethtool_ringparam* kernel_ring,
++ struct netlink_ext_ack* extack)
++#endif
+ {
+ struct rtl8125_private *tp = netdev_priv(dev);
+
+@@ -5245,8 +5258,15 @@ static void rtl8125_get_ringparam(struct net_device *dev,
+ ring->tx_pending = tp->tx_ring[0].num_tx_desc;
+ }
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,17,0)
+ static int rtl8125_set_ringparam(struct net_device *dev,
+ struct ethtool_ringparam *ring)
++#else
++static int rtl8125_set_ringparam(struct net_device* dev,
++ struct ethtool_ringparam* ring,
++ struct kernel_ethtool_ringparam* kernel_ring,
++ struct netlink_ext_ack* extack)
++#endif
+ {
+ struct rtl8125_private *tp = netdev_priv(dev);
+ u32 new_rx_count, new_tx_count;
+@@ -10889,6 +10909,9 @@ rtl8125_get_mac_address(struct net_device *dev)
+ struct rtl8125_private *tp = netdev_priv(dev);
+ int i;
+ u8 mac_addr[MAC_ADDR_LEN];
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,17,0)
++ u8 addr[ETH_ALEN];
++#endif
+
+ for (i = 0; i < MAC_ADDR_LEN; i++)
+ mac_addr[i] = RTL_R8(tp, MAC0 + i);
+@@ -10916,9 +10939,17 @@ rtl8125_get_mac_address(struct net_device *dev)
+ rtl8125_rar_set(tp, mac_addr);
+
+ for (i = 0; i < MAC_ADDR_LEN; i++) {
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,17,0)
+ dev->dev_addr[i] = RTL_R8(tp, MAC0 + i);
+ tp->org_mac_addr[i] = dev->dev_addr[i]; /* keep the original MAC address */
++#else
++ addr[i] = RTL_R8(tp, MAC0 + i);
++ tp->org_mac_addr[i] = addr[i]; /* keep the original MAC address */
++#endif
+ }
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,17,0)
++ eth_hw_addr_set(dev, addr);
++#endif
+ #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,13)
+ memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len);
+ #endif
+@@ -10944,7 +10975,11 @@ rtl8125_set_mac_address(struct net_device *dev,
+ if (!is_valid_ether_addr(addr->sa_data))
+ return -EADDRNOTAVAIL;
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,17,0)
+ memcpy(dev->dev_addr, addr->sa_data, dev->addr_len);
++#else
++ eth_hw_addr_set(dev, addr->sa_data);
++#endif
+
+ rtl8125_rar_set(tp, dev->dev_addr);
+
+@@ -10959,7 +10994,7 @@ rtl8125_set_mac_address(struct net_device *dev,
+ *****************************************************************************/
+ void
+ rtl8125_rar_set(struct rtl8125_private *tp,
+- uint8_t *addr)
++ const uint8_t *addr)
+ {
+ uint32_t rar_low = 0;
+ uint32_t rar_high = 0;
+
+
diff --git a/net-misc/r8125/r8125-9.007.01.ebuild b/net-misc/r8125/r8125-9.007.01.ebuild
deleted file mode 100644
index 7389ba42cca3..000000000000
--- a/net-misc/r8125/r8125-9.007.01.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit linux-info linux-mod
-
-DESCRIPTION="r8125 vendor driver for Realtek RTL8125 PCI-E NICs"
-HOMEPAGE="https://www.realtek.com/en/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-pci-express-software"
-
-# The alternative direct URL for the file from the link above with description
-# "2.5G Ethernet LINUX driver r8125 for kernel up to 5.6" to avoid CAPTCHA
-SRC_URI="http://rtitwww.realtek.com/rtdrivers/cn/nic1/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-MODULE_NAMES="r8125(net:${S}/src)"
-BUILD_TARGETS="modules"
-IUSE="multi-tx-q ptp rss use-firmware"
-
-CONFIG_CHECK="~!R8169"
-WARNING_R8169="CONFIG_R8169 is enabled. ${PN} will not be loaded unless kernel driver Realtek 8169 PCI Gigabit Ethernet (CONFIG_R8169) is DISABLED."
-
-pkg_setup() {
- linux-mod_pkg_setup
- BUILD_PARAMS="KERNELDIR=${KV_DIR}"
- BUILD_PARAMS+=" ENABLE_PTP_SUPPORT=$(usex ptp y n)"
- BUILD_PARAMS+=" ENABLE_RSS_SUPPORT=$(usex rss y n)"
- BUILD_PARAMS+=" ENABLE_MULTIPLE_TX_QUEUE=$(usex multi-tx-q y n)"
- BUILD_PARAMS+=" ENABLE_USE_FIRMWARE_FILE=$(usex use-firmware y n)"
-}
-
-src_install() {
- linux-mod_src_install
- einstalldocs
-}
diff --git a/net-misc/r8125/r8125-9.008.00.ebuild b/net-misc/r8125/r8125-9.008.00.ebuild
index a028be892582..7b0093e09b81 100644
--- a/net-misc/r8125/r8125-9.008.00.ebuild
+++ b/net-misc/r8125/r8125-9.008.00.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit linux-info linux-mod
@@ -20,6 +20,10 @@ MODULE_NAMES="r8125(net:${S}/src)"
BUILD_TARGETS="modules"
IUSE="+multi-tx-q ptp +rss use-firmware"
+PATCHES=(
+ "${FILESDIR}/${PN}-9.008.00-linux-5.17.patch" # bug 839282
+)
+
CONFIG_CHECK="~!R8169"
WARNING_R8169="CONFIG_R8169 is enabled. ${PN} will not be loaded unless kernel driver Realtek 8169 PCI Gigabit Ethernet (CONFIG_R8169) is DISABLED."