static int __init sec_misc_init(void) { int ret=0; klogi("started!"); printk("[denis]sec_misc_init!\n"); ret = misc_register(&sec_misc_device); if (ret<0) { kloge("misc_register failed!"); return ret; } //sec_switch_class = class_create(THIS_MODULE, "sec"); //if (IS_ERR(sec_switch_class)) //pr_err("Failed to create class named \"sec\"!\n"); //sec_misc_dev = device_create(sec_class, NULL, 0, NULL, "switch"); sec_misc_dev = device_create(sec_class, NULL, 0, NULL, "sec_misc"); //EUR if (IS_ERR(sec_misc_dev)) { kloge("failed to create device!"); return -1; } if (device_create_file(sec_misc_dev, &dev_attr_uartsel) < 0) { kloge("failed to create device file!(%s)!\n", dev_attr_uartsel.attr.name); return -1; } if (device_create_file(sec_misc_dev, &dev_attr_usbsel) < 0) { kloge("failed to create device file!(%s)!\n", dev_attr_usbsel.attr.name); return -1; } if (device_create_file(sec_misc_dev, &dev_attr_usb_state) < 0) //EUR pr_err("Failed to create device file(%s)!\n", dev_attr_usb_state.attr.name); //EUR if (device_create_file(sec_misc_dev, &dev_attr_emmc_checksum_done) < 0) pr_err("failed to create device file - %s\n", dev_attr_emmc_checksum_done.attr.name); if (device_create_file(sec_misc_dev, &dev_attr_emmc_checksum_pass) < 0) pr_err("failed to create device file - %s\n", dev_attr_emmc_checksum_pass.attr.name); wake_lock_init(&sec_misc_wake_lock, WAKE_LOCK_SUSPEND, "sec_misc"); p3_uart_path_init(); p3_usb_path_init(); p3_set_usb_path(USB_SEL_AP_USB); init_jig_on(); return 0; }
static int param_init(void) { int ret; #ifdef PARAM_USE_INIT_BUFFER param_buf = kmalloc(PARAM_LEN, GFP_KERNEL); if (!param_buf) { kloge("Unable to alloc param_buf!"); return -ENOMEM; } image_buf = kmalloc(IMAGE_LEN, GFP_KERNEL); if (!image_buf) { kloge("Unable to alloc image_buf!"); kfree(param_buf); return -ENOMEM; } #endif #ifdef PARAM_PROCFS_DEBUG struct proc_dir_entry *ent; /* Creats '/proc/param' directory */ param_dir = proc_mkdir("param", NULL); if (param_dir == NULL) { kloge("Unable to create /proc/param directory\n"); return -ENOMEM; } /* Creats RW '/proc/param/sleep/debug' entry */ ent = create_proc_entry("debug", 0, param_dir); if (ent == NULL) { kloge("Unable to create /proc/param/debug entry"); ret = -ENOMEM; goto fail; } ent->read_proc = param_read_proc_debug; ent->write_proc = param_write_proc_debug; #endif klogi("param_init"); #if 0 ret = load_param_value(); #else ret = load_lfs_param_value(); #endif if (ret < 0) { kloge("Loading parameters failed. Parameters have been initialized as default."); param_set_default(); } sec_set_param_value = set_param_value; sec_get_param_value = get_param_value; return 0; #ifdef PARAM_PROCFS_DEBUG fail: remove_proc_entry("param", 0); #ifdef PARAM_USE_INIT_BUFFER kfree(param_buf); kfree(image_buf); #endif return ret; #endif }