static void init_lcm_registers(void) { #if (!defined(BUILD_UBOOT) && !defined(BUILD_LK)) && defined(INIT_CODE_TUNNING_BY_SD_CARD) /* */ //sd_initial int line_cnt = 0; LCM_PRINT("[LCD] : [KERNEL] init_lcm_registers \n "); if (Filesize(LCD_INITIAL_TXT) > 0) { line_cnt= lcd_init_read_from_sd(); if (line_cnt > 0) { LCM_PRINT("[LCD] : SD card tunning & initial setting!!! \n "); push_table(lcm_initialization_setting_sd, sizeof(lcm_initialization_setting_sd) / sizeof(struct LCM_setting_table), 1); } else { LCM_PRINT("[LCD] : Default initial setting \n "); push_table(lcm_initialization_setting, sizeof(lcm_initialization_setting) / sizeof(struct LCM_setting_table), 1); } } else { LCM_PRINT("[LCD] : Default initial setting \n "); push_table(lcm_initialization_setting, sizeof(lcm_initialization_setting) / sizeof(struct LCM_setting_table), 1); } #else push_table(lcm_initialization_setting, sizeof(lcm_initialization_setting) / sizeof(struct LCM_setting_table), 1); LCM_PRINT("[LCD] init_lcm_registers \n"); #endif /* */ }
void CSubFileAccess::Open( void ) {GUCEF_TRACE; Close(); m_file = fopen( m_filename.C_String() , "rb" ); fseek( m_file, m_offset, SEEK_SET ); m_totalSize = Filesize( m_filename.C_String() ); }
bool CSubFileAccess::Load( const CString& file , const UInt32 offset , const UInt32 size ) {GUCEF_TRACE; Close(); m_offset = offset; m_size = size; m_filename = file; m_file = fopen( m_filename.C_String() , "rb" ); if ( NULL != m_file ) { fseek( m_file, m_offset, SEEK_SET ); m_totalSize = Filesize( m_filename.C_String() ); return true; } return false; }
int lcd_init_read_from_sd(void) { struct file *fd; //int fd; long size; char *Buffer_2; char *Ori_Buffer; //char *conf_str = NULL; int packet_type=0; int packet_cmd=0; int packet_cnt=0; int i=0; int j=0; int ret; size= Filesize(LCD_INITIAL_TXT); if(size < 0) { LCM_PRINT("[LCD] : size error =%ld\n",size); return size; } else LCM_PRINT("[LCD] : size=%ld\n",size); //memset(Buffer_2,0,sizeof(Buffer_2)); #if 1 // Buffer_2 = kmalloc((size*sizeof(char)), GFP_KERNEL); //Buffer_2 = kmalloc((size*sizeof(char)), GFP_KERNEL); if(Buffer_2 == NULL) { LCM_PRINT("[seosctest] Buffer null\n"); return 0; } else Ori_Buffer=Buffer_2; #endif if ( 0 < ( fd = filp_open(LCD_INITIAL_TXT, O_RDONLY,0))) { fd->f_op->read(fd,Buffer_2, (size *sizeof(char)), &(fd->f_pos)); LCM_PRINT("[LCD] : %s\n", Buffer_2); do { LCM_PRINT("[LCD] Line Cnt [%d] \n",i); //getting the cmd and the number of parameters sscanf(Buffer_2,"%x %d ",(unsigned int*)&lcm_initialization_setting_sd[i].cmd, (unsigned int*)&lcm_initialization_setting_sd[i].count); LCM_PRINT("[LCD] Packet cmd[%x], Packet Cnt [%d] \n",(unsigned int)lcm_initialization_setting_sd[i].cmd,(unsigned int)lcm_initialization_setting_sd[i].count); while(*(Buffer_2++) != 0x20); // skip the space while(*(Buffer_2++) != 0x20); // skip the space for( j = 0; j < lcm_initialization_setting_sd[i].count; j++ ){ sscanf(Buffer_2,"%x ",(unsigned int*)&lcm_initialization_setting_sd[i].para_list[j]); while(*(Buffer_2++) != 0x20); // skip the space LCM_PRINT("[LCD] para_list[%d] = 0x%x \n",j, (unsigned int)lcm_initialization_setting_sd[i].para_list[j]); } while(*(Buffer_2++) != 0x0A); //skip till line feed i++; } while(*(Buffer_2) != 0x23); //# -> end of lcd.txt file ret = i; LCM_PRINT("[LCD] Escape Loop- Parsing Finish !! \n"); kfree(Ori_Buffer); filp_close(fd, NULL); } else { LCM_PRINT( " [LCD] Open Fail.\n"); return -1; } return ret; }