Index: zaptel.c =================================================================== --- zaptel.c (revision 839) +++ zaptel.c (working copy) @@ -157,6 +157,15 @@ /* udev necessary data structures. Yeah! */ #ifdef CONFIG_ZAP_UDEV + +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,15) +#define CLASS_DEV_CREATE(class, devt, device, name) \ + class_device_create(class, NULL, devt, device, name) +#else +#define CLASS_DEV_CREATE(class, devt, device, name) \ + class_device_create(class, devt, device, name) +#endif + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,13) static struct class *zap_class = NULL; #else @@ -166,8 +175,10 @@ #define class_device_create class_simple_device_add #define class_device_destroy(a, b) class_simple_device_remove(b) #endif -#endif +#endif /* CONFIG_ZAP_UDEV */ + + /* There is a table like this in the PPP driver, too */ static int deftaps = 64; @@ -4445,7 +4456,7 @@ for (x = 0; x < span->channels; x++) { char chan_name[50]; sprintf(chan_name, "zap%d", span->chans[x].channo); - class_device_create(zap_class, MKDEV(ZT_MAJOR, span->chans[x].channo), NULL, chan_name); + CLASS_DEV_CREATE(zap_class, MKDEV(ZT_MAJOR, span->chans[x].channo), NULL, chan_name); } #endif /* CONFIG_ZAP_UDEV */ @@ -6504,10 +6515,10 @@ #ifdef CONFIG_ZAP_UDEV /* udev support functions */ zap_class = class_create(THIS_MODULE, "zaptel"); - class_device_create(zap_class, MKDEV(ZT_MAJOR, 253), NULL, "zaptimer"); - class_device_create(zap_class, MKDEV(ZT_MAJOR, 254), NULL, "zapchannel"); - class_device_create(zap_class, MKDEV(ZT_MAJOR, 255), NULL, "zappseudo"); - class_device_create(zap_class, MKDEV(ZT_MAJOR, 0), NULL, "zapctl"); + CLASS_DEV_CREATE(zap_class, MKDEV(ZT_MAJOR, 253), NULL, "zaptimer"); + CLASS_DEV_CREATE(zap_class, MKDEV(ZT_MAJOR, 254), NULL, "zapchannel"); + CLASS_DEV_CREATE(zap_class, MKDEV(ZT_MAJOR, 255), NULL, "zappseudo"); + CLASS_DEV_CREATE(zap_class, MKDEV(ZT_MAJOR, 0), NULL, "zapctl"); #endif /* CONFIG_ZAP_UDEV */ #ifdef CONFIG_DEVFS_FS