# HG changeset patch # User eyck # Date 1018988387 0 # Node ID 39115273d236163df3be4129357db19b878796af # Parent 22e251441360a05f97a0b53afe88c6ff26903cb4 Mark Schreiber sent link to Marcus Sundburg patch to mga_vid, which enables mga_vid operation with devfs. diff -r 22e251441360 -r 39115273d236 drivers/mga_vid.c --- 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 #endif +#ifdef CONFIG_DEVFS_FS +#include +#endif + #include #include #include @@ -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 }