X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/f044ca812256b421e793c4335ce1ffed74710a70..8b8f49b713d64065775fe538232f8639083601bd:/lunaix-os/hal/rtc/hwrtc.c?ds=sidebyside diff --git a/lunaix-os/hal/rtc/hwrtc.c b/lunaix-os/hal/rtc/hwrtc.c index 5a53664..87e7d10 100644 --- a/lunaix-os/hal/rtc/hwrtc.c +++ b/lunaix-os/hal/rtc/hwrtc.c @@ -69,7 +69,7 @@ hwrtc_read(struct device* dev, void* buf, size_t offset, size_t len) } struct hwrtc* -hwrtc_alloc_new(char* name) +hwrtc_alloc_new(struct device_def* def, char* name) { struct hwrtc* rtc_instance = valloc(sizeof(struct hwrtc)); @@ -84,15 +84,16 @@ hwrtc_alloc_new(char* name) } rtc_instance->name = name; - struct device* rtcdev = - device_addsys(NULL, rtc_instance, "rtc%d", rtc_count); + struct device* rtcdev = device_allocsys(NULL, rtc_instance); rtcdev->ops.exec_cmd = hwrtc_ioctl; rtcdev->ops.read = hwrtc_read; rtc_instance->rtc_dev = rtcdev; - rtc_count++; + device_register(rtcdev, &def->class, "rtc%d", def->class.variant); + + def->class.variant++; return rtc_instance; }