/** * gsensor_fetch_sysconfig_para - get config info from sysconfig.fex file. * return value: * = 0; success; * < 0; err */ static int gsensor_fetch_sysconfig_para(void) { int ret = -1; int device_used = -1; __u32 twi_addr = 0; char name[I2C_NAME_SIZE]; script_parser_value_type_t type = SCRIPT_PARSER_VALUE_TYPE_STRING; printk("========%s===================\n", __func__); if(SCRIPT_PARSER_OK != (ret = script_parser_fetch("gsensor_para", "gsensor_used", &device_used, 1))){ pr_err("%s: script_parser_fetch err.ret = %d. \n", __func__, ret); goto script_parser_fetch_err; } if(1 == device_used){ if(SCRIPT_PARSER_OK != script_parser_fetch_ex("gsensor_para", "gsensor_name", (int *)(&name), &type, sizeof(name)/sizeof(int))){ pr_err("%s: line: %d script_parser_fetch err. \n", __func__, __LINE__); goto script_parser_fetch_err; } if(strcmp(SENSOR_NAME, name)){ pr_err("%s: name %s does not match SENSOR_NAME. \n", __func__, name); pr_err(SENSOR_NAME); //ret = 1; return ret; } if(SCRIPT_PARSER_OK != script_parser_fetch("gsensor_para", "gsensor_twi_addr", &twi_addr, sizeof(twi_addr)/sizeof(__u32))){ pr_err("%s: line: %d: script_parser_fetch err. \n", name, __LINE__); goto script_parser_fetch_err; } u_i2c_addr.dirty_addr_buf[0] = twi_addr; u_i2c_addr.dirty_addr_buf[1] = I2C_CLIENT_END; printk("%s: after: gsensor_twi_addr is 0x%x, dirty_addr_buf: 0x%hx. dirty_addr_buf[1]: 0x%hx \n", \ __func__, twi_addr, u_i2c_addr.dirty_addr_buf[0], u_i2c_addr.dirty_addr_buf[1]); if(SCRIPT_PARSER_OK != script_parser_fetch("gsensor_para", "gsensor_twi_id", &twi_id, 1)){ pr_err("%s: script_parser_fetch err. \n", name); goto script_parser_fetch_err; } printk("%s: twi_id is %d. \n", __func__, twi_id); ret = 0; }else{ pr_err("%s: gsensor_unused. \n", __func__); ret = -1; } return ret; script_parser_fetch_err: pr_notice("=========script_parser_fetch_err============\n"); return ret; }
/** * tkey_fetch_sysconfig_para - get config info from sysconfig.fex file. * return value: * = 0; success; * < 0; err */ static int tkey_fetch_sysconfig_para(void) { int ret = -1; int device_used = -1; __u32 twi_addr = 0; char name[I2C_NAME_SIZE]; script_parser_value_type_t type = SCIRPT_PARSER_VALUE_TYPE_STRING; //__u32 twi_id = 0; printk("========HV Inital ===================\n"); if(SCRIPT_PARSER_OK != script_parser_fetch("tkey_para", "tkey_used", &device_used, 1)){ pr_err("hv_keyboard: script_parser_fetch err. \n"); goto script_parser_fetch_err; } if(1 == device_used){ if(SCRIPT_PARSER_OK != script_parser_fetch_ex("tkey_para", "tkey_name", (int *)(&name), &type, sizeof(name)/sizeof(int))){ pr_err("%s: script_parser_fetch err. \n", __func__); goto script_parser_fetch_err; } if(strcmp(HV_NAME, name)){ pr_err("%s: name %s does not match HV_NAME. \n", __func__, name); pr_err(HV_NAME); //ret = 1; return ret; } if(SCRIPT_PARSER_OK != script_parser_fetch("tkey_para", "tkey_twi_addr", &twi_addr, sizeof(twi_addr)/sizeof(__u32))){ pr_err("%s: script_parser_fetch err. \n", name); goto script_parser_fetch_err; } u_i2c_addr.dirty_addr_buf[0] = twi_addr; u_i2c_addr.dirty_addr_buf[1] = I2C_CLIENT_END; printk("%s: after: tkey_twi_addr is 0x%x, dirty_addr_buf: 0x%hx. dirty_addr_buf[1]: 0x%hx \n", \ __func__, twi_addr, u_i2c_addr.dirty_addr_buf[0], u_i2c_addr.dirty_addr_buf[1]); if(SCRIPT_PARSER_OK != script_parser_fetch("tkey_para", "tkey_twi_id", &twi_id, 1)){ pr_err("%s: script_parser_fetch err. \n", name); goto script_parser_fetch_err; } printk("%s: tkey_twi_id is %d. \n", __func__, twi_id); }else{ pr_err("%s: tkey_unused. \n", __func__); ret = -1; } return 0; script_parser_fetch_err: pr_notice("=========script_parser_fetch_err============\n"); return ret; }