Mercurial > mplayer.hg
changeset 5653:39115273d236
Mark Schreiber sent link to Marcus Sundburg patch to mga_vid, which enables
mga_vid operation with devfs.
author | eyck |
---|---|
date | Tue, 16 Apr 2002 20:19:47 +0000 |
parents | 22e251441360 |
children | a8e785ce5cbf |
files | drivers/mga_vid.c |
diffstat | 1 files changed, 26 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/drivers/mga_vid.c Tue Apr 16 19:43:36 2002 +0000 +++ b/drivers/mga_vid.c Tue Apr 16 20:19:47 2002 +0000 @@ -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 }