[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 17/23] hw/intc/sh_intc: Avoid using continue in loops
From: |
BALATON Zoltan |
Subject: |
[PATCH v4 17/23] hw/intc/sh_intc: Avoid using continue in loops |
Date: |
Thu, 28 Oct 2021 21:27:05 +0200 |
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>
---
hw/intc/sh_intc.c | 44 ++++++++++++++++++++------------------------
1 file changed, 20 insertions(+), 24 deletions(-)
diff --git a/hw/intc/sh_intc.c b/hw/intc/sh_intc.c
index 56a288e093..eb58707e83 100644
--- a/hw/intc/sh_intc.c
+++ b/hw/intc/sh_intc.c
@@ -140,15 +140,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;
}
}
@@ -157,15 +156,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();
@@ -246,10 +244,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;
@@ -342,12 +339,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);
--
2.21.4
- Re: [PATCH v4 13/23] hw/intc/sh_intc: Remove excessive parenthesis, (continued)
- [PATCH v4 11/23] hw/intc/sh_intc: Drop another useless macro, BALATON Zoltan, 2021/10/28
- [PATCH v4 23/23] hw/timer/sh_timer: Fix timer memory region size, BALATON Zoltan, 2021/10/28
- [PATCH v4 20/23] hw/timer/sh_timer: Rename sh_timer_state to SHTimerState, BALATON Zoltan, 2021/10/28
- [PATCH v4 16/23] hw/intc/sh_intc: Replace abort() with g_assert_not_reached(), BALATON Zoltan, 2021/10/28
- [PATCH v4 21/23] hw/timer/sh_timer: Fix format strings and remove casts, BALATON Zoltan, 2021/10/28
- [PATCH v4 22/23] hw/timer/sh_timer: Do not wrap lines that are not too long, BALATON Zoltan, 2021/10/28
- [PATCH v4 17/23] hw/intc/sh_intc: Avoid using continue in loops,
BALATON Zoltan <=
- [PATCH v4 18/23] hw/intc/sh_intc: Simplify allocating sources array, BALATON Zoltan, 2021/10/28