1*4882a593SmuzhiyunCrystal SoundFusion CS4610/CS4612/CS461 joystick 2*4882a593Smuzhiyun================================================ 3*4882a593Smuzhiyun 4*4882a593SmuzhiyunThis is a new low-level driver to support analog joystick attached to 5*4882a593SmuzhiyunCrystal SoundFusion CS4610/CS4612/CS4615. This code is based upon 6*4882a593SmuzhiyunVortex/Solo drivers as an example of decoration style, and ALSA 7*4882a593Smuzhiyun0.5.8a kernel drivers as an chipset documentation and samples. 8*4882a593Smuzhiyun 9*4882a593SmuzhiyunThis version does not have cooked mode support; the basic code 10*4882a593Smuzhiyunis present here, but have not tested completely. The button analysis 11*4882a593Smuzhiyunis completed in this mode, but the axis movement is not. 12*4882a593Smuzhiyun 13*4882a593SmuzhiyunRaw mode works fine with analog joystick front-end driver and cs461x 14*4882a593Smuzhiyundriver as a backend. I've tested this driver with CS4610, 4-axis and 15*4882a593Smuzhiyun4-button joystick; I mean the jstest utility. Also I've tried to 16*4882a593Smuzhiyunplay in xracer game using joystick, and the result is better than 17*4882a593Smuzhiyunkeyboard only mode. 18*4882a593Smuzhiyun 19*4882a593SmuzhiyunThe sensitivity and calibrate quality have not been tested; the two 20*4882a593Smuzhiyunreasons are performed: the same hardware cannot work under Win95 (blue 21*4882a593Smuzhiyunscreen in VJOYD); I have no documentation on my chip; and the existing 22*4882a593Smuzhiyunbehavior in my case was not raised the requirement of joystick calibration. 23*4882a593SmuzhiyunSo the driver have no code to perform hardware related calibration. 24*4882a593Smuzhiyun 25*4882a593SmuzhiyunThis driver have the basic support for PCI devices only; there is no 26*4882a593SmuzhiyunISA or PnP ISA cards supported. 27*4882a593Smuzhiyun 28*4882a593SmuzhiyunThe driver works with ALSA drivers simultaneously. For example, the xracer 29*4882a593Smuzhiyunuses joystick as input device and PCM device as sound output in one time. 30*4882a593SmuzhiyunThere are no sound or input collisions detected. The source code have 31*4882a593Smuzhiyuncomments about them; but I've found the joystick can be initialized 32*4882a593Smuzhiyunseparately of ALSA modules. So, you can use only one joystick driver 33*4882a593Smuzhiyunwithout ALSA drivers. The ALSA drivers are not needed to compile or 34*4882a593Smuzhiyunrun this driver. 35*4882a593Smuzhiyun 36*4882a593SmuzhiyunThere are no debug information print have been placed in source, and no 37*4882a593Smuzhiyunspecific options required to work this driver. The found chipset parameters 38*4882a593Smuzhiyunare printed via printk(KERN_INFO "..."), see the /var/log/messages to 39*4882a593Smuzhiyuninspect cs461x: prefixed messages to determine possible card detection 40*4882a593Smuzhiyunerrors. 41*4882a593Smuzhiyun 42*4882a593SmuzhiyunRegards, 43*4882a593SmuzhiyunViktor 44