Skip to content

Commit 4b9e7ed

Browse files
brglbroonie
authored andcommitted
regmap: convert all regmap_update_bits() and co. macros to static inlines
There's no reason to have these as macros. Let's convert them all to static inlines for better readability and stronger typing. Suggested-by: Mark Brown <[email protected]> Signed-off-by: Bartosz Golaszewski <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
1 parent 6ed50f8 commit 4b9e7ed

File tree

1 file changed

+192
-30
lines changed

1 file changed

+192
-30
lines changed

include/linux/regmap.h

Lines changed: 192 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -80,36 +80,6 @@ struct reg_sequence {
8080
}
8181
#define REG_SEQ0(_reg, _def) REG_SEQ(_reg, _def, 0)
8282

83-
#define regmap_update_bits(map, reg, mask, val) \
84-
regmap_update_bits_base(map, reg, mask, val, NULL, false, false)
85-
#define regmap_update_bits_async(map, reg, mask, val)\
86-
regmap_update_bits_base(map, reg, mask, val, NULL, true, false)
87-
#define regmap_update_bits_check(map, reg, mask, val, change)\
88-
regmap_update_bits_base(map, reg, mask, val, change, false, false)
89-
#define regmap_update_bits_check_async(map, reg, mask, val, change)\
90-
regmap_update_bits_base(map, reg, mask, val, change, true, false)
91-
92-
#define regmap_write_bits(map, reg, mask, val) \
93-
regmap_update_bits_base(map, reg, mask, val, NULL, false, true)
94-
95-
#define regmap_field_write(field, val) \
96-
regmap_field_update_bits_base(field, ~0, val, NULL, false, false)
97-
#define regmap_field_force_write(field, val) \
98-
regmap_field_update_bits_base(field, ~0, val, NULL, false, true)
99-
#define regmap_field_update_bits(field, mask, val)\
100-
regmap_field_update_bits_base(field, mask, val, NULL, false, false)
101-
#define regmap_field_force_update_bits(field, mask, val) \
102-
regmap_field_update_bits_base(field, mask, val, NULL, false, true)
103-
104-
#define regmap_fields_write(field, id, val) \
105-
regmap_fields_update_bits_base(field, id, ~0, val, NULL, false, false)
106-
#define regmap_fields_force_write(field, id, val) \
107-
regmap_fields_update_bits_base(field, id, ~0, val, NULL, false, true)
108-
#define regmap_fields_update_bits(field, id, mask, val)\
109-
regmap_fields_update_bits_base(field, id, mask, val, NULL, false, false)
110-
#define regmap_fields_force_update_bits(field, id, mask, val) \
111-
regmap_fields_update_bits_base(field, id, mask, val, NULL, false, true)
112-
11383
/**
11484
* regmap_read_poll_timeout - Poll until a condition is met or a timeout occurs
11585
*
@@ -1054,6 +1024,42 @@ int regmap_bulk_read(struct regmap *map, unsigned int reg, void *val,
10541024
int regmap_update_bits_base(struct regmap *map, unsigned int reg,
10551025
unsigned int mask, unsigned int val,
10561026
bool *change, bool async, bool force);
1027+
1028+
static inline int regmap_update_bits(struct regmap *map, unsigned int reg,
1029+
unsigned int mask, unsigned int val)
1030+
{
1031+
return regmap_update_bits_base(map, reg, mask, val, NULL, false, false);
1032+
}
1033+
1034+
static inline int regmap_update_bits_async(struct regmap *map, unsigned int reg,
1035+
unsigned int mask, unsigned int val)
1036+
{
1037+
return regmap_update_bits_base(map, reg, mask, val, NULL, true, false);
1038+
}
1039+
1040+
static inline int regmap_update_bits_check(struct regmap *map, unsigned int reg,
1041+
unsigned int mask, unsigned int val,
1042+
bool *change)
1043+
{
1044+
return regmap_update_bits_base(map, reg, mask, val,
1045+
change, false, false);
1046+
}
1047+
1048+
static inline int
1049+
regmap_update_bits_check_async(struct regmap *map, unsigned int reg,
1050+
unsigned int mask, unsigned int val,
1051+
bool *change)
1052+
{
1053+
return regmap_update_bits_base(map, reg, mask, val,
1054+
change, true, false);
1055+
}
1056+
1057+
static inline int regmap_write_bits(struct regmap *map, unsigned int reg,
1058+
unsigned int mask, unsigned int val)
1059+
{
1060+
return regmap_update_bits_base(map, reg, mask, val, NULL, false, true);
1061+
}
1062+
10571063
int regmap_get_val_bytes(struct regmap *map);
10581064
int regmap_get_max_register(struct regmap *map);
10591065
int regmap_get_reg_stride(struct regmap *map);
@@ -1152,6 +1158,65 @@ int regmap_fields_read(struct regmap_field *field, unsigned int id,
11521158
int regmap_fields_update_bits_base(struct regmap_field *field, unsigned int id,
11531159
unsigned int mask, unsigned int val,
11541160
bool *change, bool async, bool force);
1161+
1162+
static inline int regmap_field_write(struct regmap_field *field,
1163+
unsigned int val)
1164+
{
1165+
return regmap_field_update_bits_base(field, ~0, val,
1166+
NULL, false, false);
1167+
}
1168+
1169+
static inline int regmap_field_force_write(struct regmap_field *field,
1170+
unsigned int val)
1171+
{
1172+
return regmap_field_update_bits_base(field, ~0, val, NULL, false, true);
1173+
}
1174+
1175+
static inline int regmap_field_update_bits(struct regmap_field *field,
1176+
unsigned int mask, unsigned int val)
1177+
{
1178+
return regmap_field_update_bits_base(field, mask, val,
1179+
NULL, false, false);
1180+
}
1181+
1182+
static inline int
1183+
regmap_field_force_update_bits(struct regmap_field *field,
1184+
unsigned int mask, unsigned int val)
1185+
{
1186+
return regmap_field_update_bits_base(field, mask, val,
1187+
NULL, false, true);
1188+
}
1189+
1190+
static inline int regmap_fields_write(struct regmap_field *field,
1191+
unsigned int id, unsigned int val)
1192+
{
1193+
return regmap_fields_update_bits_base(field, id, ~0, val,
1194+
NULL, false, false);
1195+
}
1196+
1197+
static inline int regmap_fields_force_write(struct regmap_field *field,
1198+
unsigned int id, unsigned int val)
1199+
{
1200+
return regmap_fields_update_bits_base(field, id, ~0, val,
1201+
NULL, false, true);
1202+
}
1203+
1204+
static inline int
1205+
regmap_fields_update_bits(struct regmap_field *field, unsigned int id,
1206+
unsigned int mask, unsigned int val)
1207+
{
1208+
return regmap_fields_update_bits_base(field, id, mask, val,
1209+
NULL, false, false);
1210+
}
1211+
1212+
static inline int
1213+
regmap_fields_force_update_bits(struct regmap_field *field, unsigned int id,
1214+
unsigned int mask, unsigned int val)
1215+
{
1216+
return regmap_fields_update_bits_base(field, id, mask, val,
1217+
NULL, false, true);
1218+
}
1219+
11551220
/**
11561221
* struct regmap_irq_type - IRQ type definitions.
11571222
*
@@ -1458,6 +1523,103 @@ static inline int regmap_fields_update_bits_base(struct regmap_field *field,
14581523
return -EINVAL;
14591524
}
14601525

1526+
static inline int regmap_update_bits(struct regmap *map, unsigned int reg,
1527+
unsigned int mask, unsigned int val)
1528+
{
1529+
WARN_ONCE(1, "regmap API is disabled");
1530+
return -EINVAL;
1531+
}
1532+
1533+
static inline int regmap_update_bits_async(struct regmap *map, unsigned int reg,
1534+
unsigned int mask, unsigned int val)
1535+
{
1536+
WARN_ONCE(1, "regmap API is disabled");
1537+
return -EINVAL;
1538+
}
1539+
1540+
static inline int regmap_update_bits_check(struct regmap *map, unsigned int reg,
1541+
unsigned int mask, unsigned int val,
1542+
bool *change)
1543+
{
1544+
WARN_ONCE(1, "regmap API is disabled");
1545+
return -EINVAL;
1546+
}
1547+
1548+
static inline int
1549+
regmap_update_bits_check_async(struct regmap *map, unsigned int reg,
1550+
unsigned int mask, unsigned int val,
1551+
bool *change)
1552+
{
1553+
WARN_ONCE(1, "regmap API is disabled");
1554+
return -EINVAL;
1555+
}
1556+
1557+
static inline int regmap_write_bits(struct regmap *map, unsigned int reg,
1558+
unsigned int mask, unsigned int val)
1559+
{
1560+
WARN_ONCE(1, "regmap API is disabled");
1561+
return -EINVAL;
1562+
}
1563+
1564+
static inline int regmap_field_write(struct regmap_field *field,
1565+
unsigned int val)
1566+
{
1567+
WARN_ONCE(1, "regmap API is disabled");
1568+
return -EINVAL;
1569+
}
1570+
1571+
static inline int regmap_field_force_write(struct regmap_field *field,
1572+
unsigned int val)
1573+
{
1574+
WARN_ONCE(1, "regmap API is disabled");
1575+
return -EINVAL;
1576+
}
1577+
1578+
static inline int regmap_field_update_bits(struct regmap_field *field,
1579+
unsigned int mask, unsigned int val)
1580+
{
1581+
WARN_ONCE(1, "regmap API is disabled");
1582+
return -EINVAL;
1583+
}
1584+
1585+
static inline int
1586+
regmap_field_force_update_bits(struct regmap_field *field,
1587+
unsigned int mask, unsigned int val)
1588+
{
1589+
WARN_ONCE(1, "regmap API is disabled");
1590+
return -EINVAL;
1591+
}
1592+
1593+
static inline int regmap_fields_write(struct regmap_field *field,
1594+
unsigned int id, unsigned int val)
1595+
{
1596+
WARN_ONCE(1, "regmap API is disabled");
1597+
return -EINVAL;
1598+
}
1599+
1600+
static inline int regmap_fields_force_write(struct regmap_field *field,
1601+
unsigned int id, unsigned int val)
1602+
{
1603+
WARN_ONCE(1, "regmap API is disabled");
1604+
return -EINVAL;
1605+
}
1606+
1607+
static inline int
1608+
regmap_fields_update_bits(struct regmap_field *field, unsigned int id,
1609+
unsigned int mask, unsigned int val)
1610+
{
1611+
WARN_ONCE(1, "regmap API is disabled");
1612+
return -EINVAL;
1613+
}
1614+
1615+
static inline int
1616+
regmap_fields_force_update_bits(struct regmap_field *field, unsigned int id,
1617+
unsigned int mask, unsigned int val)
1618+
{
1619+
WARN_ONCE(1, "regmap API is disabled");
1620+
return -EINVAL;
1621+
}
1622+
14611623
static inline int regmap_get_val_bytes(struct regmap *map)
14621624
{
14631625
WARN_ONCE(1, "regmap API is disabled");

0 commit comments

Comments
 (0)