Since I got a Mixman DM2 and like to run Linux I decided to put the two together. Slight hassle, though, the kernel doesn't sit still while you're not watching. A slight tweak is needed to get the driver to work on a modern kernel; in my case, 3.0.0-14-generic on Ubuntu.
I got an error about SPIN_LOCK_UNLOCK being deprecated, and that led me to google around until I found a nice kerneltrap blog entry on solutions for SPIN_LOCK_UNLOCKED errors. One of these was appropriate to the current case:
2. allocating a data structure dynamically & initializing the spinlock embedded within use spin_lock_init() e.g linux-core/via_dmablit.c
- blitq->blit_lock = SPIN_LOCK_UNLOCKED;
+ spin_lock_init(&blitq->blit_lock);So naturally I applied the same detail to the code. So here's the actual how-to.
- Install the sources
You're going to need to installmodule-assistantbefore you can install the driver source package. - Unpack the sources
Visit /usr/src andsudo tar xvfj dm2.tar.bz2which will produce amodulesdirectory. You could back updm2.tar.bz2in case you make a mistake. - Edit the offending file
You want to editmodules/dm2/dm2.cat line 991. replacedev->lock = SPIN_LOCK_UNLOCKED;withspin_lock_init(&dev->lock); - Regenerate the source archive
sudo tar cvfj dm2.tar.bz2 modules - Build the driver
sudo m-a a-i dm2-source - Plug in the Mixman
LEDs should flash. If not, please come back and leave a comment. My current goal is to use the unit with Mixxx... TBC