Unverified Commit d9da6cda authored by Sandro Jäckel's avatar Sandro Jäckel Committed by GitHub
Browse files

linuxPackages.yt6801: 1.0.29-20240812 -> 1.0.30-20250430; fix build (#430555)

parents c725419c 85a69036
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -12,7 +12,7 @@ let
in
stdenv.mkDerivation (finalAttrs: {
  pname = "yt6801";
  version = "1.0.29-20240812";
  version = "1.0.30-20250430";

  src =
    let
@@ -23,13 +23,17 @@ stdenv.mkDerivation (finalAttrs: {
    fetchzip {
      stripRoot = false;
      url = "https://www.motor-comm.com/Public/Uploads/uploadfile/files/${uploadDate}/yt6801-linux-driver-${versionName}.zip";
      sha256 = "sha256-oz6CeOUN6QWKXxe3WUZljhGDTFArsknjzBuQ4IchGeU=";
      sha256 = "sha256-6HeU3bbTaKOCy3X+nMpC9/bBc+0c4Ip5TdG+LGUGTKk=";
    };

  nativeBuildInputs = kernel.moduleBuildDependencies ++ [ kmod ];

  patches = lib.optionals (lib.versionAtLeast kernel.version "6.15") [
  patches =
    lib.optionals (lib.versionAtLeast kernel.version "6.15") [
      ./kernel_6.15_fix.patch
    ]
    ++ lib.optionals (lib.versionAtLeast kernel.version "6.16") [
      ./kernel_6_16_fix.patch
    ];

  postPatch = ''
+33 −0
Original line number Diff line number Diff line
--- a/src/fuxi-gmac-phy.c	2025-08-03 00:00:00.000000000 +0000
+++ b/src/fuxi-gmac-phy.c	2025-08-03 00:00:00.000000000 +0000
@@ -322,8 +322,10 @@
 static void fxgmac_phy_link_poll(unsigned long data)
 #endif
 {
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6,16,0))
+    struct fxgmac_pdata *pdata = container_of(t, struct fxgmac_pdata, expansion.phy_poll_tm);
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0))
     struct fxgmac_pdata *pdata = from_timer(pdata, t, expansion.phy_poll_tm);
 #else
     struct fxgmac_pdata *pdata = (struct fxgmac_pdata*)data;
 #endif
@@ -350,13 +352,17 @@

 int fxgmac_phy_timer_init(struct fxgmac_pdata *pdata)
 {
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6,16,0))
+    timer_setup(&pdata->expansion.phy_poll_tm, fxgmac_phy_link_poll, 0);
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0))
     init_timer_key(&pdata->expansion.phy_poll_tm, NULL, 0, "fuxi_phy_link_update_timer", NULL);
 #else
     init_timer_key(&pdata->expansion.phy_poll_tm, 0, "fuxi_phy_link_update_timer", NULL);
 #endif
     pdata->expansion.phy_poll_tm.expires = jiffies + HZ / 2;
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(6,16,0))
     pdata->expansion.phy_poll_tm.function = (void *)(fxgmac_phy_link_poll);
+#endif
 #if (LINUX_VERSION_CODE < KERNEL_VERSION(4,15,0))
     pdata->expansion.phy_poll_tm.data = (unsigned long)pdata;
 #endif