diff options
author | Jason Yip | 2023-05-06 19:32:31 -0500 |
---|---|---|
committer | Jason Yip | 2023-05-06 19:32:31 -0500 |
commit | df1a4740ddc9d592bbdefe736fd074e438c05fcc (patch) | |
tree | 8fdcb13b5cd798579233bf07fe6b5d21a3b0964a | |
parent | 1a9d28a90187af8a8c6af07455223dd4b1796350 (diff) | |
download | aur-df1a4740ddc9d592bbdefe736fd074e438c05fcc.tar.gz |
[UPDATE]: Patch now works for all kernel versions
-rw-r--r-- | .SRCINFO | 4 | ||||
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | PKGBUILD | 8 | ||||
-rw-r--r-- | linux-6.3-rc2.patch | 52 |
4 files changed, 48 insertions, 18 deletions
@@ -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*.*.*/ @@ -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); |