<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">ChangeSet 1.1587.5.19, 2004/05/04 14:16:58-07:00, olh@suse.de

[PATCH] add simple class for adb

This adds /sys/class/adb/, removes unused devfs lines and updates a
comment to match reality.


 drivers/macintosh/adb.c |   19 +++++++++++++------
 1 files changed, 13 insertions(+), 6 deletions(-)


diff -Nru a/drivers/macintosh/adb.c b/drivers/macintosh/adb.c
--- a/drivers/macintosh/adb.c	Fri May 14 15:58:13 2004
+++ b/drivers/macintosh/adb.c	Fri May 14 15:58:13 2004
@@ -10,7 +10,7 @@
  *
  * To do:
  *
- * - /proc/adb to list the devices and infos
+ * - /sys/bus/adb to list the devices and infos
  * - more /dev/adb to allow userland to receive the
  *   flow of auto-polling datas from a given device.
  * - move bus probe to a kernel thread
@@ -23,7 +23,6 @@
 #include &lt;linux/slab.h&gt;
 #include &lt;linux/module.h&gt;
 #include &lt;linux/fs.h&gt;
-#include &lt;linux/devfs_fs_kernel.h&gt;
 #include &lt;linux/mm.h&gt;
 #include &lt;linux/sched.h&gt;
 #include &lt;linux/smp_lock.h&gt;
@@ -36,6 +35,7 @@
 #include &lt;linux/delay.h&gt;
 #include &lt;linux/spinlock.h&gt;
 #include &lt;linux/completion.h&gt;
+#include &lt;linux/device.h&gt;
 #include &lt;asm/uaccess.h&gt;
 #include &lt;asm/semaphore.h&gt;
 #ifdef CONFIG_PPC
@@ -75,6 +75,8 @@
 	NULL
 };
 
+static struct class_simple *adb_dev_class;
+
 struct adb_driver *adb_controller;
 struct notifier_block *adb_client_list = NULL;
 static int adb_got_sleep;
@@ -883,6 +885,7 @@
 }
 
 static struct file_operations adb_fops = {
+	.owner		= THIS_MODULE,
 	.llseek		= no_llseek,
 	.read		= adb_read,
 	.write		= adb_write,
@@ -893,9 +896,13 @@
 static void
 adbdev_init(void)
 {
-	if (register_chrdev(ADB_MAJOR, "adb", &amp;adb_fops))
+	if (register_chrdev(ADB_MAJOR, "adb", &amp;adb_fops)) {
 		printk(KERN_ERR "adb: unable to get major %d\n", ADB_MAJOR);
-	else
-		devfs_mk_cdev(MKDEV(ADB_MAJOR, 0),
-				S_IFCHR | S_IRUSR | S_IWUSR, "adb");
+		return;
+	}
+	adb_dev_class = class_simple_create(THIS_MODULE, "adb");
+	if (IS_ERR(adb_dev_class)) {
+		return;
+	}
+	class_simple_device_add(adb_dev_class, MKDEV(ADB_MAJOR, 0), NULL, "adb");
 }
</pre></body></html>