cc1101-driver icon indicating copy to clipboard operation
cc1101-driver copied to clipboard

I too cannot compile...

Open johnineasttexas opened this issue 1 year ago • 3 comments

This seems to be the same issue that danucu was having

Neither: sudo dkms build -m cc1101 -v 1.4.0

nor: sudo dkms build -m cc1101 -v 1.3.3

work - the make.log that I get for them are:

DKMS make.log for cc1101-1.4.0 for kernel 6.1.0-rpi7-rpi-v8 (aarch64)
Mon 15 Jan 20:39:20 CST 2024
make -C /lib/modules/6.1.0-rpi7-rpi-v8/build M=/var/lib/dkms/cc1101/1.4.0/build modules
make[1]: Entering directory '/usr/src/linux-headers-6.1.0-rpi7-rpi-v8'
  CC [M]  /var/lib/dkms/cc1101/1.4.0/build/cc1101_main.o
/var/lib/dkms/cc1101/1.4.0/build/cc1101_main.c:161:15: error: initialization of ‘void (*)(struct spi_device *)’ from incompatible pointer type ‘int (*)(struct spi_device *)’ [-Werror=incompatible-pointer-types]
  161 |     .remove = cc1101_spi_remove,
      |               ^~~~~~~~~~~~~~~~~
/var/lib/dkms/cc1101/1.4.0/build/cc1101_main.c:161:15: note: (near initialization for ‘cc1101_driver.remove’)
cc1: some warnings being treated as errors
make[2]: *** [/usr/src/linux-headers-6.1.0-rpi7-common-rpi/scripts/Makefile.build:255: /var/lib/dkms/cc1101/1.4.0/build/cc1101_main.o] Error 1
make[1]: *** [/usr/src/linux-headers-6.1.0-rpi7-common-rpi/Makefile:2039: /var/lib/dkms/cc1101/1.4.0/build] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-6.1.0-rpi7-rpi-v8'
make: *** [Makefile:5: all] Error 2

and:

DKMS make.log for cc1101-1.3.3 for kernel 6.1.0-rpi7-rpi-v8 (aarch64)
Mon 15 Jan 20:45:48 CST 2024
make -C /lib/modules/6.1.0-rpi7-rpi-v8/build M=/var/lib/dkms/cc1101/1.3.3/build modules
make[1]: Entering directory '/usr/src/linux-headers-6.1.0-rpi7-rpi-v8'
  CC [M]  /var/lib/dkms/cc1101/1.3.3/build/cc1101_main.o
/var/lib/dkms/cc1101/1.3.3/build/cc1101_main.c:161:15: error: initialization of ‘void (*)(struct spi_device *)’ from incompatible pointer type ‘int (*)(struct spi_device *)’ [-Werror=incompatible-pointer-types]
  161 |     .remove = cc1101_spi_remove,
      |               ^~~~~~~~~~~~~~~~~
/var/lib/dkms/cc1101/1.3.3/build/cc1101_main.c:161:15: note: (near initialization for ‘cc1101_driver.remove’)
cc1: some warnings being treated as errors
make[2]: *** [/usr/src/linux-headers-6.1.0-rpi7-common-rpi/scripts/Makefile.build:255: /var/lib/dkms/cc1101/1.3.3/build/cc1101_main.o] Error 1
make[1]: *** [/usr/src/linux-headers-6.1.0-rpi7-common-rpi/Makefile:2039: /var/lib/dkms/cc1101/1.3.3/build] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-6.1.0-rpi7-rpi-v8'
make: *** [Makefile:5: all] Error 2

johnineasttexas avatar Jan 16 '24 02:01 johnineasttexas

change the function cc1101_spi_remove in file cc1101_main.c for this one:

static void cc1101_spi_remove(struct spi_device *spi)
{
    cc1101_t* cc1101;
    cc1101 = spi_get_drvdata(spi);

    // Remove the RX timeout timer
    del_timer(&cc1101->rx_timeout);

    // Reset the hardware, placing it in idle mode
    cc1101_reset(cc1101);

    // Remove /dev/cc1101.x.x
    cc1101_chrdev_remove_device(cc1101);
    CC1101_INFO(cc1101, "Removed");
}

felepeg avatar Mar 03 '24 15:03 felepeg

I've run into this too. Is this kernel version dependent (we're on 6.1) or gcc version dependent (we are on gcc 13)?

BubuOT avatar Mar 28 '24 19:03 BubuOT

Another required change for compiling for kernel 6.6 (rpi default for a while now):

diff --git a/cc1101_chrdev.c b/cc1101_chrdev.c
index 489c569..9516fee 100644
--- a/cc1101_chrdev.c
+++ b/cc1101_chrdev.c
@@ -432,7 +432,7 @@ int cc1101_chrdev_setup(struct spi_driver* cc1101_driver)
         goto err_register;
     }
 
-       dev_class = class_create(THIS_MODULE, "cc1101");
+       dev_class = class_create("cc1101");^M
        if (IS_ERR(dev_class)) {
                ret = PTR_ERR(dev_class);
         goto err_class_create;
@@ -462,4 +462,4 @@ void cc1101_chrdev_teardown(struct spi_driver* cc1101_driver)
     spi_unregister_driver(cc1101_driver);
        class_destroy(dev_class);
        unregister_chrdev(SPI_MAJOR_NUMBER, cc1101_driver->driver.name);
-}
\ No newline at end of file
+}^M

BubuOT avatar Jun 19 '24 23:06 BubuOT