[SPARC64]: Make error codes available from sun4v_intr_get*().

And check for errors at call sites.

Signed-off-by: David S. Miller <davem@davemloft.net>
diff --git a/arch/sparc64/kernel/irq.c b/arch/sparc64/kernel/irq.c
index c57b170..0d3b0ea 100644
--- a/arch/sparc64/kernel/irq.c
+++ b/arch/sparc64/kernel/irq.c
@@ -154,9 +154,16 @@
 	if (tlb_type == hypervisor) {
 		unsigned int ino = __irq_ino(irq);
 		int cpu = hard_smp_processor_id();
+		int err;
 
-		sun4v_intr_settarget(ino, cpu);
+		err = sun4v_intr_settarget(ino, cpu);
+		if (err != HV_EOK)
+			printk("sun4v_intr_settarget(%x,%d): err(%d)\n",
+			       ino, cpu, err);
 		sun4v_intr_setenabled(ino, HV_INTR_ENABLED);
+		if (err != HV_EOK)
+			printk("sun4v_intr_setenabled(%x): err(%d)\n",
+			       ino, err);
 	} else {
 		if (tlb_type == cheetah || tlb_type == cheetah_plus) {
 			unsigned long ver;
@@ -216,8 +223,12 @@
 	if (imap != 0UL) {
 		if (tlb_type == hypervisor) {
 			unsigned int ino = __irq_ino(irq);
+			int err;
 
-			sun4v_intr_setenabled(ino, HV_INTR_DISABLED);
+			err = sun4v_intr_setenabled(ino, HV_INTR_DISABLED);
+			if (err != HV_EOK)
+				printk("sun4v_intr_setenabled(%x): "
+				       "err(%d)\n", ino, err);
 		} else {
 			u32 tmp;
 
@@ -647,8 +658,12 @@
 	if (bp->pil != 0) {
 		if (tlb_type == hypervisor) {
 			unsigned int ino = __irq_ino(bp);
+			int err;
 
-			sun4v_intr_setstate(ino, HV_INTR_STATE_IDLE);
+			err = sun4v_intr_setstate(ino, HV_INTR_STATE_IDLE);
+			if (err != HV_EOK)
+				printk("sun4v_intr_setstate(%x): "
+				       "err(%d)\n", ino, err);
 		} else {
 			upa_writel(ICLR_IDLE, bp->iclr);
 			/* Test and add entropy */
diff --git a/include/asm-sparc64/hypervisor.h b/include/asm-sparc64/hypervisor.h
index 76a9d0f..f14992ab 100644
--- a/include/asm-sparc64/hypervisor.h
+++ b/include/asm-sparc64/hypervisor.h
@@ -1238,7 +1238,7 @@
 #define HV_FAST_INTR_SETENABLED		0xa2
 
 #ifndef __ASSEMBLY__
-extern void sun4v_intr_setenabled(unsigned long sysino, unsigned long intr_enabled);
+extern unsigned long sun4v_intr_setenabled(unsigned long sysino, unsigned long intr_enabled);
 #endif
 
 /* intr_getstate()
@@ -1274,7 +1274,7 @@
 #define HV_FAST_INTR_SETSTATE		0xa4
 
 #ifndef __ASSEMBLY__
-extern void sun4v_intr_setstate(unsigned long sysino, unsigned long intr_state);
+extern unsigned long sun4v_intr_setstate(unsigned long sysino, unsigned long intr_state);
 #endif
 
 /* intr_gettarget()
@@ -1309,7 +1309,7 @@
 #define HV_FAST_INTR_SETTARGET		0xa6
 
 #ifndef __ASSEMBLY__
-extern void sun4v_intr_settarget(unsigned long sysino, unsigned long cpuid);
+extern unsigned long sun4v_intr_settarget(unsigned long sysino, unsigned long cpuid);
 #endif
 
 /* PCI IO services.