|
各位大牛,您好:
小弟碰一需求问题:
在操作过程中 ,在配置sys_config.fex lcd0和lcd1后, 我的配置参数在源码中可以拿到, 在一直执行不到添加的驱动,经分析发现:在disp_lcd.c中执行的一直都是lcd0,对应获取lcd0的结构体如下:
struct disp_device { struct list_head list;
/* data fields */
char name[32];
u32 disp;
u32 hwdev_index;//indicate the index of hw device(timing controller)
u32 fix_timing;
enum disp_output_type type;
struct disp_manager *manager;
struct disp_video_timings timings;
void* priv_data;
/* function fileds */
/* init: script init && clock init && pwm init && register irq
* exit: clock exit && unregister irq
*/
s32 (*init)(struct disp_device *dispdev);
s32 (*exit)(struct disp_device *dispdev);
****************
}
但,不知是哪里绑定的lcd0,而非lcd1,试着将lcd0强制改为1后,就会执行到所添加的驱动文件,但,部分sel参数又被执行到lcd0.
求教!!!到底是哪里限制了lcd1执行它驱动的方法:
__lcd_panel_t XXXX_panel = { //此XXXX_panel 一直在调用,就是执行不到func中的内容
/* panel driver name, must mach the name of lcd_drv_name in sys_config.fex */
.name = "default_lcd",
.func = {
.cfg_panel_info = LCD_cfg_panel_info,
.cfg_open_flow = LCD_open_flow,
.cfg_close_flow = LCD_close_flow,
.lcd_user_defined_func = LCD_user_defined_func,
},
|
|