public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* PATCH: add class_device_find
@ 2004-03-02 15:49 Jamey Hicks
  2004-03-02 20:06 ` Greg KH
  0 siblings, 1 reply; 2+ messages in thread
From: Jamey Hicks @ 2004-03-02 15:49 UTC (permalink / raw)
  To: greg; +Cc: linux-kernel


This patch adds:

struct class_device * class_device_find(struct class *class, const char 
*class_id)

to find a class device by name so that drivers that match up class 
devices by ID do not need to reach into the internals of class 
implementation.  RMK recommended that I take this approach, and it seems 
reasonable to me.  Please let me know what you think.

-Jamey Hicks


--- linux-2.6.3/drivers/base/class.c    2004-03-02 10:44:56.000000000 -0500
+++ linux-2.6.3-hh1/drivers/base/class.c    2004-03-02 
10:45:14.000000000 -0500
@@ -372,6 +372,19 @@
     return 0;
 }
 
+struct class_device * class_device_find(struct class *class, const char 
*class_id)
+{
+    struct list_head * entry;
+    list_for_each(entry, &class->children) {
+        struct class_device *class_dev = container_of(entry, struct 
class_device, node);
+        if (class_dev) {
+            if (strcmp(class_dev->class_id, class_id) == 0)
+                return class_dev;
+        }
+    }
+    return NULL;
+}
+
 struct class_device * class_device_get(struct class_device *class_dev)
 {
     if (class_dev)
@@ -463,6 +476,7 @@
 EXPORT_SYMBOL(class_device_put);
 EXPORT_SYMBOL(class_device_create_file);
 EXPORT_SYMBOL(class_device_remove_file);
+EXPORT_SYMBOL(class_device_find);
 
 EXPORT_SYMBOL(class_interface_register);
 EXPORT_SYMBOL(class_interface_unregister);



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

end of thread, other threads:[~2004-03-02 20:07 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-03-02 15:49 PATCH: add class_device_find Jamey Hicks
2004-03-02 20:06 ` Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox