郑州做网站和域名云南7省建设厅网站
web/
2025/10/2 18:26:08/
文章来源:
郑州做网站和域名,云南7省建设厅网站,网站导航栏 字体,在北京注册公司有什么好处2.6内核以后#xff0c;多数驱动都是以平台总线的方式编写#xff0c;因此对于这种类型的驱动#xff0c;实际就是要分成两个流程来分析
平台总线设备的构造#xff0c;平台总线驱动的构造。
下面先分析平台总线设备的构造#xff0c;平台总线设备里是硬件相关的信息多数驱动都是以平台总线的方式编写因此对于这种类型的驱动实际就是要分成两个流程来分析
平台总线设备的构造平台总线驱动的构造。
下面先分析平台总线设备的构造平台总线设备里是硬件相关的信息比如中断资源寄存件地址定义。
1. arch/arm/mach-s5pv210/mach-x210.c smdkc110_map_io() s3c24xx_init_uarts(smdkc110_uartcfgs, ARRAY_SIZE(smdkc110_uartcfgs)) 2. arch/arm/mach-s5pv210/init.c s5pv210_common_init_uarts(struct s3c2410_uartcfg *cfg, int no)
s3c24xx_init_uartdevs(s5pv210-uart, s5p_uart_resources, cfg, no) 3. arch\arm\plat-samsung\init.c s3c24xx_init_uartdevs(char *name, struct s3c24xx_uart_resources *res, struct s3c2410_uartcfg *cfg, int no)
上面3部完成了 platform_device 的构造
其中name s5pv210-uart resource arch\arm\plat-s5p\dev-uart.c 文件中定义s3c24xx_uart_resources结构体 dev.platform_data arch\arm\mach-s5pv210\mach-x210.c 文件中定义 s3c2410_uartcfg 结构体 下面分析平台总线驱动
1. drivers/serial/s5pv210.c s5p_serial_init(void) s3c24xx_serial_init(s5p_serial_driver, *s5p_uart_inf)
2. drivers\serial\samsung.c s3c24xx_serial_init(struct platform_driver *drv, struct s3c24xx_uart_info *info) platform_driver_register(drv);
上面2部构造并注册了platform_driver 因为uart驱动是字符设备驱动因此下面分析uart的字符设备驱动的初始化
1. drivers\serial\samsung.c s3c24xx_serial_modinit() uart_register_driver(s3c24xx_uart_drv)
2. drivers\serial\serial_core.c uart_register_driver(struct uart_driver *drv) tty_register_driver(normal)
3. drivers\char\tty_io.c tty_register_driver(struct tty_driver *driver) register_chrdev_region(dev, driver-num, driver-name) cdev_init(driver-cdev, tty_fops) cdev_add(driver-cdev, dev, driver-num)
从上面的关键步骤可以看出一个标准的字符设备驱动的初始化流程但是没有创建出设备文件。显然设备文件的
创建应该是平台总线驱动的probe函数创建的。 下面分析设备文件的创建
1.drivers/serial/s5pv210.c s3c24xx_serial_probe(pdev, s5p_uart_inf[pdev-id])
2. drivers\serial\samsung.c int s3c24xx_serial_probe(struct platform_device *dev, struct s3c24xx_uart_info *info) device_create_file(dev-dev, dev_attr_clock_source)
可以看到设备文件的创建是在平台总线的驱动的probe函数中创建
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/85753.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!