mirror of
https://github.com/torvalds/linux.git
synced 2026-05-23 14:42:08 +02:00
pmdomain: mediatek: Move bools to a flags field
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>
This commit is contained in:
parent
f4e769243d
commit
c6bee73207
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -42,23 +42,27 @@
|
|||
|
||||
#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;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user