duzhig 发表于 2008-12-19 20:30:28

关于在skyeye里运行linux的framebuffer显示驱动的问题

我在skyeye里运行linux2.6.26基于at91rm9200,在编译显示驱动的时候
选中了epson S1D13806的framebuffer驱动,编译完成后在skyeye里运行
加载驱动后module_init(s1d13xxxfb_init);
s1d13xxxfb_init(void)
{
        if (fb_get_options("s1d13xxxfb", NULL))
                return -ENODEV;

        return platform_driver_register(&s1d13xxxfb_driver);
}
注册平台驱动但是根本不去调用平台设备的probe函数s1d13xxxfb_probe
但是在实际硬件上运行的时候就没有这个问题,难道和把地址chipselect1的0x20000000
改成0xc0000000有关吗,按理说只要加载了驱动程序就应该去probe的不管存在不存在实际设备
我在linux内核源码中找不到S1D13xxx的平台设备注册的代码at91rm9200DK的平台很奇怪只有
S1D13xxx的framebuffer设备没有注册平台设备,其他的设备都注册了,在S1D13xxx的驱动里也
没有找到注册的代码,只有平台驱动的注册代码,不知道怎么回事,哪位高手知道请指教一下 多谢了

duzhig 发表于 2009-1-5 12:47:59

自己顶一下吧,呵呵 原来忘记打at91的补丁了,内核直接跑是没有注册fb设备的,要打了补丁才可以,忘记了我的实际硬件上跑的内核已经打了补丁,困惑了好久。改天把修改的 epson13806显示芯片的skyeye外设代码贴上来,虚拟了at91rm9200的显示设备,目前可以运行linux的framebuffer了,vxworks的windml也可以了,改天图一起上吧
页: [1]
查看完整版本: 关于在skyeye里运行linux的framebuffer显示驱动的问题