diff options
Diffstat (limited to 'linux/drivers/media/mdtv/smsdvb.c')
-rw-r--r-- | linux/drivers/media/mdtv/smsdvb.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/linux/drivers/media/mdtv/smsdvb.c b/linux/drivers/media/mdtv/smsdvb.c index 166f218ca..7a1e6c33b 100644 --- a/linux/drivers/media/mdtv/smsdvb.c +++ b/linux/drivers/media/mdtv/smsdvb.c @@ -375,3 +375,30 @@ adapter_error: 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); + + printk(KERN_INFO "%s\n", __FUNCTION__); + + return rc; +} + +void smsdvb_unregister(void) +{ + smscore_unregister_hotplug(smsdvb_hotplug); + + kmutex_lock(&g_smsdvb_clientslock); + + while (!list_empty(&g_smsdvb_clients)) + smsdvb_unregister_client((smsdvb_client_t*) g_smsdvb_clients.next); + + kmutex_unlock(&g_smsdvb_clientslock); + +} + |