Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Re: Kernel 2.5.68 and simple TV



Am Son, 2003-04-27 um 11.28 schrieb boris mogwitz:

> > -tuxzap but he write error: /dev/dvb/adapter/fronted0 no such device.
> 
> This looks like a devfs-dvbdriver bug ... but you can create the nodes with 
> mknod ... (works here -> 2.5.68-bk7 ... more or less -> irq problems)

Found the same problem yesterday with 2.5.68, devfs enabled, and
dvb-kernel CVS. There was a change in the devfs namespace allocation
(For reference:
http://groups.google.com/groups?hl=de&lr=&ie=UTF-8&oe=UTF-8&th=b907a4b7c00de563&rnum=1). I found the DVB device nodes in the /dev directory, and /dev/dvb was empty.

Try the attached patch to fix devfs name allocation to
/dev/dvb/adapter0.

Michael

BTW, the kernel driver already had this fixed. The problem arises when
executing dvb-kernel's "makelinks" script.

Index: linux/drivers/media/dvb/dvb-core/dvbdev.c
===================================================================
RCS file: /cvs/linuxtv/dvb-kernel/linux/drivers/media/dvb/dvb-core/dvbdev.c,v
retrieving revision 1.15
diff -u -r1.15 dvbdev.c
--- linux/drivers/media/dvb/dvb-core/dvbdev.c	24 Apr 2003 08:28:01 -0000	1.15
+++ linux/drivers/media/dvb/dvb-core/dvbdev.c	28 Apr 2003 11:35:25 -0000
@@ -273,7 +273,6 @@
 
 int dvb_register_adapter(struct dvb_adapter **padap, const char *name)
 {
-	char dirname[10];
 	struct dvb_adapter *adap;
 	int num;
 
@@ -297,9 +296,8 @@
 	try_module_get(THIS_MODULE);
 
 	printk ("DVB: registering new adapter (%s).\n", name);
-	
-	snprintf(dirname, sizeof(dirname), "adapter%d", num);
-	adap->devfs_handle = devfs_mk_dir(dvb_devfs_handle, dirname, NULL);
+
+	adap->devfs_handle = devfs_mk_dir("dvb/adapter%d",num);
 	adap->num = num;
 	adap->name = name;
 
@@ -328,7 +326,7 @@
 static
 int __init init_dvbdev(void)
 {
-	dvb_devfs_handle = devfs_mk_dir (NULL, "dvb", NULL);
+	dvb_devfs_handle = devfs_mk_dir ("dvb");
 #ifndef CONFIG_DVB_DEVFS_ONLY
 	if(register_chrdev(DVB_MAJOR,"DVB", &dvb_device_fops)) {
 		printk("video_dev: unable to get major %d\n", DVB_MAJOR);

Home | Main Index | Thread Index