public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: net-misc/r8125/files/, net-misc/r8125/
@ 2022-04-24  7:40 Joonas Niilola
  0 siblings, 0 replies; 2+ messages in thread
From: Joonas Niilola @ 2022-04-24  7:40 UTC (permalink / raw
  To: gentoo-commits

commit:     1ab7a6af57556b2c20749d363d1980cf47458be3
Author:     Karlson2k (Evgeny Grin) <k2k <AT> narod <DOT> ru>
AuthorDate: Tue Apr 19 06:58:44 2022 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Sun Apr 24 07:38:43 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1ab7a6af

net-misc/r8125: 9.008.00: fixed build with Linux Kernel 5.17.x

No revbump, no need to rebuild if module works.

Closes: https://bugs.gentoo.org/839282
Signed-off-by: Karlson2k (Evgeny Grin) <k2k <AT> narod.ru>
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 .../r8125/files/r8125-9.008.00-linux-5.17.patch    | 115 +++++++++++++++++++++
 net-misc/r8125/r8125-9.008.00.ebuild               |   4 +
 2 files changed, 119 insertions(+)

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.008.00.ebuild b/net-misc/r8125/r8125-9.008.00.ebuild
index a028be892582..8ea07b7634bc 100644
--- a/net-misc/r8125/r8125-9.008.00.ebuild
+++ b/net-misc/r8125/r8125-9.008.00.ebuild
@@ -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."
 


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-misc/r8125/files/, net-misc/r8125/
@ 2023-04-15 12:41 Joonas Niilola
  0 siblings, 0 replies; 2+ messages in thread
From: Joonas Niilola @ 2023-04-15 12:41 UTC (permalink / raw
  To: gentoo-commits

commit:     b82711c3408a300773ef144af00193128b64d836
Author:     Karlson2k (Evgeny Grin) <k2k <AT> narod <DOT> ru>
AuthorDate: Mon Apr  3 15:31:54 2023 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Sat Apr 15 12:41:15 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b82711c3

net-misc/r8125: New upstream version 9.011.00

Closes: https://bugs.gentoo.org/890716
Signed-off-by: Karlson2k (Evgeny Grin) <k2k <AT> narod.ru>
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 net-misc/r8125/Manifest                            |  1 +
 .../r8125/files/r8125-9.011.00-linux-6.1.patch     | 28 +++++++++++++++
 net-misc/r8125/r8125-9.011.00.ebuild               | 41 ++++++++++++++++++++++
 3 files changed, 70 insertions(+)

diff --git a/net-misc/r8125/Manifest b/net-misc/r8125/Manifest
index 4d4d53475a11..56ef9e521565 100644
--- a/net-misc/r8125/Manifest
+++ b/net-misc/r8125/Manifest
@@ -1,3 +1,4 @@
 DIST r8125-9.008.00.tar.bz2 89622 BLAKE2B d1106086d1bca53484f8536072cddd506087b5d49983cbb91e921e86674c074b38c8a01cb51d2ea5793d8ffbff6e97ab05e48720ff00a805c4096a1d62a0cc30 SHA512 ff740a49fcc94b3de826f6299c489ed3f92ba9123ca2b2fe3c9035eecd16d518b6a4e6c2fa2531bb670c52097a52a0fb2fdf71b721efb20c83bb59d94d99c6c6
 DIST r8125-9.009.01.tar.bz2 89897 BLAKE2B 65f64f504cedc7244bdae10fd1638e031eb103f562cd71d32b5f36b15541704086df8cea16829b289e8be61bacf3de559616884d1672a4d6b8e47211816de8d3 SHA512 8b717447e2048df0d88d8350da2edb58f704e893498fbebea4aa2a3ac45ea050d70e73e78d41ab94562228b9c01e6fe59810c501c5bb880db446c05b9b6aee0d
 DIST r8125-9.009.02.tar.bz2 89916 BLAKE2B 2dd8ad226f8ad9dd4e6646cdce66f0c12a6a657aa39c6e91892f410780ed245046fc94f247939958db7b950aa045e011716ecd7f6ebb6099ca3d9ffc54cfd0de SHA512 29bfe60410727f09b004f172e5046292eff511dfca5af8a21c24719e4068925103ba12af0ce808316ef206b329ce886693e7330c1c68d8e77fc50ab40bd7dcfe
+DIST r8125-9.011.00.tar.bz2 98082 BLAKE2B 306a4fc36149986a24d73cfc3f78e2494a71977640cf7676ae17c2d4f5cff1bf3f5a7ca209fa83bb43a8770acbdc45290b29bbbacc418518271ac316bef9cdd1 SHA512 c2efce2d01025d5dbbd3552390e157b0859ee7ea4e9200d44af61efd7531362bd9f754b5728c89aa2c287915f99492c84c52ee11eec1a4d759bf4228ca75a6c4

diff --git a/net-misc/r8125/files/r8125-9.011.00-linux-6.1.patch b/net-misc/r8125/files/r8125-9.011.00-linux-6.1.patch
new file mode 100644
index 000000000000..343ab8ccf125
--- /dev/null
+++ b/net-misc/r8125/files/r8125-9.011.00-linux-6.1.patch
@@ -0,0 +1,28 @@
+From cc2a99963b0039573464816f0cf86803381d5f11 Mon Sep 17 00:00:00 2001
+From: Evgeny Grin <k2k@narod.ru>
+Date: Mon, 3 Apr 2023 16:46:39 +0300
+Subject: [PATCH] Fixed compatibility with Linux kernel versions >= 6.1
+
+---
+ src/r8125.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/r8125.h b/src/r8125.h
+index 9eac0eb..4a29116 100644
+--- a/src/r8125.h
++++ b/src/r8125.h
+@@ -676,7 +676,11 @@ typedef int *napi_budget;
+ typedef struct napi_struct *napi_ptr;
+ typedef int napi_budget;
+ 
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,1,0)
++#define RTL_NAPI_CONFIG(ndev, priv, function, weight)   netif_napi_add_weight(ndev, &priv->napi, function, weight)
++#else  // LINUX_VERSION_CODE < KERNEL_VERSION(6,1,0)
+ #define RTL_NAPI_CONFIG(ndev, priv, function, weight)   netif_napi_add(ndev, &priv->napi, function, weight)
++#endif // LINUX_VERSION_CODE < KERNEL_VERSION(6,1,0)
+ #define RTL_NAPI_QUOTA(budget, ndev)            min(budget, budget)
+ #define RTL_GET_PRIV(stuct_ptr, priv_struct)        container_of(stuct_ptr, priv_struct, stuct_ptr)
+ #define RTL_GET_NETDEV(priv_ptr)            struct net_device *dev = priv_ptr->dev;
+-- 
+2.40.0
+

diff --git a/net-misc/r8125/r8125-9.011.00.ebuild b/net-misc/r8125/r8125-9.011.00.ebuild
new file mode 100644
index 000000000000..0714e4b6d50a
--- /dev/null
+++ b/net-misc/r8125/r8125-9.011.00.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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"
+
+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"
+
+PATCHES=(
+	"${FILESDIR}/${P}-linux-6.1.patch" # bug 890714
+)
+
+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)"
+	BUILD_PARAMS+=" ENABLE_PAGE_REUSE=y ENABLE_RX_PACKET_FRAGMENT=y"
+}
+
+src_install() {
+	linux-mod_src_install
+	einstalldocs
+}


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-04-15 12:41 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-04-24  7:40 [gentoo-commits] repo/gentoo:master commit in: net-misc/r8125/files/, net-misc/r8125/ Joonas Niilola
  -- strict thread matches above, loose matches on Subject: below --
2023-04-15 12:41 Joonas Niilola

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox