I have a small problem that I have sort of solved but I know my solution isn't right and will probably come back to haunt me.
I am currently running Debian Unstable, with a custom kernel 220.127.116.11 and here is the problem.
I have an older model bttv card that is recognized as such but not correctly identified (Zoltrix TVMAX). I used to have to 'rmmod bttv' to unload it and then do a 'modprobe bttv card=15 tuner=6' to get the correct driver to load. While this solution is okay, I added the parameters to /etc/modules to automate this process on boot up.
Recently, due to either me messing around with a usb camera or upgrading my kernel/distro, this no longer works resulting me in having to do the rmmod - modprobe commands again.
I was advised at another forum to add options under alias char-major-81-* videodev in /etc/modprobe.d/aliases but I have no idea as to what the correct syntax would be and the nvidia example didn't offer much in the way of clues.
I also read it should be possible to set this card up properly using udev rules but again I run into the same problem with syntax and how to proceed.
What I finally ended up doing was going into bttv-cards.c in the kernel and overwriting the generic card parameters with the parameters for the card I wanted and then compiling the kernel with these changes built in. It works but it's a bit extreme. It also means that I will have to perform surgery everytime I want to upgrade my kernel. There must be an easier way.