Michael Troß wrote:
Your fix makes it impossible to build the driver for 2.4 kernels. I'd like to avoid #if LINUX_VERSION_CODE <= KERNEL_VERSION(X,Y,Z) in the main code, so I asked Christoph Hellwig to introduce a MacOS-X alikeAm Son, 2003-04-27 um 11.28 schrieb boris mogwitz: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)-tuxzap but he write error: /dev/dvb/adapter/fronted0 no such device.
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);
-- Info: To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.