关于framebuffer的几个问题

1. framebuffer 框架

在这里插入图片描述

2 frambuffer流程

  1. acrn-kernel/drivers/video/fbdev/core/fbmem.c
   subsys_initcall(fbmem_init);-->
          proc_create_seq("fb", 0, NULL, &proc_fb_seq_ops)
          ret = register_chrdev(FB_MAJOR, "fb", &fb_fops);
          fb_class = class_create(THIS_MODULE, "graphics");
          fb_console_init();
  1. 设备的注册
    /acrn-kernel/drivers/video/fbdev/simplefb.c
  platform_driver_register(&simplefb_driver)-->
		static struct platform_driver simplefb_driver = {
			.driver = {
				.name = "simple-framebuffer",
				.of_match_table = simplefb_of_match,
			},
			.probe = simplefb_probe,   @---->
			.remove = simplefb_remove,
		};
	
      @---->register_framebuffer(info)
  1. 设备匹配的获取
    由于设备是走platform总线 所以查找该总线上的设备
    acrn-kernel/arch/x86/kernel/sysfb_simplefb.c
device_initcall(sysfb_init)---->
   ------------------------------------------------
    设备创建比较重要的结构体从代码中可以看出是从boot传参数进来的
    是从bios里面回去具体的参数
     struct screen_info *si = &screen_info
     ----------------------------------------------
     create_simplefb(si, &mode);
     pd = platform_device_register_resndata(NULL, name, 0,
				       NULL, 0, si, sizeof(*si));
  1. 一个填充图
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>