aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc
diff options
context:
space:
mode:
authorAndres Salomon <dilinger@queued.net>2010-11-12 01:42:06 -0500
committerGrant Likely <grant.likely@secretlab.ca>2011-01-03 22:02:06 -0500
commit4a3a255289e7e322b8044286cce85031990f888a (patch)
tree60afe5f0fc76b2b4edb5374023806e26fc50fb4a /arch/sparc
parent301a3da358b4af84915f575479e4f0885be47b73 (diff)
sparc: explicitly cast negative phandle checks to s32
When we switched sparc from using 'int's to 'phandle's (which is a u32), we neglected to do anything with the various checks for -1. For those tests, explicitly cast the phandles to s32. 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')
-rw-r--r--arch/sparc/kernel/auxio_32.c2
-rw-r--r--arch/sparc/kernel/starfire.c2
-rw-r--r--arch/sparc/prom/init_32.c2
-rw-r--r--arch/sparc/prom/init_64.c4
-rw-r--r--arch/sparc/prom/tree_32.c19
-rw-r--r--arch/sparc/prom/tree_64.c18
6 files changed, 24 insertions, 23 deletions
diff --git a/arch/sparc/kernel/auxio_32.c b/arch/sparc/kernel/auxio_32.c
index 35f48837871a..8505e0ac78ba 100644
--- a/arch/sparc/kernel/auxio_32.c
+++ b/arch/sparc/kernel/auxio_32.c
@@ -121,7 +121,7 @@ void __init auxio_power_probe(void)
121 node = prom_searchsiblings(node, "obio"); 121 node = prom_searchsiblings(node, "obio");
122 node = prom_getchild(node); 122 node = prom_getchild(node);
123 node = prom_searchsiblings(node, "power"); 123 node = prom_searchsiblings(node, "power");
124 if (node == 0 || node == -1) 124 if (node == 0 || (s32)node == -1)
125 return; 125 return;
126 126
127 /* Map the power control register. */ 127 /* Map the power control register. */
diff --git a/arch/sparc/kernel/starfire.c b/arch/sparc/kernel/starfire.c
index a4446c0fb7a1..82281a566bb8 100644
--- a/arch/sparc/kernel/starfire.c
+++ b/arch/sparc/kernel/starfire.c
@@ -24,7 +24,7 @@ int this_is_starfire = 0;
24void check_if_starfire(void) 24void check_if_starfire(void)
25{ 25{
26 phandle ssnode = prom_finddevice("/ssp-serial"); 26 phandle ssnode = prom_finddevice("/ssp-serial");
27 if (ssnode != 0 && ssnode != -1) 27 if (ssnode != 0 && (s32)ssnode != -1)
28 this_is_starfire = 1; 28 this_is_starfire = 1;
29} 29}
30 30
diff --git a/arch/sparc/prom/init_32.c b/arch/sparc/prom/init_32.c
index d342dba4dd54..0a601b300639 100644
--- a/arch/sparc/prom/init_32.c
+++ b/arch/sparc/prom/init_32.c
@@ -60,7 +60,7 @@ void __init prom_init(struct linux_romvec *rp)
60 prom_nodeops = romvec->pv_nodeops; 60 prom_nodeops = romvec->pv_nodeops;
61 61
62 prom_root_node = prom_getsibling(0); 62 prom_root_node = prom_getsibling(0);
63 if((prom_root_node == 0) || (prom_root_node == -1)) 63 if ((prom_root_node == 0) || ((s32)prom_root_node == -1))
64 prom_halt(); 64 prom_halt();
65 65
66 if((((unsigned long) prom_nodeops) == 0) || 66 if((((unsigned long) prom_nodeops) == 0) ||
diff --git a/arch/sparc/prom/init_64.c b/arch/sparc/prom/init_64.c
index 3ff911e7d25b..200528bb0994 100644
--- a/arch/sparc/prom/init_64.c
+++ b/arch/sparc/prom/init_64.c
@@ -35,14 +35,14 @@ void __init prom_init(void *cif_handler, void *cif_stack)
35 prom_cif_init(cif_handler, cif_stack); 35 prom_cif_init(cif_handler, cif_stack);
36 36
37 prom_chosen_node = prom_finddevice(prom_chosen_path); 37 prom_chosen_node = prom_finddevice(prom_chosen_path);
38 if (!prom_chosen_node || prom_chosen_node == -1) 38 if (!prom_chosen_node || (s32)prom_chosen_node == -1)
39 prom_halt(); 39 prom_halt();
40 40
41 prom_stdin = prom_getint(prom_chosen_node, "stdin"); 41 prom_stdin = prom_getint(prom_chosen_node, "stdin");
42 prom_stdout = prom_getint(prom_chosen_node, "stdout"); 42 prom_stdout = prom_getint(prom_chosen_node, "stdout");
43 43
44 node = prom_finddevice("/openprom"); 44 node = prom_finddevice("/openprom");
45 if (!node || node == -1) 45 if (!node || (s32)node == -1)
46 prom_halt(); 46 prom_halt();
47 47
48 prom_getstring(node, "version", prom_version, sizeof(prom_version)); 48 prom_getstring(node, "version", prom_version, sizeof(prom_version));
diff --git a/arch/sparc/prom/tree_32.c b/arch/sparc/prom/tree_32.c
index 535e2e69ac1d..f1d0734c245e 100644
--- a/arch/sparc/prom/tree_32.c
+++ b/arch/sparc/prom/tree_32.c
@@ -40,11 +40,11 @@ phandle prom_getchild(phandle node)
40{ 40{
41 phandle cnode; 41 phandle cnode;
42 42
43 if (node == -1) 43 if ((s32)node == -1)
44 return 0; 44 return 0;
45 45
46 cnode = __prom_getchild(node); 46 cnode = __prom_getchild(node);
47 if (cnode == 0 || cnode == -1) 47 if (cnode == 0 || (s32)cnode == -1)
48 return 0; 48 return 0;
49 49
50 return cnode; 50 return cnode;
@@ -72,11 +72,11 @@ phandle prom_getsibling(phandle node)
72{ 72{
73 phandle sibnode; 73 phandle sibnode;
74 74
75 if (node == -1) 75 if ((s32)node == -1)
76 return 0; 76 return 0;
77 77
78 sibnode = __prom_getsibling(node); 78 sibnode = __prom_getsibling(node);
79 if (sibnode == 0 || sibnode == -1) 79 if (sibnode == 0 || (s32)sibnode == -1)
80 return 0; 80 return 0;
81 81
82 return sibnode; 82 return sibnode;
@@ -231,7 +231,7 @@ char *__prom_nextprop(phandle node, char * oprop)
231/* 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 */
232char *prom_firstprop(phandle node, char *bufer) 232char *prom_firstprop(phandle node, char *bufer)
233{ 233{
234 if (node == 0 || node == -1) 234 if (node == 0 || (s32)node == -1)
235 return ""; 235 return "";
236 236
237 return __prom_nextprop(node, ""); 237 return __prom_nextprop(node, "");
@@ -244,7 +244,7 @@ EXPORT_SYMBOL(prom_firstprop);
244 */ 244 */
245char *prom_nextprop(phandle node, char *oprop, char *buffer) 245char *prom_nextprop(phandle node, char *oprop, char *buffer)
246{ 246{
247 if (node == 0 || node == -1) 247 if (node == 0 || (s32)node == -1)
248 return ""; 248 return "";
249 249
250 return __prom_nextprop(node, oprop); 250 return __prom_nextprop(node, oprop);
@@ -278,7 +278,7 @@ phandle prom_finddevice(char *name)
278 if (d != s + 3 && (!*d || *d == '/') 278 if (d != s + 3 && (!*d || *d == '/')
279 && d <= s + 3 + 8) { 279 && d <= s + 3 + 8) {
280 node2 = node; 280 node2 = node;
281 while (node2 && node2 != -1) { 281 while (node2 && (s32)node2 != -1) {
282 if (prom_getproperty (node2, "reg", (char *)reg, sizeof (reg)) > 0) { 282 if (prom_getproperty (node2, "reg", (char *)reg, sizeof (reg)) > 0) {
283 if (which_io == reg[0].which_io && phys_addr == reg[0].phys_addr) { 283 if (which_io == reg[0].which_io && phys_addr == reg[0].phys_addr) {
284 node = node2; 284 node = node2;
@@ -286,7 +286,7 @@ phandle prom_finddevice(char *name)
286 } 286 }
287 } 287 }
288 node2 = prom_getsibling(node2); 288 node2 = prom_getsibling(node2);
289 if (!node2 || node2 == -1) 289 if (!node2 || (s32)node2 == -1)
290 break; 290 break;
291 node2 = prom_searchsiblings(prom_getsibling(node2), nbuf); 291 node2 = prom_searchsiblings(prom_getsibling(node2), nbuf);
292 } 292 }
@@ -339,6 +339,7 @@ phandle prom_inst2pkg(int inst)
339 node = (*romvec->pv_v2devops.v2_inst2pkg)(inst); 339 node = (*romvec->pv_v2devops.v2_inst2pkg)(inst);
340 restore_current(); 340 restore_current();
341 spin_unlock_irqrestore(&prom_lock, flags); 341 spin_unlock_irqrestore(&prom_lock, flags);
342 if (node == -1) return 0; 342 if ((s32)node == -1)
343 return 0;
343 return node; 344 return node;
344} 345}
diff --git a/arch/sparc/prom/tree_64.c b/arch/sparc/prom/tree_64.c
index d93660048376..92204c3800b5 100644
--- a/arch/sparc/prom/tree_64.c
+++ b/arch/sparc/prom/tree_64.c
@@ -43,10 +43,10 @@ inline phandle prom_getchild(phandle node)
43{ 43{
44 phandle cnode; 44 phandle cnode;
45 45
46 if (node == -1) 46 if ((s32)node == -1)
47 return 0; 47 return 0;
48 cnode = __prom_getchild(node); 48 cnode = __prom_getchild(node);
49 if (cnode == -1) 49 if ((s32)cnode == -1)
50 return 0; 50 return 0;
51 return cnode; 51 return cnode;
52} 52}
@@ -56,10 +56,10 @@ inline phandle prom_getparent(phandle node)
56{ 56{
57 phandle cnode; 57 phandle cnode;
58 58
59 if (node == -1) 59 if ((s32)node == -1)
60 return 0; 60 return 0;
61 cnode = prom_node_to_node("parent", node); 61 cnode = prom_node_to_node("parent", node);
62 if (cnode == -1) 62 if ((s32)cnode == -1)
63 return 0; 63 return 0;
64 return cnode; 64 return cnode;
65} 65}
@@ -76,10 +76,10 @@ inline phandle prom_getsibling(phandle node)
76{ 76{
77 phandle sibnode; 77 phandle sibnode;
78 78
79 if (node == -1) 79 if ((s32)node == -1)
80 return 0; 80 return 0;
81 sibnode = __prom_getsibling(node); 81 sibnode = __prom_getsibling(node);
82 if (sibnode == -1) 82 if ((s32)sibnode == -1)
83 return 0; 83 return 0;
84 84
85 return sibnode; 85 return sibnode;
@@ -240,7 +240,7 @@ inline char *prom_firstprop(phandle node, char *buffer)
240 unsigned long args[7]; 240 unsigned long args[7];
241 241
242 *buffer = 0; 242 *buffer = 0;
243 if (node == -1) 243 if ((s32)node == -1)
244 return buffer; 244 return buffer;
245 245
246 args[0] = (unsigned long) prom_nextprop_name; 246 args[0] = (unsigned long) prom_nextprop_name;
@@ -266,7 +266,7 @@ inline char *prom_nextprop(phandle node, const char *oprop, char *buffer)
266 unsigned long args[7]; 266 unsigned long args[7];
267 char buf[32]; 267 char buf[32];
268 268
269 if (node == -1) { 269 if ((s32)node == -1) {
270 *buffer = 0; 270 *buffer = 0;
271 return buffer; 271 return buffer;
272 } 272 }
@@ -369,7 +369,7 @@ inline phandle prom_inst2pkg(int inst)
369 p1275_cmd_direct(args); 369 p1275_cmd_direct(args);
370 370
371 node = (int) args[4]; 371 node = (int) args[4];
372 if (node == -1) 372 if ((s32)node == -1)
373 return 0; 373 return 0;
374 return node; 374 return node;
375} 375}