通过cat /prco/driver/rtc 看到rtc的信息

来源:互联网 发布:学生成绩管理系统c语言 编辑:程序博客网 时间:2024/05/16 17:07
在drivers/rtc/rtc-efi.c 中会定义rtc_class_ops 由于注册rtc设备
static const struct rtc_class_ops efi_rtc_ops = {
    .read_time    = efi_read_time,
    .set_time    = efi_set_time,
    .read_alarm    = efi_read_alarm,
    .set_alarm    = efi_set_alarm,
    .proc        = efi_procfs,
};

static int __init efi_rtc_probe(struct platform_device *dev)
{
    struct rtc_device *rtc;
    efi_time_t eft;
    efi_time_cap_t cap;

    /* First check if the RTC is usable */
    if (efi.get_time(&eft, &cap) != EFI_SUCCESS)
        return -ENODEV;

    rtc = devm_rtc_device_register(&dev->dev, "rtc-efi", &efi_rtc_ops,
                    THIS_MODULE);
    if (IS_ERR(rtc))
        return PTR_ERR(rtc);

    rtc->uie_unsupported = 1;
    platform_set_drvdata(dev, rtc);

    return 0;
}
在rtc_class_ops 中有一个proc的成员变量,在devm_rtc_device_register->rtc_device_register->rtc_proc_add_device
void rtc_proc_add_device(struct rtc_device *rtc)
{
    if (is_rtc_hctosys(rtc))
        proc_create_data("driver/rtc", 0, NULL, &rtc_proc_fops, rtc);
}
最终会在proc下注册一个一个rtc的entry,可以通过cat /prco/driver/rtc 看到rtc的信息


原创粉丝点击