diff mbox series

[042/120] MIPS: PS2: ROM: Resolve the name for the region in the ROMVER file

Message ID 938c0cf921142d71b832d0c062503aeff71c103f.1567326213.git.noring@nocrew.org (mailing list archive)
State RFC
Headers show
Series Linux for the PlayStation 2 | expand

Commit Message

Fredrik Noring Sept. 1, 2019, 3:52 p.m. UTC
'J' indicates Japan, 'E' indicates Europe, 'C' indicates China and
'A' and 'H' indicate the USA.

Signed-off-by: Fredrik Noring <noring@nocrew.org>
---
 arch/mips/include/asm/mach-ps2/rom.h |  5 ++++-
 arch/mips/ps2/rom.c                  | 22 ++++++++++++++++++++--
 2 files changed, 24 insertions(+), 3 deletions(-)
diff mbox series

Patch

diff --git a/arch/mips/include/asm/mach-ps2/rom.h b/arch/mips/include/asm/mach-ps2/rom.h
index 0b0e7c4162f5..43770fd62a2e 100644
--- a/arch/mips/include/asm/mach-ps2/rom.h
+++ b/arch/mips/include/asm/mach-ps2/rom.h
@@ -135,7 +135,8 @@  struct rom_extinfo rom_read_extinfo(const char *name,
  * @date.month: month ROM was created
  * @date.day: day ROM was created
  *
- * The @type name can be resolved with rom_type_name().
+ * The @region and @type names can be resolved with rom_region_name() and
+ * rom_type_name().
  *
  * Note that the Namco System 246 arcade systems are TOOL types as well.
  *
@@ -155,6 +156,8 @@  struct rom_ver {
 
 struct rom_ver rom_version(void);
 
+const char *rom_region_name(char region);
+
 const char *rom_type_name(char type);
 
 bool rom_empty_dir(const struct rom_dir dir);
diff --git a/arch/mips/ps2/rom.c b/arch/mips/ps2/rom.c
index 9adea705cbca..7cdc4962069e 100644
--- a/arch/mips/ps2/rom.c
+++ b/arch/mips/ps2/rom.c
@@ -383,6 +383,24 @@  struct rom_ver rom_version(void)
 }
 EXPORT_SYMBOL_GPL(rom_version);
 
+/**
+ * rom_region_name - name for the ROM region character in the ROMVER file
+ * @region: &rom_ver.region region character.
+ *
+ * Context: any
+ * Return: ROM region name, ``"-"`` if undefined or ``"?"`` if unrecognised
+ */
+const char *rom_region_name(char region)
+{
+	return region == 'J' ? "Japan" :
+	       region == 'E' ? "Europe" :
+	       region == 'C' ? "China" :
+	       region == 'A' ? "USA" :
+	       region == 'H' ? "USA" :
+	       region == '-' ? "-" : "?";
+}
+EXPORT_SYMBOL_GPL(rom_region_name);
+
 /**
  * rom_type_name - name for the ROM type character in the ROMVER file in ROM0
  * @type: &rom_ver.type type character.
@@ -675,8 +693,8 @@  static int __init ps2_rom_init(void)
 	rom1_dir = rom_dir_init("rom1", ROM1_BASE, ROM1_SIZE);
 
 	v = rom_version();
-	pr_info("rom0: Version %04x %c %s %04d-%02d-%02d\n",
-		v.number, v.region, rom_type_name(v.type),
+	pr_info("rom0: Version %04x %s %s %04d-%02d-%02d\n",
+		v.number, rom_region_name(v.region), rom_type_name(v.type),
 		v.date.year, v.date.month, v.date.day);
 
 	return 0;