static int __init autok_init(void) { int retval = 0; autok_log_entry = debugfs_create_file("autok_log", 0660, NULL, NULL, &autok_log_fops); i_gid_write(autok_log_entry->d_inode, 1000); autok_log_info = (char*)kzalloc(LOG_SIZE, GFP_KERNEL); is_full_log = 1; /* create node /sys/mtk_sdio */ autok_kobj = kobject_create_and_add("autok", NULL); if (autok_kobj == NULL) return -ENOMEM; stage1_kobj = kobject_create_and_add("stage1", autok_kobj); if (stage1_kobj == NULL) return -ENOMEM; stage2_kobj = kobject_create_and_add("stage2", autok_kobj); if (stage2_kobj == NULL) return -ENOMEM; #ifdef AUTOK_THREAD p_autok_thread_data = kzalloc(sizeof(struct sdio_autok_thread_data), GFP_KERNEL); p_autok_thread_data->log = autok_log_info; //msdc_autok_apply_param_2 = msdc_autok_apply_param; #endif if((retval=create_host_node(autok_kobj)) != 0) return retval; if((retval=create_stage1_nodes(HOST_MAX_NUM, stage1_kobj)) != 0) return retval; if((retval=create_stage2_node(HOST_MAX_NUM, stage2_kobj)) != 0) return retval; // Special for 95m since we want to do autok with order 1.0|1.125 if(vcorefs_sdio_need_multi_autok()){ pr_err("need_multi_autok\n"); suggest_vol_count = 2; suggest_vol = kzalloc(sizeof(unsigned int)*suggest_vol_count, GFP_KERNEL); suggest_vol[0] = 1000000; suggest_vol[1] = 1125000; } else { pr_err("Not need_multi_autok\n"); suggest_vol_count = 1; suggest_vol = kzalloc(sizeof(unsigned int)*suggest_vol_count, GFP_KERNEL); suggest_vol[0] = 1125000; } return retval; }
static int __init autok_init(void) { int retval = 0; autok_log_entry = debugfs_create_file("autok_log", 0660, NULL, NULL, &autok_log_fops); i_gid_write(autok_log_entry->d_inode, 1000); autok_log_info = kzalloc(LOG_SIZE, GFP_KERNEL); is_full_log = 1; /* create node /sys/mtk_sdio */ autok_kobj = kobject_create_and_add("autok", NULL); if (autok_kobj == NULL) return -ENOMEM; stage1_kobj = kobject_create_and_add("stage1", autok_kobj); if (stage1_kobj == NULL) return -ENOMEM; stage2_kobj = kobject_create_and_add("stage2", autok_kobj); if (stage2_kobj == NULL) return -ENOMEM; #ifdef AUTOK_THREAD p_autok_thread_data = kzalloc(sizeof(struct sdio_autok_thread_data), GFP_KERNEL); p_autok_thread_data->log = autok_log_info; /* msdc_autok_apply_param_2 = msdc_autok_apply_param; */ #endif retval = create_host_node(autok_kobj); if (retval != 0) return retval; retval = create_stage1_nodes(HOST_MAX_NUM, stage1_kobj); if (retval != 0) return retval; retval = create_stage2_node(HOST_MAX_NUM, stage2_kobj); if (retval != 0) return retval; suggest_vol_count = msdc_autok_get_suggetst_vcore(&suggest_vol); /* ccyeh suggest_vol_count = 1;//ccyeh FIXME */ return retval; }