Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4a3a2552 authored by Andres Salomon's avatar Andres Salomon Committed by Grant Likely
Browse files

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: default avatarAndres Salomon <dilinger@queued.net>
Acked-by: default avatarDavid S. Miller <davem@davemloft.net>
Signed-off-by: default avatarGrant Likely <grant.likely@secretlab.ca>
parent 301a3da3
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -121,7 +121,7 @@ void __init auxio_power_probe(void)
	node = prom_searchsiblings(node, "obio");
	node = prom_getchild(node);
	node = prom_searchsiblings(node, "power");
	if (node == 0 || node == -1)
	if (node == 0 || (s32)node == -1)
		return;

	/* Map the power control register. */
+1 −1
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@ int this_is_starfire = 0;
void check_if_starfire(void)
{
	phandle ssnode = prom_finddevice("/ssp-serial");
	if (ssnode != 0 && ssnode != -1)
	if (ssnode != 0 && (s32)ssnode != -1)
		this_is_starfire = 1;
}

+1 −1
Original line number Diff line number Diff line
@@ -60,7 +60,7 @@ void __init prom_init(struct linux_romvec *rp)
	prom_nodeops = romvec->pv_nodeops;

	prom_root_node = prom_getsibling(0);
	if((prom_root_node == 0) || (prom_root_node == -1))
	if ((prom_root_node == 0) || ((s32)prom_root_node == -1))
		prom_halt();

	if((((unsigned long) prom_nodeops) == 0) || 
+2 −2
Original line number Diff line number Diff line
@@ -35,14 +35,14 @@ void __init prom_init(void *cif_handler, void *cif_stack)
	prom_cif_init(cif_handler, cif_stack);

	prom_chosen_node = prom_finddevice(prom_chosen_path);
	if (!prom_chosen_node || prom_chosen_node == -1)
	if (!prom_chosen_node || (s32)prom_chosen_node == -1)
		prom_halt();

	prom_stdin = prom_getint(prom_chosen_node, "stdin");
	prom_stdout = prom_getint(prom_chosen_node, "stdout");

	node = prom_finddevice("/openprom");
	if (!node || node == -1)
	if (!node || (s32)node == -1)
		prom_halt();

	prom_getstring(node, "version", prom_version, sizeof(prom_version));
+10 −9
Original line number Diff line number Diff line
@@ -40,11 +40,11 @@ phandle prom_getchild(phandle node)
{
	phandle cnode;

	if (node == -1)
	if ((s32)node == -1)
		return 0;

	cnode = __prom_getchild(node);
	if (cnode == 0 || cnode == -1)
	if (cnode == 0 || (s32)cnode == -1)
		return 0;

	return cnode;
@@ -72,11 +72,11 @@ phandle prom_getsibling(phandle node)
{
	phandle sibnode;

	if (node == -1)
	if ((s32)node == -1)
		return 0;

	sibnode = __prom_getsibling(node);
	if (sibnode == 0 || sibnode == -1)
	if (sibnode == 0 || (s32)sibnode == -1)
		return 0;

	return sibnode;
@@ -231,7 +231,7 @@ char *__prom_nextprop(phandle node, char * oprop)
/* buffer is unused argument, but as v9 uses it, we need to have the same interface */
char *prom_firstprop(phandle node, char *bufer)
{
	if (node == 0 || node == -1)
	if (node == 0 || (s32)node == -1)
		return "";

	return __prom_nextprop(node, "");
@@ -244,7 +244,7 @@ EXPORT_SYMBOL(prom_firstprop);
 */
char *prom_nextprop(phandle node, char *oprop, char *buffer)
{
	if (node == 0 || node == -1)
	if (node == 0 || (s32)node == -1)
		return "";

	return __prom_nextprop(node, oprop);
@@ -278,7 +278,7 @@ phandle prom_finddevice(char *name)
				if (d != s + 3 && (!*d || *d == '/')
				    && d <= s + 3 + 8) {
					node2 = node;
					while (node2 && node2 != -1) {
					while (node2 && (s32)node2 != -1) {
						if (prom_getproperty (node2, "reg", (char *)reg, sizeof (reg)) > 0) {
							if (which_io == reg[0].which_io && phys_addr == reg[0].phys_addr) {
								node = node2;
@@ -286,7 +286,7 @@ phandle prom_finddevice(char *name)
							}
						}
						node2 = prom_getsibling(node2);
						if (!node2 || node2 == -1)
						if (!node2 || (s32)node2 == -1)
							break;
						node2 = prom_searchsiblings(prom_getsibling(node2), nbuf);
					}
@@ -339,6 +339,7 @@ phandle prom_inst2pkg(int inst)
	node = (*romvec->pv_v2devops.v2_inst2pkg)(inst);
	restore_current();
	spin_unlock_irqrestore(&prom_lock, flags);
	if (node == -1) return 0;
	if ((s32)node == -1)
		return 0;
	return node;
}
Loading