soc: renesas: rcar-sysc: Optimize rcar_sysc_area struct sizes
authorGeert Uytterhoeven <geert+renesas@glider.be>
Wed, 8 Jun 2022 15:14:21 +0000 (17:14 +0200)
committerGeert Uytterhoeven <geert+renesas@glider.be>
Mon, 13 Jun 2022 09:43:50 +0000 (11:43 +0200)
Reduce the sizes of the rcar_sysc_area and rcar_gen4_sysc_area
structures:
  - parent is in the range [-1..32] or [-1..64], so s8 is sufficient,
  - flags needs just 3 bits (for now), so u8 is plenty.

This reduces kernel size by:
  - 288 bytes for an R-Car Gen1+Gen2 kernel (arm32),
  - 1772 bytes for an R-Car Gen3+Gen4 kernel (arm64).

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Tested-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Link: https://lore.kernel.org/r/cbbc8f464743d636895c048de61aa610d75392de.1654701156.git.geert+renesas@glider.be
drivers/soc/renesas/rcar-gen4-sysc.h
drivers/soc/renesas/rcar-sysc.h

index fe2d982..388cfa8 100644 (file)
@@ -25,8 +25,8 @@
 struct rcar_gen4_sysc_area {
        const char *name;
        u8 pdr;                 /* PDRn */
-       int parent;             /* -1 if none */
-       unsigned int flags;     /* See PD_* */
+       s8 parent;              /* -1 if none */
+       u8 flags;               /* See PD_* */
 };
 
 /*
index 8d861c1..266c599 100644 (file)
@@ -31,8 +31,8 @@ struct rcar_sysc_area {
        u16 chan_offs;          /* Offset of PWRSR register for this area */
        u8 chan_bit;            /* Bit in PWR* (except for PWRUP in PWRSR) */
        u8 isr_bit;             /* Bit in SYSCI*R */
-       int parent;             /* -1 if none */
-       unsigned int flags;     /* See PD_* */
+       s8 parent;              /* -1 if none */
+       u8 flags;               /* See PD_* */
 };