summaryrefslogtreecommitdiffstats
path: root/include/linux/device.h
diff options
context:
space:
mode:
authorCornelia Huck <cohuck@de.ibm.com>2005-06-22 16:59:51 +0200
committerGreg Kroah-Hartman <gregkh@suse.de>2005-06-29 22:48:03 -0700
commit0edb586049e57c56e625536476931117a57671e9 (patch)
tree9d92bb9821d134d199d62de1ff3096ff2b73fdc7 /include/linux/device.h
parentfd782a4a99d2d3e818b9465c427b10f7f027d7da (diff)
downloadlinux-0edb586049e57c56e625536476931117a57671e9.tar.gz
linux-0edb586049e57c56e625536476931117a57671e9.tar.bz2
linux-0edb586049e57c56e625536476931117a57671e9.zip
[PATCH] driver core: add bus_find_device & driver_find_device functions
Add bus_find_device() and driver_find_device() which allow searching for a device in the bus's resp. the driver's klist and obtain a reference on it. Signed-off-by: Cornelia Huck <cohuck@de.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'include/linux/device.h')
-rw-r--r--include/linux/device.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/device.h b/include/linux/device.h
index 7b781a72b293..07222c531d37 100644
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -80,6 +80,8 @@ extern struct bus_type * find_bus(char * name);
int bus_for_each_dev(struct bus_type * bus, struct device * start, void * data,
int (*fn)(struct device *, void *));
+struct device * bus_find_device(struct bus_type *bus, struct device *start,
+ void *data, int (*match)(struct device *, void *));
int bus_for_each_drv(struct bus_type * bus, struct device_driver * start,
void * data, int (*fn)(struct device_driver *, void *));
@@ -142,6 +144,9 @@ extern void driver_remove_file(struct device_driver *, struct driver_attribute *
extern int driver_for_each_device(struct device_driver * drv, struct device * start,
void * data, int (*fn)(struct device *, void *));
+struct device * driver_find_device(struct device_driver *drv,
+ struct device *start, void *data,
+ int (*match)(struct device *, void *));
/*