qemu-arm
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 06/13] hw/misc/mps2-scc: Factor out which-board conditionals


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH 06/13] hw/misc/mps2-scc: Factor out which-board conditionals
Date: Wed, 7 Feb 2024 09:47:28 +0100
User-agent: Mozilla Thunderbird

On 6/2/24 14:29, Peter Maydell wrote:
The MPS SCC device has a lot of different flavours for the various
different MPS FPGA images, which look mostly similar but have
differences in how particular registers are handled.  Currently we
deal with this with a lot of open-coded checks on scc_partno(), but
as we add more board types this is getting a bit hard to read.

Factor out the conditions into some functions which we can
give more descriptive names to.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
  hw/misc/mps2-scc.c | 45 +++++++++++++++++++++++++++++++--------------
  1 file changed, 31 insertions(+), 14 deletions(-)

diff --git a/hw/misc/mps2-scc.c b/hw/misc/mps2-scc.c
index 6c1b1cd3795..02a80bacd71 100644
--- a/hw/misc/mps2-scc.c
+++ b/hw/misc/mps2-scc.c
@@ -59,6 +59,30 @@ static int scc_partno(MPS2SCC *s)
      return extract32(s->id, 4, 8);
  }
+/* Is CFG_REG2 present? */
+static bool have_cfg2(MPS2SCC *s)
+{
+    return scc_partno(s) == 0x524 || scc_partno(s) == 0x547;
+}
+
+/* Is CFG_REG3 present? */
+static bool have_cfg3(MPS2SCC *s)
+{
+    return scc_partno(s) != 0x524 && scc_partno(s) != 0x547;
+}

Looking at next patch and nitpicking, if we want to avoid
a switch() case use, this style is easier to review IMHO:

   static bool have_cfg2(MPS2SCC *s)
   {
       return    scc_partno(s) == 0x524
              || scc_partno(s) == 0x547;
   }

Anyway, already R-b.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]