summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb/dvb-core/dvbdev.c
diff options
context:
space:
mode:
authorAndreas Oberritter <devnull@localhost>2005-03-17 03:12:43 +0000
committerAndreas Oberritter <devnull@localhost>2005-03-17 03:12:43 +0000
commit53bcd1a4d223da832c2c8734bd53b21b2d25d5f5 (patch)
treefcbe2cd28ab77698a3dd5195eb531e8e871e9084 /linux/drivers/media/dvb/dvb-core/dvbdev.c
parente76152b935df8a52a16ee526f6573e7e4d41e6d7 (diff)
downloadmediapointer-dvb-s2-53bcd1a4d223da832c2c8734bd53b21b2d25d5f5.tar.gz
mediapointer-dvb-s2-53bcd1a4d223da832c2c8734bd53b21b2d25d5f5.tar.bz2
Modified dvb_register_adapter() to avoid kmalloc/kfree. Drivers have to
embed struct dvb_adapter into their private data struct from now on.
Diffstat (limited to 'linux/drivers/media/dvb/dvb-core/dvbdev.c')
-rw-r--r--linux/drivers/media/dvb/dvb-core/dvbdev.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/linux/drivers/media/dvb/dvb-core/dvbdev.c b/linux/drivers/media/dvb/dvb-core/dvbdev.c
index 94b3bfb51..ff5844388 100644
--- a/linux/drivers/media/dvb/dvb-core/dvbdev.c
+++ b/linux/drivers/media/dvb/dvb-core/dvbdev.c
@@ -285,9 +285,8 @@ skip:
}
-int dvb_register_adapter(struct dvb_adapter **padap, const char *name, struct module *module)
+int dvb_register_adapter(struct dvb_adapter *adap, const char *name, struct module *module)
{
- struct dvb_adapter *adap;
int num;
if (down_interruptible (&dvbdev_register_lock))
@@ -298,11 +297,6 @@ int dvb_register_adapter(struct dvb_adapter **padap, const char *name, struct mo
return -ENFILE;
}
- if (!(*padap = adap = kmalloc(sizeof(struct dvb_adapter), GFP_KERNEL))) {
- up(&dvbdev_register_lock);
- return -ENOMEM;
- }
-
memset (adap, 0, sizeof(struct dvb_adapter));
INIT_LIST_HEAD (&adap->device_list);
@@ -330,7 +324,6 @@ int dvb_unregister_adapter(struct dvb_adapter *adap)
return -ERESTARTSYS;
list_del (&adap->list_head);
up (&dvbdev_register_lock);
- kfree (adap);
return 0;
}
EXPORT_SYMBOL(dvb_unregister_adapter);