Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package gasket-driver for openSUSE:Factory 
checked in at 2023-07-25 11:49:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gasket-driver (Old)
 and      /work/SRC/openSUSE:Factory/.gasket-driver.new.1467 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gasket-driver"

Tue Jul 25 11:49:14 2023 rev:2 rq:1099604 version:1.0.18

Changes:
--------
--- /work/SRC/openSUSE:Factory/gasket-driver/gasket-driver.changes      
2023-05-13 17:17:57.774492150 +0200
+++ /work/SRC/openSUSE:Factory/.gasket-driver.new.1467/gasket-driver.changes    
2023-07-25 11:49:15.200802595 +0200
@@ -1,0 +2,5 @@
+Wed Jul 19 23:18:19 UTC 2023 - Chris Bradbury <opens...@chrbrd.com>
+
+- Add `fix-kernel-gte-6.4.patch`. 
+
+-------------------------------------------------------------------

New:
----
  fix-kernel-gte-6.4.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gasket-driver.spec ++++++
--- /var/tmp/diff_new_pack.vWBJD8/_old  2023-07-25 11:49:18.436821543 +0200
+++ /var/tmp/diff_new_pack.vWBJD8/_new  2023-07-25 11:49:18.440821566 +0200
@@ -11,8 +11,10 @@
 # case the license is the MIT License). An "Open Source License" is a
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
-#
+
 # Please submit bugfixes or comments via https://bugs.opensuse.org/
+#
+
 
 #===
 # Packaging Notes:
@@ -43,8 +45,8 @@
 Source2:        preamble
 Source3:        gasket-driver-rpmlintrc
 BuildRequires:  %kernel_module_package_buildreqs
-BuildRequires:  sysuser-tools
 BuildRequires:  pesign-obs-integration
+BuildRequires:  sysuser-tools
 Requires:       %{name}-kmp
 %sysusers_requires
 
@@ -59,6 +61,15 @@
 # PATCH-FIX-OPENSUSE fix-for-backported-dma-buf-ns.patch 
gh#google/gasket-driver!10
 Patch0: fix-for-backported-dma-buf-ns.patch
 
+# The function signature for `class_create()` was changed in kernels >= 6.4.x 
to only accept a
+# single argument (see kernel commit #dcfbb67).
+# This patch conditionally modifies how `class_create()` is called depending 
on the kernel version.
+# See:
+# https://github.com/google/gasket-driver/pull/13
+# 
https://github.com/google/gasket-driver/commit/83cbe8264fc63511e4e6250f2426749951a340c8.patch
+# PATCH-FIX-OPENSUSE fix-kernel-gte-6.4.patch gh#google/gasket-driver!13
+Patch1:         fix-kernel-gte-6.4.patch
+
 # This directive instructs the build service to temporarily save the project's
 # certificate as %%_sourcedir/_projectcert.crt. See:
 # https://github.com/openSUSE/pesign-obs-integration
@@ -79,8 +90,13 @@
   for lightweight communication with Google ASICs.
 - Apex refers to the EdgeTPU v1.
 
+
+
+
+
 # This magic "KMP" subpackage is documented in 
 # https://en.opensuse.org/Kernel_Module_Packages#Specfile_mechanisms
+
 %package KMP
 Summary:        Gasket Driver kernel modules  
 Group:          System/Kernel
@@ -98,6 +114,9 @@
 %patch0 -p1
 %endif
 
+# Apply patches without conditions.
+%patch1 -p1
+
 %build
 # Build the kernel modules.
 for flavor in %flavors_to_build; do

++++++ fix-kernel-gte-6.4.patch ++++++
>From 83cbe8264fc63511e4e6250f2426749951a340c8 Mon Sep 17 00:00:00 2001
From: Chris Bradbury <ch...@binaryspanner.com>
Date: Fri, 14 Jul 2023 18:55:56 +0100
Subject: [PATCH] Amend use of `class_create()` for kernels >= 6.4

The function signature for `class_create()` was changed in kernels >= 6.4.x to 
only accept a single argument (see kernel commit #dcfbb67).

This change will conditionally modify how `class_create()` is called depending 
on the kernel version.
---
 src/gasket_core.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/gasket_core.c b/src/gasket_core.c
index 139616b..b1c2726 100644
--- a/src/gasket_core.c
+++ b/src/gasket_core.c
@@ -27,6 +27,7 @@
 #include <linux/platform_device.h>
 #include <linux/printk.h>
 #include <linux/sched.h>
+#include <linux/version.h>
 
 #ifdef GASKET_KERNEL_TRACE_SUPPORT
 #define CREATE_TRACE_POINTS
@@ -1837,8 +1838,15 @@ int gasket_register_device(const struct 
gasket_driver_desc *driver_desc)
        internal = &g_descs[desc_idx];
        mutex_init(&internal->mutex);
        memset(internal->devs, 0, sizeof(struct gasket_dev *) * GASKET_DEV_MAX);
-       internal->class =
-               class_create(driver_desc->module, driver_desc->name);
+
+    /* Function signature for `class_create()` is changed in kernel >= 6.4.x
+     * to only accept a single argument.
+     * */
+#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0)
+    internal->class = class_create(driver_desc->module, driver_desc->name);
+#else
+    internal->class = class_create(driver_desc->name);
+#endif
 
        if (IS_ERR(internal->class)) {
                pr_err("Cannot register %s class [ret=%ld]\n",

Reply via email to