For my project I need to be able to use the AD9361 from within another Linux kernel module. From what I can tell this means that I should be interfacing with the AD9361 driver directly, as opposed to using libiio (since that is a user space library).
Is there a recommended way of doing this? From looking at the source code, it seems that the no-OS driver has the easiest to use interface. Should I be trying to use this, or the ad9361.c driver from the ADI linux kernel? This will be built on a Zedboard/FMCOMMS2 Linaro system as described in the ADI documentation.
I've been studying the source code for the Linux kernel driver, but I am not familiar with how it is setup (I only have experience with drivers that use the VFS interface: open, read, write, ioctl, etc).