Today raspberry pi rolled out major apt update which upgrades kernel to 6.6.
It breaks radioberry driver and it cannot be compiled anymore for both 32 and 64 versions.
compilation has 3 errors:
1) too many arguments for class_create():
```
/usr/src/linux-headers-6.6.20+rpt-common-rpi/include/linux/device/class.h:230:54: note: expected ‘const char *’ but argument is of type ‘struct module *’
230 | struct class * __must_check class_create(const char *name);
| ~~~~~~~~~~~~^~~~
/home/pi/SRC/radioberry/Radioberry-2.x/SBC/rpi-4/device_driver/driver/radioberry.c:280:26: error: too many arguments to function ‘class_create’
280 | radioberryCharClass = class_create(THIS_MODULE, CLASS_NAME);
| ^~~~~~~~~~~~
```
2 and 3) functions gpio_export() and gpio_unexport() are not available anymore. It seems that it requires to use gpiod_export and gpiod_unexport but it uses different argument type and is not clear on how to use it:
```
/home/pi/SRC/radioberry/Radioberry-2.x/SBC/rpi-4/device_driver/driver/radioberry.c:304:9: error: implicit declaration of function ‘gpio_export’; did you mean ‘gpiod_export’? [-Werror=implicit-function-declaration]
304 | gpio_export(gpioRxSamplesiPin, false);
| ^~~~~~~~~~~
| gpiod_export
```
```
/home/pi/SRC/radioberry/Radioberry-2.x/SBC/rpi-4/device_driver/driver/radioberry.c:337:5: error: implicit declaration of function ‘gpio_unexport’; did you mean ‘gpiod_unexport’? [-Werror=implicit-function-declaration]
337 | gpio_unexport(gpioRxSamplesiPin);
| ^~~~~~~~~~~~~
| gpiod_unexport
```
Any info on how to fix it?
Best regards,
Alex