diff options
author | Andres Salomon <dilinger@queued.net> | 2010-10-08 17:18:11 -0400 |
---|---|---|
committer | Grant Likely <grant.likely@secretlab.ca> | 2010-10-09 04:33:34 -0400 |
commit | 8d1255627d4ce9cb4b9d0a1c44b6c18d92e84a99 (patch) | |
tree | 0167da953304dbabc87ab871368bcc3c10660fa8 /arch/sparc/prom/tree_32.c | |
parent | 4e13efc99106723960a27e55f560028bced5076d (diff) |
of/sparc: convert various prom_* functions to use phandle
Rather than passing around ints everywhere, use the
phandle type where appropriate for the various functions
that talk to the PROM.
Signed-off-by: Andres Salomon <dilinger@queued.net>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Diffstat (limited to 'arch/sparc/prom/tree_32.c')
-rw-r--r-- | arch/sparc/prom/tree_32.c | 58 |
1 files changed, 30 insertions, 28 deletions
diff --git a/arch/sparc/prom/tree_32.c b/arch/sparc/prom/tree_32.c index b21592f8e3fe..63e08e149774 100644 --- a/arch/sparc/prom/tree_32.c +++ b/arch/sparc/prom/tree_32.c | |||
@@ -20,10 +20,10 @@ extern void restore_current(void); | |||
20 | static char promlib_buf[128]; | 20 | static char promlib_buf[128]; |
21 | 21 | ||
22 | /* Internal version of prom_getchild that does not alter return values. */ | 22 | /* Internal version of prom_getchild that does not alter return values. */ |
23 | int __prom_getchild(int node) | 23 | phandle __prom_getchild(phandle node) |
24 | { | 24 | { |
25 | unsigned long flags; | 25 | unsigned long flags; |
26 | int cnode; | 26 | phandle cnode; |
27 | 27 | ||
28 | spin_lock_irqsave(&prom_lock, flags); | 28 | spin_lock_irqsave(&prom_lock, flags); |
29 | cnode = prom_nodeops->no_child(node); | 29 | cnode = prom_nodeops->no_child(node); |
@@ -36,9 +36,9 @@ int __prom_getchild(int node) | |||
36 | /* Return the child of node 'node' or zero if no this node has no | 36 | /* Return the child of node 'node' or zero if no this node has no |
37 | * direct descendent. | 37 | * direct descendent. |
38 | */ | 38 | */ |
39 | int prom_getchild(int node) | 39 | phandle prom_getchild(phandle node) |
40 | { | 40 | { |
41 | int cnode; | 41 | phandle cnode; |
42 | 42 | ||
43 | if (node == -1) | 43 | if (node == -1) |
44 | return 0; | 44 | return 0; |
@@ -52,10 +52,10 @@ int prom_getchild(int node) | |||
52 | EXPORT_SYMBOL(prom_getchild); | 52 | EXPORT_SYMBOL(prom_getchild); |
53 | 53 | ||
54 | /* Internal version of prom_getsibling that does not alter return values. */ | 54 | /* Internal version of prom_getsibling that does not alter return values. */ |
55 | int __prom_getsibling(int node) | 55 | phandle __prom_getsibling(phandle node) |
56 | { | 56 | { |
57 | unsigned long flags; | 57 | unsigned long flags; |
58 | int cnode; | 58 | phandle cnode; |
59 | 59 | ||
60 | spin_lock_irqsave(&prom_lock, flags); | 60 | spin_lock_irqsave(&prom_lock, flags); |
61 | cnode = prom_nodeops->no_nextnode(node); | 61 | cnode = prom_nodeops->no_nextnode(node); |
@@ -68,9 +68,9 @@ int __prom_getsibling(int node) | |||
68 | /* Return the next sibling of node 'node' or zero if no more siblings | 68 | /* Return the next sibling of node 'node' or zero if no more siblings |
69 | * at this level of depth in the tree. | 69 | * at this level of depth in the tree. |
70 | */ | 70 | */ |
71 | int prom_getsibling(int node) | 71 | phandle prom_getsibling(phandle node) |
72 | { | 72 | { |
73 | int sibnode; | 73 | phandle sibnode; |
74 | 74 | ||
75 | if (node == -1) | 75 | if (node == -1) |
76 | return 0; | 76 | return 0; |
@@ -86,7 +86,7 @@ EXPORT_SYMBOL(prom_getsibling); | |||
86 | /* Return the length in bytes of property 'prop' at node 'node'. | 86 | /* Return the length in bytes of property 'prop' at node 'node'. |
87 | * Return -1 on error. | 87 | * Return -1 on error. |
88 | */ | 88 | */ |
89 | int prom_getproplen(int node, const char *prop) | 89 | int prom_getproplen(phandle node, const char *prop) |
90 | { | 90 | { |
91 | int ret; | 91 | int ret; |
92 | unsigned long flags; | 92 | unsigned long flags; |
@@ -106,7 +106,7 @@ EXPORT_SYMBOL(prom_getproplen); | |||
106 | * 'buffer' which has a size of 'bufsize'. If the acquisition | 106 | * 'buffer' which has a size of 'bufsize'. If the acquisition |
107 | * was successful the length will be returned, else -1 is returned. | 107 | * was successful the length will be returned, else -1 is returned. |
108 | */ | 108 | */ |
109 | int prom_getproperty(int node, const char *prop, char *buffer, int bufsize) | 109 | int prom_getproperty(phandle node, const char *prop, char *buffer, int bufsize) |
110 | { | 110 | { |
111 | int plen, ret; | 111 | int plen, ret; |
112 | unsigned long flags; | 112 | unsigned long flags; |
@@ -126,7 +126,7 @@ EXPORT_SYMBOL(prom_getproperty); | |||
126 | /* Acquire an integer property and return its value. Returns -1 | 126 | /* Acquire an integer property and return its value. Returns -1 |
127 | * on failure. | 127 | * on failure. |
128 | */ | 128 | */ |
129 | int prom_getint(int node, char *prop) | 129 | int prom_getint(phandle node, char *prop) |
130 | { | 130 | { |
131 | static int intprop; | 131 | static int intprop; |
132 | 132 | ||
@@ -140,7 +140,7 @@ EXPORT_SYMBOL(prom_getint); | |||
140 | /* Acquire an integer property, upon error return the passed default | 140 | /* Acquire an integer property, upon error return the passed default |
141 | * integer. | 141 | * integer. |
142 | */ | 142 | */ |
143 | int prom_getintdefault(int node, char *property, int deflt) | 143 | int prom_getintdefault(phandle node, char *property, int deflt) |
144 | { | 144 | { |
145 | int retval; | 145 | int retval; |
146 | 146 | ||
@@ -152,7 +152,7 @@ int prom_getintdefault(int node, char *property, int deflt) | |||
152 | EXPORT_SYMBOL(prom_getintdefault); | 152 | EXPORT_SYMBOL(prom_getintdefault); |
153 | 153 | ||
154 | /* Acquire a boolean property, 1=TRUE 0=FALSE. */ | 154 | /* Acquire a boolean property, 1=TRUE 0=FALSE. */ |
155 | int prom_getbool(int node, char *prop) | 155 | int prom_getbool(phandle node, char *prop) |
156 | { | 156 | { |
157 | int retval; | 157 | int retval; |
158 | 158 | ||
@@ -166,7 +166,7 @@ EXPORT_SYMBOL(prom_getbool); | |||
166 | * string on error. The char pointer is the user supplied string | 166 | * string on error. The char pointer is the user supplied string |
167 | * buffer. | 167 | * buffer. |
168 | */ | 168 | */ |
169 | void prom_getstring(int node, char *prop, char *user_buf, int ubuf_size) | 169 | void prom_getstring(phandle node, char *prop, char *user_buf, int ubuf_size) |
170 | { | 170 | { |
171 | int len; | 171 | int len; |
172 | 172 | ||
@@ -180,7 +180,7 @@ EXPORT_SYMBOL(prom_getstring); | |||
180 | /* Does the device at node 'node' have name 'name'? | 180 | /* Does the device at node 'node' have name 'name'? |
181 | * YES = 1 NO = 0 | 181 | * YES = 1 NO = 0 |
182 | */ | 182 | */ |
183 | int prom_nodematch(int node, char *name) | 183 | int prom_nodematch(phandle node, char *name) |
184 | { | 184 | { |
185 | int error; | 185 | int error; |
186 | 186 | ||
@@ -194,10 +194,11 @@ int prom_nodematch(int node, char *name) | |||
194 | /* Search siblings at 'node_start' for a node with name | 194 | /* Search siblings at 'node_start' for a node with name |
195 | * 'nodename'. Return node if successful, zero if not. | 195 | * 'nodename'. Return node if successful, zero if not. |
196 | */ | 196 | */ |
197 | int prom_searchsiblings(int node_start, char *nodename) | 197 | phandle prom_searchsiblings(phandle node_start, char *nodename) |
198 | { | 198 | { |
199 | 199 | ||
200 | int thisnode, error; | 200 | phandle thisnode; |
201 | int error; | ||
201 | 202 | ||
202 | for(thisnode = node_start; thisnode; | 203 | for(thisnode = node_start; thisnode; |
203 | thisnode=prom_getsibling(thisnode)) { | 204 | thisnode=prom_getsibling(thisnode)) { |
@@ -213,7 +214,7 @@ int prom_searchsiblings(int node_start, char *nodename) | |||
213 | EXPORT_SYMBOL(prom_searchsiblings); | 214 | EXPORT_SYMBOL(prom_searchsiblings); |
214 | 215 | ||
215 | /* Interal version of nextprop that does not alter return values. */ | 216 | /* Interal version of nextprop that does not alter return values. */ |
216 | char * __prom_nextprop(int node, char * oprop) | 217 | char *__prom_nextprop(phandle node, char * oprop) |
217 | { | 218 | { |
218 | unsigned long flags; | 219 | unsigned long flags; |
219 | char *prop; | 220 | char *prop; |
@@ -228,7 +229,7 @@ char * __prom_nextprop(int node, char * oprop) | |||
228 | 229 | ||
229 | /* Return the first property name for node 'node'. */ | 230 | /* Return the first property name for node 'node'. */ |
230 | /* buffer is unused argument, but as v9 uses it, we need to have the same interface */ | 231 | /* buffer is unused argument, but as v9 uses it, we need to have the same interface */ |
231 | char * prom_firstprop(int node, char *bufer) | 232 | char *prom_firstprop(phandle node, char *bufer) |
232 | { | 233 | { |
233 | if (node == 0 || node == -1) | 234 | if (node == 0 || node == -1) |
234 | return ""; | 235 | return ""; |
@@ -241,7 +242,7 @@ EXPORT_SYMBOL(prom_firstprop); | |||
241 | * at node 'node' . Returns empty string if no more | 242 | * at node 'node' . Returns empty string if no more |
242 | * property types for this node. | 243 | * property types for this node. |
243 | */ | 244 | */ |
244 | char * prom_nextprop(int node, char *oprop, char *buffer) | 245 | char *prom_nextprop(phandle node, char *oprop, char *buffer) |
245 | { | 246 | { |
246 | if (node == 0 || node == -1) | 247 | if (node == 0 || node == -1) |
247 | return ""; | 248 | return ""; |
@@ -250,11 +251,11 @@ char * prom_nextprop(int node, char *oprop, char *buffer) | |||
250 | } | 251 | } |
251 | EXPORT_SYMBOL(prom_nextprop); | 252 | EXPORT_SYMBOL(prom_nextprop); |
252 | 253 | ||
253 | int prom_finddevice(char *name) | 254 | phandle prom_finddevice(char *name) |
254 | { | 255 | { |
255 | char nbuf[128]; | 256 | char nbuf[128]; |
256 | char *s = name, *d; | 257 | char *s = name, *d; |
257 | int node = prom_root_node, node2; | 258 | phandle node = prom_root_node, node2; |
258 | unsigned int which_io, phys_addr; | 259 | unsigned int which_io, phys_addr; |
259 | struct linux_prom_registers reg[PROMREG_MAX]; | 260 | struct linux_prom_registers reg[PROMREG_MAX]; |
260 | 261 | ||
@@ -298,7 +299,7 @@ int prom_finddevice(char *name) | |||
298 | } | 299 | } |
299 | EXPORT_SYMBOL(prom_finddevice); | 300 | EXPORT_SYMBOL(prom_finddevice); |
300 | 301 | ||
301 | int prom_node_has_property(int node, char *prop) | 302 | int prom_node_has_property(phandle node, char *prop) |
302 | { | 303 | { |
303 | char *current_property = ""; | 304 | char *current_property = ""; |
304 | 305 | ||
@@ -314,7 +315,7 @@ EXPORT_SYMBOL(prom_node_has_property); | |||
314 | /* Set property 'pname' at node 'node' to value 'value' which has a length | 315 | /* Set property 'pname' at node 'node' to value 'value' which has a length |
315 | * of 'size' bytes. Return the number of bytes the prom accepted. | 316 | * of 'size' bytes. Return the number of bytes the prom accepted. |
316 | */ | 317 | */ |
317 | int prom_setprop(int node, const char *pname, char *value, int size) | 318 | int prom_setprop(phandle node, const char *pname, char *value, int size) |
318 | { | 319 | { |
319 | unsigned long flags; | 320 | unsigned long flags; |
320 | int ret; | 321 | int ret; |
@@ -329,9 +330,9 @@ int prom_setprop(int node, const char *pname, char *value, int size) | |||
329 | } | 330 | } |
330 | EXPORT_SYMBOL(prom_setprop); | 331 | EXPORT_SYMBOL(prom_setprop); |
331 | 332 | ||
332 | int prom_inst2pkg(int inst) | 333 | phandle prom_inst2pkg(int inst) |
333 | { | 334 | { |
334 | int node; | 335 | phandle node; |
335 | unsigned long flags; | 336 | unsigned long flags; |
336 | 337 | ||
337 | spin_lock_irqsave(&prom_lock, flags); | 338 | spin_lock_irqsave(&prom_lock, flags); |
@@ -345,9 +346,10 @@ int prom_inst2pkg(int inst) | |||
345 | /* Return 'node' assigned to a particular prom 'path' | 346 | /* Return 'node' assigned to a particular prom 'path' |
346 | * FIXME: Should work for v0 as well | 347 | * FIXME: Should work for v0 as well |
347 | */ | 348 | */ |
348 | int prom_pathtoinode(char *path) | 349 | phandle prom_pathtoinode(char *path) |
349 | { | 350 | { |
350 | int node, inst; | 351 | phandle node; |
352 | int inst; | ||
351 | 353 | ||
352 | inst = prom_devopen (path); | 354 | inst = prom_devopen (path); |
353 | if (inst == -1) return 0; | 355 | if (inst == -1) return 0; |