int smsnet_register(void) { int rc; INIT_LIST_HEAD(&g_smsnet_clients); kmutex_init(&g_smsnet_clientslock); memset(&g_smsnet_stats, 0, sizeof(g_smsnet_stats)); g_smsnet_device = alloc_netdev(0, "sms", smsnet_setup_device); if (!g_smsnet_device) { sms_err("alloc_netdev() failed"); return -ENOMEM; } rc = register_netdev(g_smsnet_device); if (rc < 0) { sms_err("register_netdev() failed %d\n", rc); free_netdev(g_smsnet_device); return rc; } rc = smscore_register_hotplug(smsnet_hotplug); sms_info("exit - rc %d", rc); return rc; }
int smsdvb_register(void) { int rc; INIT_LIST_HEAD(&g_smsdvb_clients); kmutex_init(&g_smsdvb_clientslock); rc = smscore_register_hotplug(smsdvb_hotplug); sms_debug(""); return rc; }
static int __init smsdvb_module_init(void) { int rc; INIT_LIST_HEAD(&g_smsdvb_clients); kmutex_init(&g_smsdvb_clientslock); smsdvb_debugfs_register(); rc = smscore_register_hotplug(smsdvb_hotplug); pr_debug("\n"); return rc; }
int smschar_register(void) { dev_t devno = MKDEV(smschar_major, smschar_minor); int rc; sms_info("registering device major=%d minor=%d", smschar_major, smschar_minor); if (smschar_major) { rc = register_chrdev_region(devno, SMSCHAR_NR_DEVS, "smschar"); } else { rc = alloc_chrdev_region(&devno, smschar_minor, SMSCHAR_NR_DEVS, "smschar"); smschar_major = MAJOR(devno); } if (rc < 0) { sms_warn("smschar: can't get major %d", smschar_major); return rc; } init_waitqueue_head(&g_pnp_event); kmutex_init(&g_smschar_pollwait_lock); return smscore_register_hotplug(smschar_hotplug); }