It is the Linux' community's understanding that userland code is not affected by the Kernel's GPL license. In particular:
- interacting with the Kernel through syscalls is fine
- by extension, interacting with the Kernel through special filesystem objects (device files, procfs, sysfs) is also fine
This understanding is codified in the Linux-syscall-note:
NOTE! This copyright does *not* cover user programs that use kernel
services by normal system calls - this is merely considered normal use
of the kernel, and does *not* fall under the heading of "derived work". […]
In that paragraph “this copyright” refers to the Linux Kernel copyright.
I have no particular understanding of what SPI is, but it seems that the SPIDEV driver merely exposes some virtual devices in the filesystem, with which your userland code can interact with syscalls such as read() or ioctl(). Thus, having a program that interacts with SPIDEV filesystem objects will have exactly the same GPL consequences as a program that interacts with /dev/tty or /dev/null fileystem objects – no compliance obligations whatsoever.