Initial commit
This commit is contained in:
6
.gitignore
vendored
Normal file
6
.gitignore
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
/BUILD/
|
||||||
|
/BUILDROOT/
|
||||||
|
/RPMS/
|
||||||
|
/SOURCES/
|
||||||
|
/SRPMS/
|
||||||
|
*.tar.gz
|
||||||
28
0001-core-Omit-no_llseek-reference.patch
Normal file
28
0001-core-Omit-no_llseek-reference.patch
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
From 73e2c845360e543a2d3cf85d7a8a0f68688903fe Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Dustin C. Hatch" <dustin@hatch.name>
|
||||||
|
Date: Wed, 6 Aug 2025 15:25:15 -0500
|
||||||
|
Subject: [PATCH 1/2] core: Omit no_llseek reference
|
||||||
|
|
||||||
|
Linux removed the `no_llseek` symbol in 6.12. Before that, it was
|
||||||
|
defined as `NULL` and unused.
|
||||||
|
---
|
||||||
|
src/gasket_core.c | 2 ++
|
||||||
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/gasket_core.c b/src/gasket_core.c
|
||||||
|
index b1c2726..5402e2a 100644
|
||||||
|
--- a/src/gasket_core.c
|
||||||
|
+++ b/src/gasket_core.c
|
||||||
|
@@ -1373,7 +1373,9 @@ static long gasket_ioctl(struct file *filp, uint cmd, ulong arg)
|
||||||
|
/* File operations for all Gasket devices. */
|
||||||
|
static const struct file_operations gasket_file_ops = {
|
||||||
|
.owner = THIS_MODULE,
|
||||||
|
+#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 0, 0)
|
||||||
|
.llseek = no_llseek,
|
||||||
|
+#endif
|
||||||
|
.mmap = gasket_mmap,
|
||||||
|
.open = gasket_open,
|
||||||
|
.release = gasket_release,
|
||||||
|
--
|
||||||
|
2.50.1
|
||||||
|
|
||||||
30
0002-Update-gasket_page_table.c-Fix-MODULE_IMPORT_NS.patch
Normal file
30
0002-Update-gasket_page_table.c-Fix-MODULE_IMPORT_NS.patch
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
From 5c44ecd24c80b15a32381148ecb923a6ed313f89 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gergely Szell <sethyx@gmail.com>
|
||||||
|
Date: Sun, 20 Jul 2025 10:03:55 +0200
|
||||||
|
Subject: [PATCH 2/2] Update gasket_page_table.c: Fix MODULE_IMPORT_NS
|
||||||
|
|
||||||
|
---
|
||||||
|
src/gasket_page_table.c | 6 +++++-
|
||||||
|
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/gasket_page_table.c b/src/gasket_page_table.c
|
||||||
|
index c9067cb..1c4705e 100644
|
||||||
|
--- a/src/gasket_page_table.c
|
||||||
|
+++ b/src/gasket_page_table.c
|
||||||
|
@@ -54,8 +54,12 @@
|
||||||
|
#include <linux/vmalloc.h>
|
||||||
|
|
||||||
|
#if __has_include(<linux/dma-buf.h>)
|
||||||
|
+#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 13, 0)
|
||||||
|
MODULE_IMPORT_NS(DMA_BUF);
|
||||||
|
-#endif
|
||||||
|
+#else
|
||||||
|
+MODULE_IMPORT_NS("DMA_BUF");
|
||||||
|
+#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(6, 13, 0) */
|
||||||
|
+#endif /* __has_include(<linux/dma-buf.h>) */
|
||||||
|
|
||||||
|
#include "gasket_constants.h"
|
||||||
|
#include "gasket_core.h"
|
||||||
|
--
|
||||||
|
2.50.1
|
||||||
|
|
||||||
51
gasket-driver.spec
Normal file
51
gasket-driver.spec
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
%global git_revision 5815ee3
|
||||||
|
%global git_revision_full 5815ee3908a46a415aac616ac7b9aedcb98a504c
|
||||||
|
|
||||||
|
%global kernel_ver %(rpm -q --qf %{VERSION}-%{RELEASE} kernel-devel)
|
||||||
|
|
||||||
|
%define _debugsource_template %{nil}
|
||||||
|
|
||||||
|
Name: gasket-driver
|
||||||
|
Version: 0.0.git%{git_revision}
|
||||||
|
Release: 1
|
||||||
|
Summary: The Coral Gasket Driver allows usage of the Coral EdgeTPU on Linux systems
|
||||||
|
|
||||||
|
License: GPL-2.0
|
||||||
|
URL: https://github.com/google/gasket-driver/
|
||||||
|
Source0: %{name}-%{git_revision_full}.tar.gz
|
||||||
|
Patch0: 0001-core-Omit-no_llseek-reference.patch
|
||||||
|
Patch1: 0002-Update-gasket_page_table.c-Fix-MODULE_IMPORT_NS.patch
|
||||||
|
|
||||||
|
BuildRequires: kernel-devel
|
||||||
|
Requires: kernel-core == %{kernel_ver}
|
||||||
|
Requires(post): kmod
|
||||||
|
|
||||||
|
%description
|
||||||
|
The Coral Gasket Driver allows usage of the Coral EdgeTPU on Linux systems. The driver contains two modules:
|
||||||
|
|
||||||
|
Gasket: Gasket (Google ASIC Software, Kernel Extensions, and Tools) is a top level driver for lightweight communication with Google ASICs.
|
||||||
|
Apex: Apex refers to the EdgeTPU v1
|
||||||
|
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -n %{name}-%{git_revision_full} -p1
|
||||||
|
|
||||||
|
|
||||||
|
%build
|
||||||
|
make -C /usr/src/kernels/%{kernel_ver}.%{_arch} M=${PWD}/src modules
|
||||||
|
|
||||||
|
|
||||||
|
%install
|
||||||
|
make -C /usr/src/kernels/%{kernel_ver}.%{_arch} M=${PWD}/src INSTALL_MOD_PATH="${RPM_BUILD_ROOT}" DEPMOD=true modules_install
|
||||||
|
|
||||||
|
%post
|
||||||
|
depmod -a %{kernel_ver}.%{_arch}
|
||||||
|
|
||||||
|
|
||||||
|
%files
|
||||||
|
/lib/modules/%{kernel_ver}.%{_arch}/updates/*.ko
|
||||||
|
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Wed Aug 06 2025 Dustin C. Hatch <dustin@hatch.name> [0.0.git5815ee3-1]
|
||||||
|
- Initial package
|
||||||
Reference in New Issue
Block a user