summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Yip2023-05-06 19:32:31 -0500
committerJason Yip2023-05-06 19:32:31 -0500
commitdf1a4740ddc9d592bbdefe736fd074e438c05fcc (patch)
tree8fdcb13b5cd798579233bf07fe6b5d21a3b0964a
parent1a9d28a90187af8a8c6af07455223dd4b1796350 (diff)
downloadaur-df1a4740ddc9d592bbdefe736fd074e438c05fcc.tar.gz
[UPDATE]: Patch now works for all kernel versions
-rw-r--r--.SRCINFO4
-rw-r--r--.gitignore2
-rw-r--r--PKGBUILD8
-rw-r--r--linux-6.3-rc2.patch52
4 files changed, 48 insertions, 18 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 2c09845c3784..49c5a451fdfb 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = ddcci-driver-linux-dkms
pkgdesc = A pair of Linux kernel drivers for DDC/CI monitors (DKMS)
pkgver = 0.4.3
- pkgrel = 4
+ pkgrel = 5
url = https://gitlab.com/ddcci-driver-linux/ddcci-driver-linux/
arch = i686
arch = x86_64
@@ -12,6 +12,6 @@ pkgbase = ddcci-driver-linux-dkms
source = https://gitlab.com/ddcci-driver-linux/ddcci-driver-linux/-/archive/v0.4.3/ddcci-driver-linux-v0.4.3.tar.gz
source = linux-6.3-rc2.patch
b2sums = 71f855b8d7e4b9a1b5d38a73d4a6df7453e72600596121f68c6782f180211bd935ab30cf0cf94cc0528e8d5f732449d35b24cd9584d17083318d819b81a0b259
- b2sums = 6fc7e4329a6309f84886a15d17590f6ce933a1d047ee5e2cd5377f4587b9ad1f919cc619d16dc03f7bd5efdba69cedc1606ac8640ad747490ecc91252b013576
+ b2sums = d4b602afe040b70ab4e288807ffd06b7ee8b4d1befba749c6badc03f391dcacff41f36df7d5049030754bcb9ac1b29d99abec70fcc218fb744eb2067d55e9d79
pkgname = ddcci-driver-linux-dkms
diff --git a/.gitignore b/.gitignore
index 335ec9573de5..1b2e1ee03df9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,3 @@
*.tar.gz
+*.zst
+ddcci-driver-linux-v*.*.*/
diff --git a/PKGBUILD b/PKGBUILD
index bb0b43dc2006..f5d2ec3e0d2d 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,7 +4,7 @@
pkgname=ddcci-driver-linux-dkms
pkgver=0.4.3
-pkgrel=4
+pkgrel=5
pkgdesc="A pair of Linux kernel drivers for DDC/CI monitors (DKMS)"
arch=('i686' 'x86_64' 'aarch64')
url="https://gitlab.com/ddcci-driver-linux/ddcci-driver-linux/"
@@ -16,12 +16,12 @@ source=(
"linux-6.3-rc2.patch"
)
b2sums=('71f855b8d7e4b9a1b5d38a73d4a6df7453e72600596121f68c6782f180211bd935ab30cf0cf94cc0528e8d5f732449d35b24cd9584d17083318d819b81a0b259'
- '6fc7e4329a6309f84886a15d17590f6ce933a1d047ee5e2cd5377f4587b9ad1f919cc619d16dc03f7bd5efdba69cedc1606ac8640ad747490ecc91252b013576')
+ 'd4b602afe040b70ab4e288807ffd06b7ee8b4d1befba749c6badc03f391dcacff41f36df7d5049030754bcb9ac1b29d99abec70fcc218fb744eb2067d55e9d79')
# by UmarJ
prepare() {
- cd "${srcdir}"
- patch --directory="ddcci-driver-linux-v${pkgver}" --strip=1 --forward --input="$(pwd)/linux-6.3-rc2.patch"
+ cd "${srcdir}/ddcci-driver-linux-v${pkgver}"
+ patch --strip=1 --forward --input="../linux-6.3-rc2.patch"
}
package() {
diff --git a/linux-6.3-rc2.patch b/linux-6.3-rc2.patch
index d372d5d89de0..349ed1c4e964 100644
--- a/linux-6.3-rc2.patch
+++ b/linux-6.3-rc2.patch
@@ -1,66 +1,94 @@
diff --unified --recursive --text a/ddcci/ddcci.c b/ddcci/ddcci.c
--- a/ddcci/ddcci.c
+++ b/ddcci/ddcci.c
-@@ -43,6 +43,7 @@
+@@ -43,6 +43,9 @@
struct bus_type ddcci_bus_type;
EXPORT_SYMBOL_GPL(ddcci_bus_type);
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 3, 0)
+static bool ddcci_bus_registered;
++#endif
/* Assert neccessary string array sizes */
#ifndef sizeof_field
-@@ -931,7 +932,7 @@
+@@ -931,7 +934,11 @@
/* DDC/CI bus */
-static int ddcci_device_uevent(struct device *dev, struct kobj_uevent_env *env)
-+static int ddcci_device_uevent(const struct device *dev, struct kobj_uevent_env *env)
++static int ddcci_device_uevent(
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 3, 0)
++ const
++#endif
++ struct device *dev, struct kobj_uevent_env *env)
{
struct ddcci_device *device = to_ddcci_device(dev);
char model[ARRAY_SIZE(device->model)];
-@@ -1011,7 +1012,7 @@
+@@ -1011,7 +1018,11 @@
kfree(device);
}
-static char *ddcci_devnode(struct device *dev,
-+static char *ddcci_devnode(const struct device *dev,
++static char *ddcci_devnode(
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 3, 0)
++ const
++#endif
++ struct device *dev,
umode_t *mode, kuid_t *uid, kgid_t *gid)
{
struct ddcci_device *device;
-@@ -1021,7 +1022,7 @@
+@@ -1021,7 +1032,11 @@
device->i2c_client->adapter->nr);
}
-static char *ddcci_dependent_devnode(struct device *dev,
-+static char *ddcci_dependent_devnode(const struct device *dev,
++static char *ddcci_dependent_devnode(
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 3, 0)
++ const
++#endif
++ struct device *dev,
umode_t *mode, kuid_t *uid, kgid_t *gid)
{
struct ddcci_device *device;
-@@ -1100,7 +1101,7 @@
+@@ -1100,7 +1115,13 @@
int ret;
/* Can't register until after driver model init */
- if (unlikely(WARN_ON(!ddcci_bus_type.p)))
-+ if (unlikely(WARN_ON(!ddcci_bus_registered)))
++ if (unlikely(WARN_ON(!
++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 3, 0)
++ ddcci_bus_type.p
++#else
++ ddcci_bus_registered
++#endif
++ )))
return -EAGAIN;
pr_debug("registering driver [%s]\n", driver->driver.name);
-@@ -1672,8 +1673,9 @@
+@@ -1672,8 +1693,15 @@
}
/* I2C probe function */
-static int ddcci_probe(struct i2c_client *client, const struct i2c_device_id *id)
-+static int ddcci_probe(struct i2c_client *client)
++static int ddcci_probe(struct i2c_client *client
++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 3, 0)
++ , const struct i2c_device_id *id)
++{
++#else
++ )
{
+ const struct i2c_device_id *id = i2c_client_get_device_id(client);
++#endif
int i, ret = -ENODEV, tmp;
unsigned char main_addr, addr;
struct ddcci_bus_drv_data *drv_data;
-@@ -1849,6 +1851,7 @@
+@@ -1849,6 +1877,9 @@
pr_err("failed to register bus 'ddcci'\n");
goto err_busreg;
}
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 3, 0)
+ ddcci_bus_registered = true;
++#endif
/* Register I2C driver */
ret = i2c_add_driver(&ddcci_driver);