Interfacing to custom driver module
I have to develop a driver for a custom FPGA we are developing. I'm cross compiling for an ARM processor (AT91SAM9G20 using uCLinux 2.6.30), but I think my question applies to Linux drivers generally.
I can compile and run a simple driver module (built-in to the kernel tree) which does nothing more than to printk a message. Now I want to write some interface routines to allow my application to communicate with the FPGA. I have to initially load the FPGA and then read and write to registers.
Where do I put these interface routines? In the driver module itself? And, how do I compile the module to allow the application to link to the interface routines.
Am I looking at this in the wrong way altogether?
I have done some background reading (mainly the first half of Linux Device Drivers by Corbet).