--- a/tn7atm.c
+++ b/tn7atm.c
@@ -2000,7 +2000,11 @@ static int __init tn7atm_register (Tn7At
 
   dgprintf (4, "device %s being registered\n", priv->name);
 
+  #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,37)
   mydev = atm_dev_register (priv->proc_name, &tn7atm_ops, -1, NULL);
+  #else
+  mydev = atm_dev_register (priv->proc_name, NULL, &tn7atm_ops, -1, NULL);
+  #endif
 
   if (mydev == NULL)
   {
--- a/tn7dsl.c
+++ b/tn7dsl.c
@@ -512,14 +512,17 @@ int shim_osLoadFWImage(unsigned char *pt
 {
 	const struct firmware *fw_entry;
 	size_t size;
+ 	int ret;
 
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,30)
 	dev_set_name(&avsar, "avsar");
 #endif
 	printk("requesting firmware image \"ar0700xx.bin\"\n");
-	if(device_register(&avsar) < 0) {
+	dev_set_name(&avsar, "avsar");
+	ret = device_register(&avsar);
+	if (ret < 0) {
 		printk(KERN_ERR
-			"avsar: device_register fails\n");
+			"avsar: device_register fails, error%i\n", ret);
 		return -1;
 	}
 
