xen/arm: vgic: Switch vgic_to_sgi return from int to bool and progate up to...
authorJulien Grall <julien.grall@arm.com>
Wed, 7 Dec 2016 12:33:45 +0000 (12:33 +0000)
committerStefano Stabellini <sstabellini@kernel.org>
Wed, 7 Dec 2016 22:01:38 +0000 (14:01 -0800)
vgic_v{2,3}_to_sgi.

vgic_*to_sgi functions can only return 2 values: 0 or 1. Use bool instead
to make clear only two possible values exist.

Signed-off-by: Julien Grall <julien.grall@arm.com>
Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
xen/arch/arm/vgic-v2.c
xen/arch/arm/vgic-v3.c
xen/arch/arm/vgic.c
xen/include/asm-arm/vgic.h

index c6d280eb005d996f6bdc9cbf499cf56cedd15e2a..3dbcfe89776ede1e736079caa76549624007aae9 100644 (file)
@@ -374,7 +374,7 @@ read_reserved:
     return 1;
 }
 
-static int vgic_v2_to_sgi(struct vcpu *v, register_t sgir)
+static bool vgic_v2_to_sgi(struct vcpu *v, register_t sgir)
 {
 
     int virq;
@@ -403,7 +403,7 @@ static int vgic_v2_to_sgi(struct vcpu *v, register_t sgir)
         printk(XENLOG_G_DEBUG
                "%pv: vGICD: unhandled GICD_SGIR write %"PRIregister" with wrong mode\n",
                v, sgir);
-        return 0;
+        return false;
     }
 
     return vgic_to_sgi(v, sgir, sgi_mode, virq, &target);
index ec038a3a7e092b54de2837fc7033fda5d88515d1..3617b2b33919a66cebb9aedea190ab2bfd4d5ff9 100644 (file)
@@ -1269,7 +1269,7 @@ write_reserved:
     return 1;
 }
 
-static int vgic_v3_to_sgi(struct vcpu *v, register_t sgir)
+static bool vgic_v3_to_sgi(struct vcpu *v, register_t sgir)
 {
     int virq;
     int irqmode;
@@ -1294,7 +1294,7 @@ static int vgic_v3_to_sgi(struct vcpu *v, register_t sgir)
         break;
     default:
         gprintk(XENLOG_WARNING, "Wrong irq mode in SGI1R_EL1 register\n");
-        return 0;
+        return false;
     }
 
     return vgic_to_sgi(v, sgir, sgi_mode, virq, &target);
index 84735a9a8d75057a685c41c119e25253382b453a..3e1774d7facdcdf96975aa0bb0cf9346d105be64 100644 (file)
@@ -393,8 +393,8 @@ void vgic_enable_irqs(struct vcpu *v, uint32_t r, int n)
     }
 }
 
-int vgic_to_sgi(struct vcpu *v, register_t sgir, enum gic_sgi_mode irqmode, int virq,
-                const struct sgi_target *target)
+bool vgic_to_sgi(struct vcpu *v, register_t sgir, enum gic_sgi_mode irqmode,
+                 int virq, const struct sgi_target *target)
 {
     struct domain *d = v->domain;
     int vcpuid;
@@ -440,10 +440,10 @@ int vgic_to_sgi(struct vcpu *v, register_t sgir, enum gic_sgi_mode irqmode, int
         gprintk(XENLOG_WARNING,
                 "vGICD:unhandled GICD_SGIR write %"PRIregister" \
                  with wrong mode\n", sgir);
-        return 0;
+        return false;
     }
 
-    return 1;
+    return true;
 }
 
 struct pending_irq *irq_to_pending(struct vcpu *v, unsigned int irq)
index 1f371c8ebbe0286cae342bf01eb86600929e2cbf..83843fa781dcb58e3dd12b9e782528c60a912849 100644 (file)
@@ -309,9 +309,9 @@ int vgic_v3_init(struct domain *d, int *mmio_count);
 
 extern int domain_vgic_register(struct domain *d, int *mmio_count);
 extern int vcpu_vgic_free(struct vcpu *v);
-extern int vgic_to_sgi(struct vcpu *v, register_t sgir,
-                       enum gic_sgi_mode irqmode, int virq,
-                       const struct sgi_target *target);
+extern bool vgic_to_sgi(struct vcpu *v, register_t sgir,
+                        enum gic_sgi_mode irqmode, int virq,
+                        const struct sgi_target *target);
 extern void vgic_migrate_irq(struct vcpu *old, struct vcpu *new, unsigned int irq);
 
 /* Reserve a specific guest vIRQ */