struct rtc_time         tm;
        struct timespec         ts = current_kernel_time();
 
-       if (strncmp(rtc->dev.bus_id,
-                               CONFIG_RTC_HCTOSYS_DEVICE,
-                               BUS_ID_SIZE) != 0)
+       if (strcmp(dev_name(&rtc->dev), CONFIG_RTC_HCTOSYS_DEVICE) != 0)
                return 0;
 
        rtc_read_time(rtc, &tm);
        time_t                  newtime;
        struct timespec         time;
 
-       if (strncmp(rtc->dev.bus_id,
-                               CONFIG_RTC_HCTOSYS_DEVICE,
-                               BUS_ID_SIZE) != 0)
+       if (strcmp(dev_name(&rtc->dev), CONFIG_RTC_HCTOSYS_DEVICE) != 0)
                return 0;
 
        rtc_read_time(rtc, &tm);
        if (rtc_valid_tm(&tm) != 0) {
-               pr_debug("%s:  bogus resume time\n", rtc->dev.bus_id);
+               pr_debug("%s:  bogus resume time\n", dev_name(&rtc->dev));
                return 0;
        }
        rtc_tm_to_time(&tm, &newtime);
        if (newtime <= oldtime) {
                if (newtime < oldtime)
-                       pr_debug("%s:  time travel!\n", rtc->dev.bus_id);
+                       pr_debug("%s:  time travel!\n", dev_name(&rtc->dev));
                return 0;
        }
 
        init_waitqueue_head(&rtc->irq_queue);
 
        strlcpy(rtc->name, name, RTC_DEVICE_NAME_SIZE);
-       snprintf(rtc->dev.bus_id, BUS_ID_SIZE, "rtc%d", id);
+       dev_set_name(&rtc->dev, "rtc%d", id);
 
        rtc_dev_prepare(rtc);
 
        rtc_proc_add_device(rtc);
 
        dev_info(dev, "rtc core: registered %s as %s\n",
-                       rtc->name, rtc->dev.bus_id);
+                       rtc->name, dev_name(&rtc->dev));
 
        return rtc;
 
 
 {
        char *name = (char *)data;
 
-       if (strncmp(dev->bus_id, name, BUS_ID_SIZE) == 0)
+       if (strcmp(dev_name(dev), name) == 0)
                return 1;
        return 0;
 }
 
 
        cmos_rtc.dev = dev;
        dev_set_drvdata(dev, &cmos_rtc);
-       rename_region(ports, cmos_rtc.rtc->dev.bus_id);
+       rename_region(ports, dev_name(&cmos_rtc.rtc->dev));
 
        spin_lock_irq(&rtc_lock);
 
                        rtc_cmos_int_handler = cmos_interrupt;
 
                retval = request_irq(rtc_irq, rtc_cmos_int_handler,
-                               IRQF_DISABLED, cmos_rtc.rtc->dev.bus_id,
+                               IRQF_DISABLED, dev_name(&cmos_rtc.rtc->dev),
                                cmos_rtc.rtc);
                if (retval < 0) {
                        dev_dbg(dev, "IRQ %d is already in use\n", rtc_irq);
        }
 
        pr_info("%s: alarms up to one %s%s, %zd bytes nvram%s\n",
-                       cmos_rtc.rtc->dev.bus_id,
+                       dev_name(&cmos_rtc.rtc->dev),
                        is_valid_irq(rtc_irq)
                                ?  (cmos_rtc.mon_alrm
                                        ? "year"
        }
 
        pr_debug("%s: suspend%s, ctrl %02x\n",
-                       cmos_rtc.rtc->dev.bus_id,
+                       dev_name(&cmos_rtc.rtc->dev),
                        (tmp & RTC_AIE) ? ", alarm may wake" : "",
                        tmp);
 
        }
 
        pr_debug("%s: resume, ctrl %02x\n",
-                       cmos_rtc.rtc->dev.bus_id,
+                       dev_name(&cmos_rtc.rtc->dev),
                        tmp);
 
        return 0;