diff options
author | Grant Likely <grant.likely@secretlab.ca> | 2010-06-08 09:48:17 -0400 |
---|---|---|
committer | Grant Likely <grant.likely@secretlab.ca> | 2010-07-05 18:14:51 -0400 |
commit | 8cec0e7b4c7c0b76f2b5285f250211ad81c3eafd (patch) | |
tree | 84d3988600e37906d8e9972ad8ae31a0ea4684cf /include/linux/of_device.h | |
parent | 2e13cba8dc35774bf1d7169733e876c5b7adee54 (diff) |
of/device: Add OF style matching helper function
Add of_driver_match_device() helper function. This function can be used
by bus types to determine if a driver works with a device when using OF
style matching. If CONFIG_OF is unselected, then it is a nop.
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
CC: Greg Kroah-Hartman <gregkh@suse.de>
CC: Michal Simek <monstr@monstr.eu>
CC: Grant Likely <grant.likely@secretlab.ca>
CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
CC: Stephen Rothwell <sfr@canb.auug.org.au>
CC: linux-kernel@vger.kernel.org
CC: microblaze-uclinux@itee.uq.edu.au
CC: linuxppc-dev@ozlabs.org
CC: devicetree-discuss@lists.ozlabs.org
Diffstat (limited to 'include/linux/of_device.h')
-rw-r--r-- | include/linux/of_device.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/include/linux/of_device.h b/include/linux/of_device.h index 238e92e007e6..91d75fb0c726 100644 --- a/include/linux/of_device.h +++ b/include/linux/of_device.h | |||
@@ -30,6 +30,17 @@ | |||
30 | extern const struct of_device_id *of_match_device( | 30 | extern const struct of_device_id *of_match_device( |
31 | const struct of_device_id *matches, const struct device *dev); | 31 | const struct of_device_id *matches, const struct device *dev); |
32 | 32 | ||
33 | /** | ||
34 | * of_driver_match_device - Tell if a driver's of_match_table matches a device. | ||
35 | * @drv: the device_driver structure to test | ||
36 | * @dev: the device structure to match against | ||
37 | */ | ||
38 | static inline int of_driver_match_device(const struct device *dev, | ||
39 | const struct device_driver *drv) | ||
40 | { | ||
41 | return of_match_device(drv->of_match_table, dev) != NULL; | ||
42 | } | ||
43 | |||
33 | extern struct of_device *of_dev_get(struct of_device *dev); | 44 | extern struct of_device *of_dev_get(struct of_device *dev); |
34 | extern void of_dev_put(struct of_device *dev); | 45 | extern void of_dev_put(struct of_device *dev); |
35 | 46 | ||
@@ -48,6 +59,14 @@ extern ssize_t of_device_get_modalias(struct device *dev, | |||
48 | extern int of_device_uevent(struct device *dev, struct kobj_uevent_env *env); | 59 | extern int of_device_uevent(struct device *dev, struct kobj_uevent_env *env); |
49 | 60 | ||
50 | 61 | ||
62 | #else /* CONFIG_OF_DEVICE */ | ||
63 | |||
64 | static inline int of_driver_match_device(struct device *dev, | ||
65 | struct device_driver *drv) | ||
66 | { | ||
67 | return 0; | ||
68 | } | ||
69 | |||
51 | #endif /* CONFIG_OF_DEVICE */ | 70 | #endif /* CONFIG_OF_DEVICE */ |
52 | 71 | ||
53 | #endif /* _LINUX_OF_DEVICE_H */ | 72 | #endif /* _LINUX_OF_DEVICE_H */ |