All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] add sysfs misc class  [4/5]
@ 2003-12-23 21:30 Greg KH
  0 siblings, 0 replies; 2+ messages in thread
From: Greg KH @ 2003-12-23 21:30 UTC (permalink / raw)
  To: linux-hotplug

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 <linux/devfs_fs_kernel.h>
 #include <linux/stat.h>
 #include <linux/init.h>
-
+#include <linux/device.h>
 #include <linux/tty.h>
 #include <linux/kmod.h>
 
@@ -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_id\x1278&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

^ permalink raw reply	[flat|nested] 2+ messages in thread
* [PATCH] sysfs class patches - take 2 [0/5]
@ 2003-12-23 21:24 Greg KH
  2003-12-23 21:26 ` [PATCH] add "simple" class device support [1/5] Greg KH
  0 siblings, 1 reply; 2+ messages in thread
From: Greg KH @ 2003-12-23 21:24 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, linux-hotplug-devel

Here are the sysfs class patches reworked against a clean 2.6.0 tree.
I've created a class_simple.c file that contains a "simple" class device
interface.  I've then converted the tty core to use this interface (the
combo of these two patches makes for no extra code added).

Then there are 3 patches, adding class support for misc, mem, and vc
class devices.  As the interface to add simple class support for devices
is now so low, I feel that we do need to have mem class support as to
not special case any char device.

With these patches, it's now much easier for others to implement class
support for remaining char drivers/subsystems that do not have it yet.

Andrew, can you please remove the following 3 patches from your
2.6.0-mm1 tree:
	sysfs-mem-device-support.patch
	sysfs-misc-device-support.patch
	sysfs-vc-device-support.patch

and add these 5 patches instead?  The sysfs-oops-fix.patch needs to
stay.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2003-12-23 21:31 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-12-23 21:30 [PATCH] add sysfs misc class [4/5] Greg KH
  -- strict thread matches above, loose matches on Subject: below --
2003-12-23 21:24 [PATCH] sysfs class patches - take 2 [0/5] Greg KH
2003-12-23 21:26 ` [PATCH] add "simple" class device support [1/5] Greg KH
2003-12-23 21:27   ` [PATCH] remove tty class device logic [2/5] Greg KH
2003-12-23 21:29     ` [PATCH] add sysfs mem class [3/5] Greg KH
2003-12-23 21:30       ` [PATCH] add sysfs misc class [4/5] Greg KH

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.