rtc时钟芯片驱动(Linux驱动6)

    xiaoxiao2021-03-25  66

    说明:

    rtc时钟驱动将大部分通用部分在rtc-dev.c文件中实现.通用部分实现了file_operations,并导出了rtc_class_ops结构,rtc_device_register rtc_device_unregister函数,底层部分只要实现rtc_class_ops即可.

    变量:

    rtc_class_ops{ open release ioctl read_time set_time read_alarm set_alarm irq_set_freq irq_set_state proc }

    函数:

    rtc_device_register(char *name,device *dev,rtc_class_ops *class,MODULE) rtc_decice_ungister

    用法:

    实现 rtc_class_ops中的函数 xx_read_time{ } xx_set_time{ } rtc_class_ops xx_class_ops={ .read_time=xx_read_time; .set_time=xx_set_time; } xx_probe(struct platform_device*pdev){ … rtc_device_register(name,pdev->dev,&xx_class_ops,THIS_MODULE); } xx_driver={ driver={ .name=”xx”; .owner=THIS_MODULE; } .probe=xx_probe; .remove .id_table } xx_init(void){ i2c_add_driver(&xx_driver); 或者spi_register_driver 或者其他类似的驱动函数 } xx_exit(void){ i2c_del_driver(&xx_driver); 或者spi_unregister_driver 或者其他类似的驱动函数 }

    转载请注明原文地址: https://ju.6miu.com/read-34208.html

    最新回复(0)