The function signature for `class_create()` was changed in kernels >= 6.4.x to only accept a single argument (see kernel commit #dcfbb67).
This change will conditionally modify how `class_create()` is called depending on the kernel version.
`ulong` may not be sufficiently wide for addresses returned by the DMA
API. For example, a 32-bit platform can still have DMA addresses larger
than 32-bit. By using the correct type `dma_addr_t` we fix this
truncation.
Change-Id: Ibdf6456fdf12d889296e580de2acb910527ce0aa
Signed-off-by: Waqar Hameed <waqarh@axis.com>
The Makefile wasn't in the appropriate format for DKMS. While it did
work on the Coral Dev Board, it failed on other devices.
Tested:
Coral Dev Board, x86 Debian Machine
* The Makefile configuration was using kernel macros instead of obj-m,
so it wasn't building properly.
* Bump gasket and apex module versions for better DKMS installs.
* Bump Debian package version.
linux/rwlock.h is a no-no for direct inclusion. This remains unnoticed
when building against mainline due to prior inclusion of the correct
header, linux/spinlock.h, but breaks over the PREEMPT-RT kernel.
Would have likely been caught earlier by maintainer reviews if the
driver was developed upstream.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Change-Id: Ibc98c9017895e8991633ea4fe23171b507537525