pmdomain: mediatek: Move bools to a flags field
authorMarkus Schneider-Pargmann <msp@baylibre.com>
Mon, 18 Sep 2023 09:37:46 +0000 (11:37 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Tue, 17 Oct 2023 09:41:42 +0000 (11:41 +0200)
To simplify the macros, use a flags field for simple bools. This is in
preparation for more flags.

Signed-off-by: Markus Schneider-Pargmann <msp@baylibre.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Alexandre Mergnat <amergnat@baylibre.com>
Tested-by: Alexandre Mergnat <amergnat@baylibre.com>
Link: https://lore.kernel.org/r/20230918093751.1188668-3-msp@baylibre.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/pmdomain/mediatek/mtk-pm-domains.c
drivers/pmdomain/mediatek/mtk-pm-domains.h

index ee96280..da675a3 100644 (file)
@@ -128,7 +128,7 @@ static int _scpsys_bus_protect_enable(const struct scpsys_bus_prot_data *bpd, st
                if (!mask)
                        break;
 
-               if (bpd[i].bus_prot_reg_update)
+               if (bpd[i].flags & BUS_PROT_REG_UPDATE)
                        regmap_set_bits(regmap, bpd[i].bus_prot_set, mask);
                else
                        regmap_write(regmap, bpd[i].bus_prot_set, mask);
@@ -165,12 +165,12 @@ static int _scpsys_bus_protect_disable(const struct scpsys_bus_prot_data *bpd,
                if (!mask)
                        continue;
 
-               if (bpd[i].bus_prot_reg_update)
+               if (bpd[i].flags & BUS_PROT_REG_UPDATE)
                        regmap_clear_bits(regmap, bpd[i].bus_prot_clr, mask);
                else
                        regmap_write(regmap, bpd[i].bus_prot_clr, mask);
 
-               if (bpd[i].ignore_clr_ack)
+               if (bpd[i].flags & BUS_PROT_IGNORE_CLR_ACK)
                        continue;
 
                ret = regmap_read_poll_timeout(regmap, bpd[i].bus_prot_sta,
index 5ec53ee..d8c0c29 100644 (file)
 
 #define SPM_MAX_BUS_PROT_DATA          6
 
-#define _BUS_PROT(_mask, _set, _clr, _sta, _update, _ignore) { \
+enum scpsys_bus_prot_flags {
+       BUS_PROT_REG_UPDATE = BIT(1),
+       BUS_PROT_IGNORE_CLR_ACK = BIT(2),
+};
+
+#define _BUS_PROT(_mask, _set, _clr, _sta, _flags) {           \
                .bus_prot_mask = (_mask),                       \
                .bus_prot_set = _set,                           \
                .bus_prot_clr = _clr,                           \
                .bus_prot_sta = _sta,                           \
-               .bus_prot_reg_update = _update,                 \
-               .ignore_clr_ack = _ignore,                      \
+               .flags = _flags                                 \
        }
 
 #define BUS_PROT_WR(_mask, _set, _clr, _sta)                   \
-               _BUS_PROT(_mask, _set, _clr, _sta, false, false)
+               _BUS_PROT(_mask, _set, _clr, _sta, 0)
 
 #define BUS_PROT_WR_IGN(_mask, _set, _clr, _sta)               \
-               _BUS_PROT(_mask, _set, _clr, _sta, false, true)
+               _BUS_PROT(_mask, _set, _clr, _sta, BUS_PROT_IGNORE_CLR_ACK)
 
 #define BUS_PROT_UPDATE(_mask, _set, _clr, _sta)               \
-               _BUS_PROT(_mask, _set, _clr, _sta, true, false)
+               _BUS_PROT(_mask, _set, _clr, _sta, BUS_PROT_REG_UPDATE)
 
 #define BUS_PROT_UPDATE_TOPAXI(_mask)                          \
                BUS_PROT_UPDATE(_mask,                          \
@@ -71,8 +75,7 @@ struct scpsys_bus_prot_data {
        u32 bus_prot_set;
        u32 bus_prot_clr;
        u32 bus_prot_sta;
-       bool bus_prot_reg_update;
-       bool ignore_clr_ack;
+       u8 flags;
 };
 
 /**