diff options
author | Stephen Rothwell <sfr@canb.auug.org.au> | 2007-05-01 02:29:19 -0400 |
---|---|---|
committer | Stephen Rothwell <sfr@canb.auug.org.au> | 2007-07-19 23:29:51 -0400 |
commit | 0081cbc3731de8ad4744ba433af51f17bf27eb9c (patch) | |
tree | b03e5c4b7087ad78a230722850a29a72b2960663 /arch | |
parent | 97e873e5c8ad8711ce4cca080cff4eb5d21b3aeb (diff) |
Consolidate of_device_is_compatible
The only difference here is that Sparc uses strncmp to match compatibility
names while PowerPC uses strncasecmp.
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Acked-by: Paul Mackerras <paulus@samba.org>
Acked-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/powerpc/kernel/prom.c | 25 | ||||
-rw-r--r-- | arch/sparc/kernel/prom.c | 21 | ||||
-rw-r--r-- | arch/sparc64/kernel/prom.c | 21 |
3 files changed, 0 insertions, 67 deletions
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c index 6c9419a4d70a..c009d2155f9c 100644 --- a/arch/powerpc/kernel/prom.c +++ b/arch/powerpc/kernel/prom.c | |||
@@ -1057,31 +1057,6 @@ void __init early_init_devtree(void *params) | |||
1057 | } | 1057 | } |
1058 | 1058 | ||
1059 | 1059 | ||
1060 | /** Checks if the given "compat" string matches one of the strings in | ||
1061 | * the device's "compatible" property | ||
1062 | */ | ||
1063 | int of_device_is_compatible(const struct device_node *device, | ||
1064 | const char *compat) | ||
1065 | { | ||
1066 | const char* cp; | ||
1067 | int cplen, l; | ||
1068 | |||
1069 | cp = of_get_property(device, "compatible", &cplen); | ||
1070 | if (cp == NULL) | ||
1071 | return 0; | ||
1072 | while (cplen > 0) { | ||
1073 | if (strncasecmp(cp, compat, strlen(compat)) == 0) | ||
1074 | return 1; | ||
1075 | l = strlen(cp) + 1; | ||
1076 | cp += l; | ||
1077 | cplen -= l; | ||
1078 | } | ||
1079 | |||
1080 | return 0; | ||
1081 | } | ||
1082 | EXPORT_SYMBOL(of_device_is_compatible); | ||
1083 | |||
1084 | |||
1085 | /** | 1060 | /** |
1086 | * Indicates whether the root node has a given value in its | 1061 | * Indicates whether the root node has a given value in its |
1087 | * compatible property. | 1062 | * compatible property. |
diff --git a/arch/sparc/kernel/prom.c b/arch/sparc/kernel/prom.c index ac3f3c29b174..f2ce0d48e102 100644 --- a/arch/sparc/kernel/prom.c +++ b/arch/sparc/kernel/prom.c | |||
@@ -32,27 +32,6 @@ static struct device_node *allnodes; | |||
32 | */ | 32 | */ |
33 | static DEFINE_RWLOCK(devtree_lock); | 33 | static DEFINE_RWLOCK(devtree_lock); |
34 | 34 | ||
35 | int of_device_is_compatible(const struct device_node *device, | ||
36 | const char *compat) | ||
37 | { | ||
38 | const char* cp; | ||
39 | int cplen, l; | ||
40 | |||
41 | cp = of_get_property(device, "compatible", &cplen); | ||
42 | if (cp == NULL) | ||
43 | return 0; | ||
44 | while (cplen > 0) { | ||
45 | if (strncmp(cp, compat, strlen(compat)) == 0) | ||
46 | return 1; | ||
47 | l = strlen(cp) + 1; | ||
48 | cp += l; | ||
49 | cplen -= l; | ||
50 | } | ||
51 | |||
52 | return 0; | ||
53 | } | ||
54 | EXPORT_SYMBOL(of_device_is_compatible); | ||
55 | |||
56 | struct device_node *of_get_parent(const struct device_node *node) | 35 | struct device_node *of_get_parent(const struct device_node *node) |
57 | { | 36 | { |
58 | struct device_node *np; | 37 | struct device_node *np; |
diff --git a/arch/sparc64/kernel/prom.c b/arch/sparc64/kernel/prom.c index 8f926d439c0f..4d6fb07f047f 100644 --- a/arch/sparc64/kernel/prom.c +++ b/arch/sparc64/kernel/prom.c | |||
@@ -37,27 +37,6 @@ static struct device_node *allnodes; | |||
37 | */ | 37 | */ |
38 | static DEFINE_RWLOCK(devtree_lock); | 38 | static DEFINE_RWLOCK(devtree_lock); |
39 | 39 | ||
40 | int of_device_is_compatible(const struct device_node *device, | ||
41 | const char *compat) | ||
42 | { | ||
43 | const char* cp; | ||
44 | int cplen, l; | ||
45 | |||
46 | cp = of_get_property(device, "compatible", &cplen); | ||
47 | if (cp == NULL) | ||
48 | return 0; | ||
49 | while (cplen > 0) { | ||
50 | if (strncmp(cp, compat, strlen(compat)) == 0) | ||
51 | return 1; | ||
52 | l = strlen(cp) + 1; | ||
53 | cp += l; | ||
54 | cplen -= l; | ||
55 | } | ||
56 | |||
57 | return 0; | ||
58 | } | ||
59 | EXPORT_SYMBOL(of_device_is_compatible); | ||
60 | |||
61 | struct device_node *of_get_parent(const struct device_node *node) | 40 | struct device_node *of_get_parent(const struct device_node *node) |
62 | { | 41 | { |
63 | struct device_node *np; | 42 | struct device_node *np; |