[Mplayer-cvslog] CVS: main/drivers mga_vid.c,1.41,1.42
Dariush Pietrzak
eyck at mplayerhq.banki.hu
Tue Apr 16 22:19:50 CEST 2002
Update of /cvsroot/mplayer/main/drivers
In directory mplayer:/var/tmp.root/cvs-serv11814
Modified Files:
mga_vid.c
Log Message:
Mark Schreiber sent link to Marcus Sundburg patch to mga_vid, which enables
mga_vid operation with devfs.
Index: mga_vid.c
===================================================================
RCS file: /cvsroot/mplayer/main/drivers/mga_vid.c,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -r1.41 -r1.42
--- mga_vid.c 14 Apr 2002 23:14:26 -0000 1.41
+++ mga_vid.c 16 Apr 2002 20:19:47 -0000 1.42
@@ -57,6 +57,10 @@
#include <asm/mtrr.h>
#endif
+#ifdef CONFIG_DEVFS_FS
+#include <linux/devfs_fs_kernel.h>
+#endif
+
#include <asm/uaccess.h>
#include <asm/system.h>
#include <asm/io.h>
@@ -261,6 +265,10 @@
static mga_vid_config_t mga_config;
+#ifdef CONFIG_DEVFS_FS
+static devfs_handle_t dev_handle = NULL;
+#endif
+
static int colkey_saved=0;
static int colkey_on=0;
static unsigned char colkey_color[4];
@@ -1555,8 +1563,17 @@
return -EINVAL;
}
}
-
+#ifdef CONFIG_DEVFS_FS
+ if ((dev_handle = devfs_register(
+ NULL,
+ "mga_vid", 0, DEVFS_FL_NONE,
+ MGA_VID_MAJOR, 0,
+ S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IFCHR,
+ 0, 0,
+ &mga_vid_fops, NULL)) == NULL)
+#else
if(register_chrdev(MGA_VID_MAJOR, "mga_vid", &mga_vid_fops))
+#endif
{
printk(KERN_ERR "mga_vid: unable to get major: %d\n", MGA_VID_MAJOR);
return -EIO;
@@ -1565,7 +1582,11 @@
if (!mga_vid_find_card())
{
printk(KERN_ERR "mga_vid: no supported devices found\n");
+#ifdef CONFIG_DEVFS_FS
+ devfs_unregister(dev_handle);
+#else
unregister_chrdev(MGA_VID_MAJOR, "mga_vid");
+#endif
return -EINVAL;
}
mga_param_buff = kmalloc(PARAM_BUFF_SIZE,GFP_KERNEL);
@@ -1594,6 +1615,10 @@
//FIXME turn off BES
printk(KERN_INFO "mga_vid: Cleaning up module\n");
+#ifdef CONFIG_DEVFS_FS
+ devfs_unregister(dev_handle);
+#else
unregister_chrdev(MGA_VID_MAJOR, "mga_vid");
+#endif
}
More information about the MPlayer-cvslog
mailing list