aboutsummaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorBALATON Zoltan <balaton@eik.bme.hu>2021-10-29 23:02:09 +0200
committerPhilippe Mathieu-Daudé <f4bug@amsat.org>2021-10-30 18:39:37 +0200
commit418a221c2b8a97838980e61cdfef356ec6976e4b (patch)
treeb2b90988a805afbcb65952a1b5dc0e12e72f2e2a /hw
parent85208f7a9756948ed16ef09d7982584528904430 (diff)
hw/intc/sh_intc: Avoid using continue in loops
Instead of if !expr continue else do something it is more straight forward to say if expr then do something, especially if the action is just a few lines. Remove such uses of continue to make the code easier to follow. Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <0efaa5e7a1a3ee11f82b3bb1942c287576c67f8b.1635541329.git.balaton@eik.bme.hu> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Diffstat (limited to 'hw')
-rw-r--r--hw/intc/sh_intc.c44
1 files changed, 20 insertions, 24 deletions
diff --git a/hw/intc/sh_intc.c b/hw/intc/sh_intc.c
index a0db742d75..1a363d4962 100644
--- a/hw/intc/sh_intc.c
+++ b/hw/intc/sh_intc.c
@@ -139,15 +139,14 @@ static void sh_intc_locate(struct intc_desc *desc,
struct intc_mask_reg *mr = &desc->mask_regs[i];
mode = sh_intc_mode(address, mr->set_reg, mr->clr_reg);
- if (mode == INTC_MODE_NONE) {
- continue;
+ if (mode != INTC_MODE_NONE) {
+ *modep = mode;
+ *datap = &mr->value;
+ *enums = mr->enum_ids;
+ *first = mr->reg_width - 1;
+ *width = 1;
+ return;
}
- *modep = mode;
- *datap = &mr->value;
- *enums = mr->enum_ids;
- *first = mr->reg_width - 1;
- *width = 1;
- return;
}
}
@@ -156,15 +155,14 @@ static void sh_intc_locate(struct intc_desc *desc,
struct intc_prio_reg *pr = &desc->prio_regs[i];
mode = sh_intc_mode(address, pr->set_reg, pr->clr_reg);
- if (mode == INTC_MODE_NONE) {
- continue;
+ if (mode != INTC_MODE_NONE) {
+ *modep = mode | INTC_MODE_IS_PRIO;
+ *datap = &pr->value;
+ *enums = pr->enum_ids;
+ *first = pr->reg_width / pr->field_width - 1;
+ *width = pr->field_width;
+ return;
}
- *modep = mode | INTC_MODE_IS_PRIO;
- *datap = &pr->value;
- *enums = pr->enum_ids;
- *first = pr->reg_width / pr->field_width - 1;
- *width = pr->field_width;
- return;
}
}
g_assert_not_reached();
@@ -245,10 +243,9 @@ static void sh_intc_write(void *opaque, hwaddr offset,
mask = (1 << width) - 1;
mask <<= (first - k) * width;
- if ((*valuep & mask) == (value & mask)) {
- continue;
+ if ((*valuep & mask) != (value & mask)) {
+ sh_intc_toggle_mask(desc, enum_ids[k], value & mask, 0);
}
- sh_intc_toggle_mask(desc, enum_ids[k], value & mask, 0);
}
*valuep = value;
@@ -341,12 +338,11 @@ void sh_intc_register_sources(struct intc_desc *desc,
s->next_enum_id = gr->enum_ids[0];
for (k = 1; k < ARRAY_SIZE(gr->enum_ids); k++) {
- if (!gr->enum_ids[k]) {
- continue;
+ if (gr->enum_ids[k]) {
+ id = gr->enum_ids[k - 1];
+ s = &desc->sources[id];
+ s->next_enum_id = gr->enum_ids[k];
}
- id = gr->enum_ids[k - 1];
- s = &desc->sources[id];
- s->next_enum_id = gr->enum_ids[k];
}
trace_sh_intc_register("group", gr->enum_id, 0xffff,
s->enable_count, s->enable_max);