Package Details: pivccu-modules-dkms 1.0.79-1

Git Clone URL: https://aur.archlinux.org/pivccu-modules-dkms.git (read-only, click to copy)
Package Base: pivccu-modules-dkms
Description: Kernel modules needed for Homematic
Upstream URL: https://github.com/alexreinert/piVCCU/
Licenses: GPL
Conflicts: pivccu-modules
Submitter: AlexanderS
Maintainer: AlexanderS
Last Packager: AlexanderS
Votes: 8
Popularity: 0.72
First Submitted: 2019-03-25 18:35 (UTC)
Last Updated: 2023-02-24 11:08 (UTC)

Dependencies (2)

Required by (0)

Sources (2)

Latest Comments

kuchenblech commented on 2023-02-23 18:13 (UTC)

@df8oe and others:

Upstream has now been fixed to work with kernel 6.1+, thus my patch below should no longer be required once the package is updated.

See: https://github.com/alexreinert/piVCCU/commit/b787f3d84b311bd3e07b0ca8f2aa63330030746e

AlexanderS commented on 2023-02-20 18:52 (UTC)

@martimcfly: dkms already depends on linux-headers (it's an optional dependency, so you might have missed that).

martimcfly commented on 2023-02-20 01:22 (UTC)

Hey Alex!

Thank's for that great package! I didn't know kernel modules can be compiled during installation.

Just a little thing had been neccessary to make it work on Pi4 aarch64. I had to install 'linux-headers' to make dkms compile the modules. For the pi I was offered taking option 1) linux-aarch64-headers.

Could you please add 'linux-headers' as a dependency?

thanks!

df8oe commented on 2023-01-07 10:44 (UTC)

I can confirm the patch of @kuchenblech works for me (kernel 6.1.3-2-rpi-ARCH), too. In addition I am running aarch64 architecture - you can add this architecture.

kuchenblech commented on 2023-01-06 21:19 (UTC) (edited on 2023-01-06 21:20 (UTC) by kuchenblech)

The package fails to build on the 6.1 kernel series. It works for me when applying this patch:

diff --git a/kernel/generic_raw_uart.c b/kernel/generic_raw_uart.c
index f2862a1..b2ba431 100644
--- a/kernel/generic_raw_uart.c
+++ b/kernel/generic_raw_uart.c
@@ -848,7 +848,11 @@ int generic_raw_uart_get_gpio_pin_number(struct generic_raw_uart_instance *insta
   {
     struct fwnode_handle *fwnode = dev_fwnode(dev);
     const char *label = generic_raw_uart_get_pin_label(pin);
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0))
+    // `fwnode_get_named_gpiod` was removed in 6.1.0.
+    dev_err(instance->dev, "Determining GPIOs is not implemented for this device on kernel>=6.1.0.");
+    struct gpio_desc *gpiod = NULL;
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0))
     struct gpio_desc *gpiod = fwnode_get_named_gpiod(fwnode, label, 0, GPIOD_ASIS, label);
 #else
     struct gpio_desc *gpiod = fwnode_get_named_gpiod(fwnode, label);
diff --git a/kernel/rtc-rx8130.c b/kernel/rtc-rx8130.c
index ca8ae8f..3c4aa8c 100644
--- a/kernel/rtc-rx8130.c
+++ b/kernel/rtc-rx8130.c
@@ -39,6 +39,7 @@
 #include <linux/list.h>
 #include <linux/rtc.h>
 #include <linux/of_gpio.h>
+#include <linux/version.h>

 #include <linux/of.h>
 #include <linux/of_device.h>
@@ -820,7 +821,11 @@ errout:
 // Todo: - maybe change kzalloc to devm_kzalloc
 //       -
 //----------------------------------------------------------------------
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0))
+static void rx8130_remove(struct i2c_client *client)
+#else
 static int rx8130_remove(struct i2c_client *client)
+#endif
 {
        struct rx8130_data *rx8130 = i2c_get_clientdata(client);
        struct mutex *lock = &rx8130->rtc->ops_lock;
@@ -836,7 +841,9 @@ static int rx8130_remove(struct i2c_client *client)
        }

        kfree(rx8130);
+       #if (LINUX_VERSION_CODE < KERNEL_VERSION(6, 1, 0))
        return 0;
+       #endif
 }

 static struct i2c_driver rx8130_driver = {

AlexanderS commented on 2022-05-02 09:26 (UTC) (edited on 2022-05-02 09:26 (UTC) by AlexanderS)

@dkadioglu Thanks, updated the patch.

dkadioglu commented on 2022-05-01 10:50 (UTC) (edited on 2022-05-01 13:52 (UTC) by dkadioglu)

At least on an RPi4, the build fails with 1.0.68-2. If I change kernel-5-17.patch in the following:

#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 17, 0)
      struct generic_raw_uart_instance *instance = PDE_DATA(inode);
#else
      struct generic_raw_uart_instance *instance = pde_data(inode);
#endif

With this the build works with kernel 5.15.36 and the compiled module runs fine, as far as I can see.

Elfe commented on 2022-01-11 16:40 (UTC)

You probably want to install eq3_char_loop-dkms as well.

df8oe commented on 2021-10-13 16:17 (UTC)

Hi Alex, is there any information to build the lxc container on Arch? Everything I have found is based on apt/dpkg. I would like to add pivccu to my RPI3B+ on armarch64.... Modules are building fine.