add sysfs vc class [5/5]
PATCH 1/1 add sysfs vc class [5/5]
Add sysfs vc class support
drivers/char/vc_screen.c +12 -0
@@ -36,6 +36,7 @@#include <linux/kbd_kern.h> #include <linux/console.h> #include <linux/smp_lock.h> +#include <linux/device.h> #include <asm/uaccess.h> #include <asm/byteorder.h> #include <asm/unaligned.h>
@@ -469,6 +470,10 @@ .open = vcs_open, }; +static struct class vc_class = { + .name ="vc" , +}; +void vcs_make_devfs (struct tty_struct *tty) { devfs_mk_cdev(MKDEV(VCS_MAJOR, tty->index + 1),
@@ -477,19 +482,26 @@devfs_mk_cdev (MKDEV (VCS_MAJOR , tty->index +129 ),S_IFCHR |S_IRUSR |S_IWUSR ,"vcc/a%u" , tty->index +1 ); +simple_add_class_device (&vc_class,MKDEV (VCS_MAJOR , tty->index +1 ),NULL ,"vcs%u" , tty->index +1 ); +simple_add_class_device (&vc_class,MKDEV (VCS_MAJOR , tty->index +129 ),NULL ,"vcsa%u" , tty->index +1 ); }void vcs_remove_devfs (struct tty_struct *tty) {devfs_remove ("vcc/%u" , tty->index +1 );devfs_remove ("vcc/a%u" , tty->index +1 ); +simple_remove_class_device (MKDEV (VCS_MAJOR , tty->index +1 )); +simple_remove_class_device (MKDEV (VCS_MAJOR , tty->index +129 )); }int __init vcs_init (void ) {if (register_chrdev (VCS_MAJOR ,"vcs" , &vcs_fops))panic ("unable to get major %d for vcs device" ,VCS_MAJOR ); +class_register (&vc_class);devfs_mk_cdev (MKDEV (VCS_MAJOR ,0 ),S_IFCHR |S_IRUSR |S_IWUSR ,"vcc/0" );devfs_mk_cdev (MKDEV (VCS_MAJOR ,128 ),S_IFCHR |S_IRUSR |S_IWUSR ,"vcc/a0" ); +simple_add_class_device (&vc_class,MKDEV (VCS_MAJOR ,0 ),NULL ,"vcs" ); +simple_add_class_device (&vc_class,MKDEV (VCS_MAJOR ,128 ),NULL ,"vcsa" );return 0 ; }
-------------------------------------------------------
This SF.net email is sponsored by: IBM Linux Tutorials. Become an expert in LINUX or just sharpen your skills. Sign up for IBM's Free Linux Tutorials. Learn everything from the bash shell to sys admin. Click now! http://ads.osdn.com/?ad_id78&alloc_id371&op=click
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel