From mboxrd@z Thu Jan 1 00:00:00 1970 From: Greg KH Date: Tue, 23 Dec 2003 21:30:37 +0000 Subject: [PATCH] add sysfs misc class [4/5] Message-Id: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-hotplug@vger.kernel.org Add sysfs misc class support, and fix bug where misc_init() was being called to late in the boot process. diff -Nru a/drivers/char/misc.c b/drivers/char/misc.c --- a/drivers/char/misc.c Tue Dec 23 12:53:35 2003 +++ b/drivers/char/misc.c Tue Dec 23 12:53:35 2003 @@ -47,7 +47,7 @@ #include #include #include - +#include #include #include @@ -180,6 +180,15 @@ return err; } +/* + * TODO for 2.7: + * - add a struct class_device to struct miscdevice and make all usages of + * them dynamic. + */ +static struct class misc_class = { + .name = "misc", +}; + static struct file_operations misc_fops = { .owner = THIS_MODULE, .open = misc_open, @@ -234,6 +243,8 @@ "misc/%s", misc->name); } + simple_add_class_device(&misc_class, MKDEV(MISC_MAJOR, misc->minor), + misc->dev, misc->name); devfs_mk_cdev(MKDEV(MISC_MAJOR, misc->minor), S_IFCHR|S_IRUSR|S_IWUSR|S_IRGRP, misc->devfs_name); @@ -265,6 +276,7 @@ down(&misc_sem); list_del(&misc->list); + simple_remove_class_device(MKDEV(MISC_MAJOR, misc->minor)); devfs_remove(misc->devfs_name); if (i < DYNAMIC_MINORS && i>0) { misc_minors[i>>3] &= ~(1 << (misc->minor & 7)); @@ -285,6 +297,7 @@ if (ent) ent->proc_fops = &misc_proc_fops; #endif + class_register(&misc_class); #ifdef CONFIG_MVME16x rtc_MK48T08_init(); #endif @@ -319,4 +332,4 @@ } return 0; } -module_init(misc_init); +subsys_initcall(misc_init); diff -Nru a/include/linux/miscdevice.h b/include/linux/miscdevice.h --- a/include/linux/miscdevice.h Tue Dec 23 12:53:25 2003 +++ b/include/linux/miscdevice.h Tue Dec 23 12:53:25 2003 @@ -36,12 +36,15 @@ #define TUN_MINOR 200 +struct device; + struct miscdevice { int minor; const char *name; struct file_operations *fops; struct list_head list; + struct device *dev; char devfs_name[64]; }; ------------------------------------------------------- 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 Linux-hotplug-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel