summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2021-06-01 11:20:37 -0500
committerDenis Kenzior <denkenz@gmail.com>2021-06-01 11:20:37 -0500
commit1d86dbc6c847620bbd1a5f2e4787d743a561e4c1 (patch)
tree98db81bf97bf6678f7496284d1bd509057efe45e
parentf10b870c25d40362dd98b22f422fbbdde3ad8059 (diff)
downloadofono-1d86dbc6c847620bbd1a5f2e4787d743a561e4c1.tar.gz
radio-settings: Do not use enum ofono_access_mode
Originally the enum was only meant to signify a single radio access mode preference, but over time its meaning was overloaded to be a bitfield with multiple preferences. Switch away from using an enum value to using an unsigned int to make it clearer that the value is a bitfield.
-rw-r--r--drivers/hsomodem/radio-settings.c4
-rw-r--r--drivers/huaweimodem/radio-settings.c10
-rw-r--r--drivers/iceramodem/radio-settings.c4
-rw-r--r--drivers/ifxmodem/radio-settings.c5
-rw-r--r--drivers/isimodem/radio-settings.c7
-rw-r--r--drivers/nwmodem/radio-settings.c5
-rw-r--r--drivers/qmimodem/radio-settings.c5
-rw-r--r--drivers/rilmodem/radio-settings.c3
-rw-r--r--drivers/stemodem/radio-settings.c9
-rw-r--r--drivers/xmm7modem/radio-settings.c5
-rw-r--r--drivers/ztemodem/radio-settings.c5
-rw-r--r--include/radio-settings.h6
-rw-r--r--src/radio-settings.c15
13 files changed, 36 insertions, 47 deletions
diff --git a/drivers/hsomodem/radio-settings.c b/drivers/hsomodem/radio-settings.c
index 0a5e48ff..c074d846 100644
--- a/drivers/hsomodem/radio-settings.c
+++ b/drivers/hsomodem/radio-settings.c
@@ -50,7 +50,7 @@ static void opsys_query_cb(gboolean ok, GAtResult *result, gpointer user_data)
{
struct cb_data *cbd = user_data;
ofono_radio_settings_rat_mode_query_cb_t cb = cbd->cb;
- enum ofono_radio_access_mode mode;
+ unsigned int mode;
struct ofono_error error;
GAtResultIter iter;
int value;
@@ -120,7 +120,7 @@ static void opsys_modify_cb(gboolean ok, GAtResult *result, gpointer user_data)
}
static void hso_set_rat_mode(struct ofono_radio_settings *rs,
- enum ofono_radio_access_mode mode,
+ unsigned int mode,
ofono_radio_settings_rat_mode_set_cb_t cb,
void *data)
{
diff --git a/drivers/huaweimodem/radio-settings.c b/drivers/huaweimodem/radio-settings.c
index b3f31e56..60a15bc9 100644
--- a/drivers/huaweimodem/radio-settings.c
+++ b/drivers/huaweimodem/radio-settings.c
@@ -134,7 +134,7 @@ static void syscfg_query_mode_cb(gboolean ok, GAtResult *result,
{
struct cb_data *cbd = user_data;
ofono_radio_settings_rat_mode_query_cb_t cb = cbd->cb;
- enum ofono_radio_access_mode mode;
+ unsigned int mode;
struct ofono_error error;
GAtResultIter iter;
int value;
@@ -182,7 +182,7 @@ static void syscfgex_query_mode_cb(gboolean ok, GAtResult *result,
{
struct cb_data *cbd = user_data;
ofono_radio_settings_rat_mode_query_cb_t cb = cbd->cb;
- enum ofono_radio_access_mode mode;
+ unsigned int mode;
struct ofono_error error;
GAtResultIter iter;
const char *acqorder;
@@ -262,7 +262,7 @@ static void syscfgxx_modify_mode_cb(gboolean ok, GAtResult *result,
}
static void syscfg_set_rat_mode(struct radio_settings_data *rsd,
- enum ofono_radio_access_mode mode,
+ unsigned int mode,
ofono_radio_settings_rat_mode_set_cb_t cb,
void *data)
{
@@ -302,7 +302,7 @@ error:
}
static void syscfgex_set_rat_mode(struct radio_settings_data *rsd,
- enum ofono_radio_access_mode mode,
+ unsigned int mode,
ofono_radio_settings_rat_mode_set_cb_t cb,
void *data)
{
@@ -344,7 +344,7 @@ static void syscfgex_set_rat_mode(struct radio_settings_data *rsd,
}
static void huawei_set_rat_mode(struct ofono_radio_settings *rs,
- enum ofono_radio_access_mode mode,
+ unsigned int mode,
ofono_radio_settings_rat_mode_set_cb_t cb,
void *data)
{
diff --git a/drivers/iceramodem/radio-settings.c b/drivers/iceramodem/radio-settings.c
index defa4330..77498f37 100644
--- a/drivers/iceramodem/radio-settings.c
+++ b/drivers/iceramodem/radio-settings.c
@@ -51,7 +51,7 @@ static void ipsys_query_cb(gboolean ok, GAtResult *result, gpointer user_data)
{
struct cb_data *cbd = user_data;
ofono_radio_settings_rat_mode_query_cb_t cb = cbd->cb;
- enum ofono_radio_access_mode mode;
+ unsigned int mode;
struct ofono_error error;
GAtResultIter iter;
int value;
@@ -121,7 +121,7 @@ static void ipsys_modify_cb(gboolean ok, GAtResult *result, gpointer user_data)
}
static void icera_set_rat_mode(struct ofono_radio_settings *rs,
- enum ofono_radio_access_mode mode,
+ unsigned int mode,
ofono_radio_settings_rat_mode_set_cb_t cb,
void *data)
{
diff --git a/drivers/ifxmodem/radio-settings.c b/drivers/ifxmodem/radio-settings.c
index c132ba70..ebc21e0a 100644
--- a/drivers/ifxmodem/radio-settings.c
+++ b/drivers/ifxmodem/radio-settings.c
@@ -50,7 +50,7 @@ static void xrat_query_cb(gboolean ok, GAtResult *result, gpointer user_data)
{
struct cb_data *cbd = user_data;
ofono_radio_settings_rat_mode_query_cb_t cb = cbd->cb;
- enum ofono_radio_access_mode mode;
+ unsigned int mode;
struct ofono_error error;
GAtResultIter iter;
int value, preferred;
@@ -120,8 +120,7 @@ static void xrat_modify_cb(gboolean ok, GAtResult *result, gpointer user_data)
cb(&error, cbd->data);
}
-static void ifx_set_rat_mode(struct ofono_radio_settings *rs,
- enum ofono_radio_access_mode mode,
+static void ifx_set_rat_mode(struct ofono_radio_settings *rs, unsigned int mode,
ofono_radio_settings_rat_mode_set_cb_t cb,
void *data)
{
diff --git a/drivers/isimodem/radio-settings.c b/drivers/isimodem/radio-settings.c
index fa533005..f3f35e3e 100644
--- a/drivers/isimodem/radio-settings.c
+++ b/drivers/isimodem/radio-settings.c
@@ -52,7 +52,7 @@ struct radio_data {
uint16_t quick_release:1;
};
-static enum ofono_radio_access_mode isi_mode_to_ofono_mode(guint8 mode)
+static unsigned int isi_mode_to_ofono_mode(guint8 mode)
{
switch (mode) {
case GSS_DUAL_RAT:
@@ -66,7 +66,7 @@ static enum ofono_radio_access_mode isi_mode_to_ofono_mode(guint8 mode)
}
}
-static int ofono_mode_to_isi_mode(enum ofono_radio_access_mode mode)
+static int ofono_mode_to_isi_mode(unsigned int mode)
{
switch (mode) {
case OFONO_RADIO_ACCESS_MODE_ANY:
@@ -184,8 +184,7 @@ error:
return;
}
-static void isi_set_rat_mode(struct ofono_radio_settings *rs,
- enum ofono_radio_access_mode mode,
+static void isi_set_rat_mode(struct ofono_radio_settings *rs, unsigned int mode,
ofono_radio_settings_rat_mode_set_cb_t cb,
void *data)
{
diff --git a/drivers/nwmodem/radio-settings.c b/drivers/nwmodem/radio-settings.c
index 13330e0b..0a363f8f 100644
--- a/drivers/nwmodem/radio-settings.c
+++ b/drivers/nwmodem/radio-settings.c
@@ -50,7 +50,7 @@ static void nwrat_query_cb(gboolean ok, GAtResult *result, gpointer user_data)
{
struct cb_data *cbd = user_data;
ofono_radio_settings_rat_mode_query_cb_t cb = cbd->cb;
- enum ofono_radio_access_mode mode;
+ unsigned int mode;
struct ofono_error error;
GAtResultIter iter;
int value;
@@ -117,8 +117,7 @@ static void nwrat_modify_cb(gboolean ok, GAtResult *result, gpointer user_data)
cb(&error, cbd->data);
}
-static void nw_set_rat_mode(struct ofono_radio_settings *rs,
- enum ofono_radio_access_mode mode,
+static void nw_set_rat_mode(struct ofono_radio_settings *rs, unsigned int mode,
ofono_radio_settings_rat_mode_set_cb_t cb,
void *data)
{
diff --git a/drivers/qmimodem/radio-settings.c b/drivers/qmimodem/radio-settings.c
index abddc7e3..7ee95216 100644
--- a/drivers/qmimodem/radio-settings.c
+++ b/drivers/qmimodem/radio-settings.c
@@ -45,7 +45,7 @@ static void get_system_selection_pref_cb(struct qmi_result *result,
{
struct cb_data *cbd = user_data;
ofono_radio_settings_rat_mode_query_cb_t cb = cbd->cb;
- enum ofono_radio_access_mode mode = OFONO_RADIO_ACCESS_MODE_ANY;
+ unsigned int mode = OFONO_RADIO_ACCESS_MODE_ANY;
uint16_t pref;
DBG("");
@@ -109,8 +109,7 @@ static void set_system_selection_pref_cb(struct qmi_result *result,
CALLBACK_WITH_SUCCESS(cb, cbd->data);
}
-static void qmi_set_rat_mode(struct ofono_radio_settings *rs,
- enum ofono_radio_access_mode mode,
+static void qmi_set_rat_mode(struct ofono_radio_settings *rs, unsigned int mode,
ofono_radio_settings_rat_mode_set_cb_t cb,
void *user_data)
{
diff --git a/drivers/rilmodem/radio-settings.c b/drivers/rilmodem/radio-settings.c
index a2e25e0b..446b97e1 100644
--- a/drivers/rilmodem/radio-settings.c
+++ b/drivers/rilmodem/radio-settings.c
@@ -102,8 +102,7 @@ static void ril_set_rat_cb(struct ril_msg *message, gpointer user_data)
}
}
-static void ril_set_rat_mode(struct ofono_radio_settings *rs,
- enum ofono_radio_access_mode mode,
+static void ril_set_rat_mode(struct ofono_radio_settings *rs, unsigned int mode,
ofono_radio_settings_rat_mode_set_cb_t cb,
void *data)
{
diff --git a/drivers/stemodem/radio-settings.c b/drivers/stemodem/radio-settings.c
index 5e726cd5..d30acbc9 100644
--- a/drivers/stemodem/radio-settings.c
+++ b/drivers/stemodem/radio-settings.c
@@ -56,7 +56,7 @@ enum ste_radio_mode {
};
static gboolean ste_mode_to_ofono_mode(enum ste_radio_mode stemode,
- enum ofono_radio_access_mode *mode)
+ unsigned int *mode)
{
switch (stemode) {
case STE_RADIO_ON:
@@ -76,7 +76,7 @@ static gboolean ste_mode_to_ofono_mode(enum ste_radio_mode stemode,
return FALSE;
}
-static gboolean ofono_mode_to_ste_mode(enum ofono_radio_access_mode mode,
+static gboolean ofono_mode_to_ste_mode(unsigned int mode,
enum ste_radio_mode *stemode)
{
switch (mode) {
@@ -100,7 +100,7 @@ static void rat_query_cb(gboolean ok, GAtResult *result, gpointer user_data)
{
struct cb_data *cbd = user_data;
ofono_radio_settings_rat_mode_query_cb_t cb = cbd->cb;
- enum ofono_radio_access_mode mode;
+ unsigned int mode;
struct ofono_error error;
GAtResultIter iter;
int value;
@@ -161,8 +161,7 @@ static void rat_modify_cb(gboolean ok, GAtResult *result, gpointer user_data)
CALLBACK_WITH_SUCCESS(cb, cbd->data);
}
-static void ste_set_rat_mode(struct ofono_radio_settings *rs,
- enum ofono_radio_access_mode mode,
+static void ste_set_rat_mode(struct ofono_radio_settings *rs, unsigned int mode,
ofono_radio_settings_rat_mode_set_cb_t cb,
void *data)
{
diff --git a/drivers/xmm7modem/radio-settings.c b/drivers/xmm7modem/radio-settings.c
index c7c2ce0e..19557bdc 100644
--- a/drivers/xmm7modem/radio-settings.c
+++ b/drivers/xmm7modem/radio-settings.c
@@ -50,7 +50,7 @@ static void xact_query_cb(gboolean ok, GAtResult *result, gpointer user_data)
{
struct cb_data *cbd = user_data;
ofono_radio_settings_rat_mode_query_cb_t cb = cbd->cb;
- enum ofono_radio_access_mode mode;
+ unsigned int mode;
struct ofono_error error;
GAtResultIter iter;
int value, preferred;
@@ -133,8 +133,7 @@ static void xact_modify_cb(gboolean ok, GAtResult *result, gpointer user_data)
cb(&error, cbd->data);
}
-static void xmm_set_rat_mode(struct ofono_radio_settings *rs,
- enum ofono_radio_access_mode mode,
+static void xmm_set_rat_mode(struct ofono_radio_settings *rs, unsigned int mode,
ofono_radio_settings_rat_mode_set_cb_t cb,
void *data)
{
diff --git a/drivers/ztemodem/radio-settings.c b/drivers/ztemodem/radio-settings.c
index 6a2b1fc1..e83f4550 100644
--- a/drivers/ztemodem/radio-settings.c
+++ b/drivers/ztemodem/radio-settings.c
@@ -50,7 +50,7 @@ static void zsnt_query_cb(gboolean ok, GAtResult *result, gpointer user_data)
{
struct cb_data *cbd = user_data;
ofono_radio_settings_rat_mode_query_cb_t cb = cbd->cb;
- enum ofono_radio_access_mode mode;
+ unsigned int mode;
struct ofono_error error;
GAtResultIter iter;
int value;
@@ -117,8 +117,7 @@ static void zsnt_modify_cb(gboolean ok, GAtResult *result, gpointer user_data)
cb(&error, cbd->data);
}
-static void zte_set_rat_mode(struct ofono_radio_settings *rs,
- enum ofono_radio_access_mode mode,
+static void zte_set_rat_mode(struct ofono_radio_settings *rs, unsigned int mode,
ofono_radio_settings_rat_mode_set_cb_t cb,
void *data)
{
diff --git a/include/radio-settings.h b/include/radio-settings.h
index 0836d8b6..638452f0 100644
--- a/include/radio-settings.h
+++ b/include/radio-settings.h
@@ -60,8 +60,7 @@ typedef void (*ofono_radio_settings_rat_mode_set_cb_t)(
void *data);
typedef void (*ofono_radio_settings_rat_mode_query_cb_t)(
const struct ofono_error *error,
- enum ofono_radio_access_mode mode,
- void *data);
+ int mode, void *data);
typedef void (*ofono_radio_settings_band_set_cb_t)(
const struct ofono_error *error,
@@ -93,8 +92,7 @@ struct ofono_radio_settings_driver {
void (*query_rat_mode)(struct ofono_radio_settings *rs,
ofono_radio_settings_rat_mode_query_cb_t cb,
void *data);
- void (*set_rat_mode)(struct ofono_radio_settings *rs,
- enum ofono_radio_access_mode mode,
+ void (*set_rat_mode)(struct ofono_radio_settings *rs, unsigned int mode,
ofono_radio_settings_rat_mode_set_cb_t cb,
void *data);
void (*query_band)(struct ofono_radio_settings *rs,
diff --git a/src/radio-settings.c b/src/radio-settings.c
index 02bb90cd..a80e4c18 100644
--- a/src/radio-settings.c
+++ b/src/radio-settings.c
@@ -44,11 +44,11 @@ static GSList *g_drivers = NULL;
struct ofono_radio_settings {
DBusMessage *pending;
int flags;
- enum ofono_radio_access_mode mode;
+ unsigned int mode;
enum ofono_radio_band_gsm band_gsm;
enum ofono_radio_band_umts band_umts;
ofono_bool_t fast_dormancy;
- enum ofono_radio_access_mode pending_mode;
+ unsigned int pending_mode;
enum ofono_radio_band_gsm pending_band_gsm;
enum ofono_radio_band_umts pending_band_umts;
ofono_bool_t fast_dormancy_pending;
@@ -60,7 +60,7 @@ struct ofono_radio_settings {
struct ofono_atom *atom;
};
-static const char *radio_access_mode_to_string(enum ofono_radio_access_mode m)
+static const char *radio_access_mode_to_string(unsigned int m)
{
switch (m) {
case OFONO_RADIO_ACCESS_MODE_ANY:
@@ -86,7 +86,7 @@ static const char *radio_access_mode_to_string(enum ofono_radio_access_mode m)
}
static gboolean radio_access_mode_from_string(const char *str,
- enum ofono_radio_access_mode *mode)
+ unsigned int *mode)
{
if (g_str_equal(str, "any")) {
@@ -379,7 +379,7 @@ static void radio_band_set_callback(const struct ofono_error *error,
}
static void radio_set_rat_mode(struct ofono_radio_settings *rs,
- enum ofono_radio_access_mode mode)
+ unsigned int mode)
{
DBusConnection *conn = ofono_dbus_get_connection();
const char *path;
@@ -528,8 +528,7 @@ static void radio_query_band(struct ofono_radio_settings *rs)
}
static void radio_rat_mode_query_callback(const struct ofono_error *error,
- enum ofono_radio_access_mode mode,
- void *data)
+ int mode, void *data)
{
struct ofono_radio_settings *rs = data;
DBusMessage *reply;
@@ -594,7 +593,7 @@ static DBusMessage *radio_set_property(DBusConnection *conn, DBusMessage *msg,
if (g_strcmp0(property, "TechnologyPreference") == 0) {
const char *value;
- enum ofono_radio_access_mode mode;
+ unsigned int mode;
if (rs->driver->set_rat_mode == NULL)
return __ofono_error_not_implemented(msg);