static int __init cyttsp4_debug_init(void) { int rc = 0; int i, j; /* Check for invalid or duplicate core_ids */ for (i = 0; i < num_core_ids; i++) { if (!strlen(core_ids[i])) { pr_err("%s: core_id %d is empty\n", __func__, i+1); return -EINVAL; } for (j = i+1; j < num_core_ids; j++) if (!strcmp(core_ids[i], core_ids[j])) { pr_err("%s: core_ids %d and %d are same\n", __func__, i+1, j+1); return -EINVAL; } } for (i = 0; i < num_core_ids; i++) { cyttsp4_debug_infos[i].name = cyttsp4_debug_name; cyttsp4_debug_infos[i].core_id = core_ids[i]; cyttsp4_debug_infos[i].platform_data = &_cyttsp4_debug_platform_data; pr_info("%s: Registering debug device for core_id: %s\n", __func__, cyttsp4_debug_infos[i].core_id); rc = cyttsp4_register_device(&cyttsp4_debug_infos[i]); if (rc < 0) { pr_err("%s: Error, failed registering device\n", __func__); goto fail_unregister_devices; } } rc = cyttsp4_register_driver(&cyttsp4_debug_driver); if (rc) { pr_err("%s: Error, failed registering driver\n", __func__); goto fail_unregister_devices; } pr_info("%s: Cypress TTSP Debug (Built %s) rc=%d\n", __func__, CY_DRIVER_DATE, rc); return 0; fail_unregister_devices: for (i--; i <= 0; i--) { cyttsp4_unregister_device(cyttsp4_debug_infos[i].name, cyttsp4_debug_infos[i].core_id); pr_info("%s: Unregistering device access device for core_id: %s\n", __func__, cyttsp4_debug_infos[i].core_id); } return rc; }
static void __exit cyttsp4_debug_exit(void) { int i; cyttsp4_unregister_driver(&cyttsp4_debug_driver); for (i = 0; i < num_core_ids; i++) { cyttsp4_unregister_device(cyttsp4_debug_infos[i].name, cyttsp4_debug_infos[i].core_id); pr_info("%s: Unregistering debug device for core_id: %s\n", __func__, cyttsp4_debug_infos[i].core_id); } pr_info("%s: module exit\n", __func__); }
static int __init cyttsp4_debug_init(void) { int rc1; int rc2; rc1 = cyttsp4_register_device(&cyttsp4_debug_device); if (rc1) return -ENODEV; rc2 = cyttsp4_register_driver(&cyttsp4_debug_driver); if (rc2) { cyttsp4_unregister_device(&cyttsp4_debug_device); return -ENODEV; } pr_info("%s: %s (Built %s @ %s),rc1=%d rc2=%d\n", __func__, "Cypress TTSP Debug", __DATE__, __TIME__, rc1, rc2); return 0; }
static void __exit cyttsp4_debug_exit(void) { cyttsp4_unregister_device(&cyttsp4_debug_device); cyttsp4_unregister_driver(&cyttsp4_debug_driver); pr_info("%s: module exit\n", __func__); }