/*--------------------------------------------------------------------------- */ static int __init tlc_tui_init(void) { pr_info("Loading t-base-tui module.\n"); pr_debug("\n=============== Running TUI Kernel TLC ===============\n"); pr_info("%s\n", MOBICORE_COMPONENT_BUILD_TAG); dev_t devno; int err; static struct class *tui_class; err = alloc_chrdev_region(&devno, 0, 1, TUI_DEV_NAME); if (err) { pr_debug(KERN_ERR "Unable to allocate Trusted UI device number\n"); return err; } cdev_init(&tui_cdev, &tui_fops); tui_cdev.owner = THIS_MODULE; /* tui_cdev.ops = &tui_fops; */ err = cdev_add(&tui_cdev, devno, 1); if (err) { pr_debug(KERN_ERR "Unable to add Trusted UI char device\n"); unregister_chrdev_region(devno, 1); return err; } tui_class = class_create(THIS_MODULE, "tui_cls"); device_create(tui_class, NULL, devno, NULL, TUI_DEV_NAME); if (!hal_tui_init()) return -1; return 0; }
/*--------------------------------------------------------------------------- */ static int __init tlc_tui_init(void) { pr_info("Loading t-base-tui module.\n"); pr_debug("\n=============== Running TUI Kernel TLC ===============\n"); pr_info("%s\n", MOBICORE_COMPONENT_BUILD_TAG); dev_t devno; int err; static struct class *tui_class; atomic_set(&fileopened, 0); err = alloc_chrdev_region(&devno, 0, 1, TUI_DEV_NAME); if (err) { pr_debug(KERN_ERR "Unable to allocate Trusted UI device number\n"); return err; } cdev_init(&tui_cdev, &tui_fops); tui_cdev.owner = THIS_MODULE; /* tui_cdev.ops = &tui_fops; */ err = cdev_add(&tui_cdev, devno, 1); if (err) { pr_debug(KERN_ERR "Unable to add Trusted UI char device\n"); unregister_chrdev_region(devno, 1); return err; } tui_class = class_create(THIS_MODULE, "tui_cls"); if (IS_ERR(tui_class)) { pr_debug(KERN_ERR "Failed to create tui class.\n"); unregister_chrdev_region(devno, 1); cdev_del(&tui_cdev); return -1; } device_create(tui_class, NULL, devno, NULL, TUI_DEV_NAME); if (!hal_tui_init()) { pr_debug(KERN_ERR "Failed to initialize tui hal\n"); unregister_chrdev_region(devno, 1); cdev_del(&tui_cdev); return -1; } /* register the switch device for tui */ tui_switch.name = "tui"; err = switch_dev_register(&tui_switch); if (err) pr_debug(KERN_ERR "Failed to register tui_switch.\n"); return 0; }