Messages in this thread Patch in this message | | | Date | Tue, 02 Mar 2004 10:49:04 -0500 | From | Jamey Hicks <> | Subject | PATCH: add class_device_find |
| |
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);
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |