Commit 4bf56e1725a298fb430977cf143ad3a36c91b46a

Authored by Stephen Rothwell
Committed by Paul Mackerras
1 parent 6210230725

[POWERPC] Remove find_compatible_devices

This is an old interface and is replaced by of_find_compatible_node.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>

Showing 4 changed files with 22 additions and 33 deletions Side-by-side Diff

arch/powerpc/kernel/prom.c
... ... @@ -1171,30 +1171,6 @@
1171 1171 EXPORT_SYMBOL(machine_is_compatible);
1172 1172  
1173 1173 /**
1174   - * Construct and return a list of the device_nodes with a given type
1175   - * and compatible property.
1176   - */
1177   -struct device_node *find_compatible_devices(const char *type,
1178   - const char *compat)
1179   -{
1180   - struct device_node *head, **prevp, *np;
1181   -
1182   - prevp = &head;
1183   - for (np = allnodes; np != 0; np = np->allnext) {
1184   - if (type != NULL
1185   - && !(np->type != 0 && strcasecmp(np->type, type) == 0))
1186   - continue;
1187   - if (of_device_is_compatible(np, compat)) {
1188   - *prevp = np;
1189   - prevp = &np->next;
1190   - }
1191   - }
1192   - *prevp = NULL;
1193   - return head;
1194   -}
1195   -EXPORT_SYMBOL(find_compatible_devices);
1196   -
1197   -/**
1198 1174 * Find the device_node with a given full_name.
1199 1175 */
1200 1176 struct device_node *find_path_device(const char *path)
arch/powerpc/platforms/chrp/time.c
... ... @@ -39,12 +39,17 @@
39 39 struct resource r;
40 40 int base;
41 41  
42   - rtcs = find_compatible_devices("rtc", "pnpPNP,b00");
  42 + rtcs = of_find_compatible_node(NULL, "rtc", "pnpPNP,b00");
43 43 if (rtcs == NULL)
44   - rtcs = find_compatible_devices("rtc", "ds1385-rtc");
45   - if (rtcs == NULL || of_address_to_resource(rtcs, 0, &r))
  44 + rtcs = of_find_compatible_node(NULL, "rtc", "ds1385-rtc");
  45 + if (rtcs == NULL)
46 46 return 0;
47   -
  47 + if (of_address_to_resource(rtcs, 0, &r)) {
  48 + of_node_put(rtcs);
  49 + return 0;
  50 + }
  51 + of_node_put(rtcs);
  52 +
48 53 base = r.start;
49 54 nvram_as1 = 0;
50 55 nvram_as0 = base;
drivers/macintosh/macio-adb.c
... ... @@ -82,7 +82,14 @@
82 82  
83 83 int macio_probe(void)
84 84 {
85   - return find_compatible_devices("adb", "chrp,adb0")? 0: -ENODEV;
  85 + struct device_node *np;
  86 +
  87 + np = of_find_compatible_node(NULL, "adb", "chrp,adb0");
  88 + if (np) {
  89 + of_node_put(np);
  90 + return 0;
  91 + }
  92 + return -ENODEV;
86 93 }
87 94  
88 95 int macio_init(void)
89 96  
90 97  
... ... @@ -91,12 +98,14 @@
91 98 struct resource r;
92 99 unsigned int irq;
93 100  
94   - adbs = find_compatible_devices("adb", "chrp,adb0");
  101 + adbs = of_find_compatible_node(NULL, "adb", "chrp,adb0");
95 102 if (adbs == 0)
96 103 return -ENXIO;
97 104  
98   - if (of_address_to_resource(adbs, 0, &r))
  105 + if (of_address_to_resource(adbs, 0, &r)) {
  106 + of_node_put(adbs);
99 107 return -ENXIO;
  108 + }
100 109 adb = ioremap(r.start, sizeof(struct adb_regs));
101 110  
102 111 out_8(&adb->ctrl.r, 0);
... ... @@ -107,6 +116,7 @@
107 116 out_8(&adb->autopoll.r, APE);
108 117  
109 118 irq = irq_of_parse_and_map(adbs, 0);
  119 + of_node_put(adbs);
110 120 if (request_irq(irq, macio_adb_interrupt, 0, "ADB", (void *)0)) {
111 121 printk(KERN_ERR "ADB: can't get irq %d\n", irq);
112 122 return -EAGAIN;
include/asm-powerpc/prom.h
... ... @@ -116,8 +116,6 @@
116 116 extern struct device_node *find_devices(const char *name);
117 117 extern struct device_node *find_type_devices(const char *type);
118 118 extern struct device_node *find_path_device(const char *path);
119   -extern struct device_node *find_compatible_devices(const char *type,
120   - const char *compat);
121 119 extern struct device_node *find_all_nodes(void);
122 120  
123 121 /* New style node lookup */