I have now been able to open and read/write to the module via a user level app. The point of the user app/module combination was to allow some variables to be changed in the kernel. These are variables which are created and malloc'ed when the module is loaded, so till the module comes up they do not exist. Now the part of the kernel that will use these variables will not compile as at compile time it does not know of the variables, so compiling fails.
Is there a way to get around this?