Skip to contentSkip to conversation

Janitor: misc_register() can fail, even in drivers/char/upd4990.c

PATCH New Stephan Maciej 1 participant 1 message Mar 31, 2003 Char and misc drivers

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Janitor: misc_register() can fail, even in drivers/char/upd4990.c

drivers/char/upd4990a.c renamed from drivers/char/upd4990a.c~unmodified +10 -1
@@ -343,19 +343,28 @@
 
 static int __init rtc_init(void)
 {
+	int err = 0;
+
 	if (!request_region(UPD4990A_IO, 1, "rtc")) {
 		printk(KERN_ERR "upd4990a: could not acquire I/O port %#x\n",
 			UPD4990A_IO);
 		return -EBUSY;
 	}
 
+	err = misc_register(&rtc_dev);
+	if (err) {
+		printk(KERN_ERR "upd4990a: can't misc_register() on minor=%d\n",
+			RTC_MINOR);
+		release_region(UPD4990A_IO, 1);
+		return err;
+	}
+		
 #if 0
 	printk(KERN_INFO "\xB6\xDA\xDD\xC0\xDE \xC4\xDE\xB9\xB2 Driver\n");  /* Calender Clock Driver */
 #else
 	printk(KERN_INFO
 	       "Real Time Clock driver for NEC PC-9800 v" RTC98_VERSION "\n");
 #endif
-	misc_register(&rtc_dev);
 	create_proc_read_entry("driver/rtc", 0, NULL, rtc_read_proc, NULL);
 
 	init_timer(&rtc_uie_timer);