File hdjmod_kernel_2.6.30.patch of Package hdjmod
diff -Naru hdjmod-1.28o/device.c hdjmod-1.28/device.c
--- hdjmod-1.28o/device.c 2009-01-27 15:25:50.000000000 +0100
+++ hdjmod-1.28/device.c 2010-02-06 16:20:36.901740173 +0100
@@ -1660,11 +1660,19 @@
/* let the kernel option override custom id */
strncpy(card_id,id[idx],sizeof(card_id)-1);
}
+#if ( LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,30) )
+ err = snd_card_create(index[idx], card_id/*id[idx]*/, THIS_MODULE, 0, &card );
+ if (err) {
+ snd_printk(KERN_WARNING "snd_hdj_chip_create(): cannot create card instance %d\n", idx);
+ return err;
+ }
+#else
card = snd_card_new(index[idx], card_id/*id[idx]*/, THIS_MODULE, 0);
if (card == NULL) {
snd_printk(KERN_WARNING "snd_hdj_chip_create(): cannot create card instance %d\n", idx);
return -ENOMEM;
}
+#endif
/* save the index, so people who have the card can reference the chip */
card->private_data = (void*)(unsigned long)idx;