modem-helpers-qmi: port qmi band parser to use object logging

This commit is contained in:
Aleksander Morgado
2020-04-08 16:35:09 +02:00
parent 4be88b899e
commit fc76e797d7
3 changed files with 60 additions and 50 deletions
+41 -36
View File
@@ -22,7 +22,7 @@
#include "mm-modem-helpers-qmi.h" #include "mm-modem-helpers-qmi.h"
#include "mm-modem-helpers.h" #include "mm-modem-helpers.h"
#include "mm-enums-types.h" #include "mm-enums-types.h"
#include "mm-log.h" #include "mm-log-object.h"
/*****************************************************************************/ /*****************************************************************************/
@@ -217,8 +217,9 @@ static const DmsBandsMap dms_bands_map [] = {
}; };
static void static void
dms_add_qmi_bands (GArray *mm_bands, dms_add_qmi_bands (GArray *mm_bands,
QmiDmsBandCapability qmi_bands) QmiDmsBandCapability qmi_bands,
gpointer log_object)
{ {
static QmiDmsBandCapability qmi_bands_expected = 0; static QmiDmsBandCapability qmi_bands_expected = 0;
QmiDmsBandCapability not_expected; QmiDmsBandCapability not_expected;
@@ -236,11 +237,10 @@ dms_add_qmi_bands (GArray *mm_bands,
/* Log about the bands that cannot be represented in ModemManager */ /* Log about the bands that cannot be represented in ModemManager */
not_expected = ((qmi_bands_expected ^ qmi_bands) & qmi_bands); not_expected = ((qmi_bands_expected ^ qmi_bands) & qmi_bands);
if (not_expected) { if (not_expected) {
gchar *aux; g_autofree gchar *aux = NULL;
aux = qmi_dms_band_capability_build_string_from_mask (not_expected); aux = qmi_dms_band_capability_build_string_from_mask (not_expected);
mm_dbg ("Cannot add the following bands: '%s'", aux); mm_obj_dbg (log_object, "cannot add the following bands: '%s'", aux);
g_free (aux);
} }
/* And add the expected ones */ /* And add the expected ones */
@@ -314,8 +314,9 @@ dms_add_qmi_lte_bands (GArray *mm_bands,
} }
static void static void
dms_add_extended_qmi_lte_bands (GArray *mm_bands, dms_add_extended_qmi_lte_bands (GArray *mm_bands,
GArray *extended_qmi_bands) GArray *extended_qmi_bands,
gpointer log_object)
{ {
guint i; guint i;
@@ -334,7 +335,7 @@ dms_add_extended_qmi_lte_bands (GArray *mm_bands,
* MM_MODEM_BAND_EUTRAN_71 = 101 * MM_MODEM_BAND_EUTRAN_71 = 101
*/ */
if (val < 1 || val > 71) if (val < 1 || val > 71)
mm_dbg ("Unexpected LTE band supported by module: EUTRAN %u", val); mm_obj_dbg (log_object, "unexpected LTE band supported by module: EUTRAN %u", val);
else { else {
MMModemBand band; MMModemBand band;
@@ -345,17 +346,18 @@ dms_add_extended_qmi_lte_bands (GArray *mm_bands,
} }
GArray * GArray *
mm_modem_bands_from_qmi_band_capabilities (QmiDmsBandCapability qmi_bands, mm_modem_bands_from_qmi_band_capabilities (QmiDmsBandCapability qmi_bands,
QmiDmsLteBandCapability qmi_lte_bands, QmiDmsLteBandCapability qmi_lte_bands,
GArray *extended_qmi_lte_bands) GArray *extended_qmi_lte_bands,
gpointer log_object)
{ {
GArray *mm_bands; GArray *mm_bands;
mm_bands = g_array_new (FALSE, FALSE, sizeof (MMModemBand)); mm_bands = g_array_new (FALSE, FALSE, sizeof (MMModemBand));
dms_add_qmi_bands (mm_bands, qmi_bands); dms_add_qmi_bands (mm_bands, qmi_bands, log_object);
if (extended_qmi_lte_bands) if (extended_qmi_lte_bands)
dms_add_extended_qmi_lte_bands (mm_bands, extended_qmi_lte_bands); dms_add_extended_qmi_lte_bands (mm_bands, extended_qmi_lte_bands, log_object);
else else
dms_add_qmi_lte_bands (mm_bands, qmi_lte_bands); dms_add_qmi_lte_bands (mm_bands, qmi_lte_bands);
@@ -421,8 +423,9 @@ static const NasBandsMap nas_bands_map [] = {
}; };
static void static void
nas_add_qmi_bands (GArray *mm_bands, nas_add_qmi_bands (GArray *mm_bands,
QmiNasBandPreference qmi_bands) QmiNasBandPreference qmi_bands,
gpointer log_object)
{ {
static QmiNasBandPreference qmi_bands_expected = 0; static QmiNasBandPreference qmi_bands_expected = 0;
QmiNasBandPreference not_expected; QmiNasBandPreference not_expected;
@@ -440,11 +443,10 @@ nas_add_qmi_bands (GArray *mm_bands,
/* Log about the bands that cannot be represented in ModemManager */ /* Log about the bands that cannot be represented in ModemManager */
not_expected = ((qmi_bands_expected ^ qmi_bands) & qmi_bands); not_expected = ((qmi_bands_expected ^ qmi_bands) & qmi_bands);
if (not_expected) { if (not_expected) {
gchar *aux; g_autofree gchar *aux = NULL;
aux = qmi_nas_band_preference_build_string_from_mask (not_expected); aux = qmi_nas_band_preference_build_string_from_mask (not_expected);
mm_dbg ("Cannot add the following bands: '%s'", aux); mm_obj_dbg (log_object, "cannot add the following bands: '%s'", aux);
g_free (aux);
} }
/* And add the expected ones */ /* And add the expected ones */
@@ -518,9 +520,10 @@ nas_add_qmi_lte_bands (GArray *mm_bands,
} }
static void static void
nas_add_extended_qmi_lte_bands (GArray *mm_bands, nas_add_extended_qmi_lte_bands (GArray *mm_bands,
const guint64 *extended_qmi_lte_bands, const guint64 *extended_qmi_lte_bands,
guint extended_qmi_lte_bands_size) guint extended_qmi_lte_bands_size,
gpointer log_object)
{ {
guint i; guint i;
@@ -542,7 +545,7 @@ nas_add_extended_qmi_lte_bands (GArray *mm_bands,
* MM_MODEM_BAND_EUTRAN_71 = 101 * MM_MODEM_BAND_EUTRAN_71 = 101
*/ */
if (val < 1 || val > 71) if (val < 1 || val > 71)
mm_dbg ("Unexpected LTE band supported by module: EUTRAN %u", val); mm_obj_dbg (log_object, "unexpected LTE band supported by module: EUTRAN %u", val);
else { else {
MMModemBand band; MMModemBand band;
@@ -554,18 +557,19 @@ nas_add_extended_qmi_lte_bands (GArray *mm_bands,
} }
GArray * GArray *
mm_modem_bands_from_qmi_band_preference (QmiNasBandPreference qmi_bands, mm_modem_bands_from_qmi_band_preference (QmiNasBandPreference qmi_bands,
QmiNasLteBandPreference qmi_lte_bands, QmiNasLteBandPreference qmi_lte_bands,
const guint64 *extended_qmi_lte_bands, const guint64 *extended_qmi_lte_bands,
guint extended_qmi_lte_bands_size) guint extended_qmi_lte_bands_size,
gpointer log_object)
{ {
GArray *mm_bands; GArray *mm_bands;
mm_bands = g_array_new (FALSE, FALSE, sizeof (MMModemBand)); mm_bands = g_array_new (FALSE, FALSE, sizeof (MMModemBand));
nas_add_qmi_bands (mm_bands, qmi_bands); nas_add_qmi_bands (mm_bands, qmi_bands, log_object);
if (extended_qmi_lte_bands && extended_qmi_lte_bands_size) if (extended_qmi_lte_bands && extended_qmi_lte_bands_size)
nas_add_extended_qmi_lte_bands (mm_bands, extended_qmi_lte_bands, extended_qmi_lte_bands_size); nas_add_extended_qmi_lte_bands (mm_bands, extended_qmi_lte_bands, extended_qmi_lte_bands_size, log_object);
else else
nas_add_qmi_lte_bands (mm_bands, qmi_lte_bands); nas_add_qmi_lte_bands (mm_bands, qmi_lte_bands);
@@ -573,11 +577,12 @@ mm_modem_bands_from_qmi_band_preference (QmiNasBandPreference qmi_bands,
} }
void void
mm_modem_bands_to_qmi_band_preference (GArray *mm_bands, mm_modem_bands_to_qmi_band_preference (GArray *mm_bands,
QmiNasBandPreference *qmi_bands, QmiNasBandPreference *qmi_bands,
QmiNasLteBandPreference *qmi_lte_bands, QmiNasLteBandPreference *qmi_lte_bands,
guint64 *extended_qmi_lte_bands, guint64 *extended_qmi_lte_bands,
guint extended_qmi_lte_bands_size) guint extended_qmi_lte_bands_size,
gpointer log_object)
{ {
guint i; guint i;
@@ -618,8 +623,8 @@ mm_modem_bands_to_qmi_band_preference (GArray *mm_bands,
} }
if (j == G_N_ELEMENTS (nas_lte_bands_map)) if (j == G_N_ELEMENTS (nas_lte_bands_map))
mm_dbg ("Cannot add the following LTE band: '%s'", mm_obj_dbg (log_object, "cannot add the following LTE band: '%s'",
mm_modem_band_get_string (band)); mm_modem_band_get_string (band));
} }
} else { } else {
/* Add non-LTE band preference */ /* Add non-LTE band preference */
@@ -633,8 +638,8 @@ mm_modem_bands_to_qmi_band_preference (GArray *mm_bands,
} }
if (j == G_N_ELEMENTS (nas_bands_map)) if (j == G_N_ELEMENTS (nas_bands_map))
mm_dbg ("Cannot add the following band: '%s'", mm_obj_dbg (log_object, "cannot add the following band: '%s'",
mm_modem_band_get_string (band)); mm_modem_band_get_string (band));
} }
} }
} }
+14 -11
View File
@@ -34,9 +34,10 @@ MMModemLock mm_modem_lock_from_qmi_uim_pin_status (QmiDmsUimPinStatus status,
gboolean mm_pin_enabled_from_qmi_uim_pin_status (QmiDmsUimPinStatus status); gboolean mm_pin_enabled_from_qmi_uim_pin_status (QmiDmsUimPinStatus status);
QmiDmsUimFacility mm_3gpp_facility_to_qmi_uim_facility (MMModem3gppFacility mm); QmiDmsUimFacility mm_3gpp_facility_to_qmi_uim_facility (MMModem3gppFacility mm);
GArray *mm_modem_bands_from_qmi_band_capabilities (QmiDmsBandCapability qmi_bands, GArray *mm_modem_bands_from_qmi_band_capabilities (QmiDmsBandCapability qmi_bands,
QmiDmsLteBandCapability qmi_lte_bands, QmiDmsLteBandCapability qmi_lte_bands,
GArray *extended_qmi_lte_bands); GArray *extended_qmi_lte_bands,
gpointer log_object);
/*****************************************************************************/ /*****************************************************************************/
/* QMI/NAS to MM translations */ /* QMI/NAS to MM translations */
@@ -77,15 +78,17 @@ QmiNasGsmWcdmaAcquisitionOrderPreference mm_modem_mode_to_qmi_gsm_wcdma_acquisit
GArray *mm_modem_bands_from_qmi_rf_band_information_array (GArray *info_array); GArray *mm_modem_bands_from_qmi_rf_band_information_array (GArray *info_array);
GArray *mm_modem_bands_from_qmi_band_preference (QmiNasBandPreference qmi_bands, GArray *mm_modem_bands_from_qmi_band_preference (QmiNasBandPreference qmi_bands,
QmiNasLteBandPreference qmi_lte_bands, QmiNasLteBandPreference qmi_lte_bands,
const guint64 *extended_qmi_lte_bands, const guint64 *extended_qmi_lte_bands,
guint extended_qmi_lte_bands_size); guint extended_qmi_lte_bands_size,
void mm_modem_bands_to_qmi_band_preference (GArray *mm_bands, gpointer log_object);
QmiNasBandPreference *qmi_bands, void mm_modem_bands_to_qmi_band_preference (GArray *mm_bands,
QmiNasBandPreference *qmi_bands,
QmiNasLteBandPreference *qmi_lte_bands, QmiNasLteBandPreference *qmi_lte_bands,
guint64 *extended_qmi_lte_bands, guint64 *extended_qmi_lte_bands,
guint extended_qmi_lte_bands_size); guint extended_qmi_lte_bands_size,
gpointer log_object);
MMModem3gppRegistrationState mm_modem_3gpp_registration_state_from_qmi_registration_state (QmiNasAttachState attach_state, MMModem3gppRegistrationState mm_modem_3gpp_registration_state_from_qmi_registration_state (QmiNasAttachState attach_state,
QmiNasRegistrationState registration_state, QmiNasRegistrationState registration_state,
+5 -3
View File
@@ -1679,7 +1679,7 @@ dms_get_band_capabilities_ready (QmiClientDms *client,
&extended_qmi_lte_bands, &extended_qmi_lte_bands,
NULL); NULL);
mm_bands = mm_modem_bands_from_qmi_band_capabilities (qmi_bands, qmi_lte_bands, extended_qmi_lte_bands); mm_bands = mm_modem_bands_from_qmi_band_capabilities (qmi_bands, qmi_lte_bands, extended_qmi_lte_bands, self);
if (mm_bands->len == 0) { if (mm_bands->len == 0) {
g_clear_pointer (&mm_bands, g_array_unref); g_clear_pointer (&mm_bands, g_array_unref);
error = g_error_new (MM_CORE_ERROR, MM_CORE_ERROR_FAILED, error = g_error_new (MM_CORE_ERROR, MM_CORE_ERROR_FAILED,
@@ -1787,7 +1787,8 @@ load_bands_get_system_selection_preference_ready (QmiClientNas *client,
mm_bands = mm_modem_bands_from_qmi_band_preference (band_preference_mask, mm_bands = mm_modem_bands_from_qmi_band_preference (band_preference_mask,
lte_band_preference_mask, lte_band_preference_mask,
extended_lte_band_preference_size ? extended_lte_band_preference : NULL, extended_lte_band_preference_size ? extended_lte_band_preference : NULL,
extended_lte_band_preference_size); extended_lte_band_preference_size,
self);
if (mm_bands->len == 0) { if (mm_bands->len == 0) {
g_clear_pointer (&mm_bands, g_array_unref); g_clear_pointer (&mm_bands, g_array_unref);
@@ -1902,7 +1903,8 @@ mm_shared_qmi_set_current_bands (MMIfaceModem *self,
&qmi_bands, &qmi_bands,
&qmi_lte_bands, &qmi_lte_bands,
priv->feature_extended_lte_band_preference == FEATURE_SUPPORTED ? extended_qmi_lte_bands : NULL, priv->feature_extended_lte_band_preference == FEATURE_SUPPORTED ? extended_qmi_lte_bands : NULL,
G_N_ELEMENTS (extended_qmi_lte_bands)); G_N_ELEMENTS (extended_qmi_lte_bands),
self);
input = qmi_message_nas_set_system_selection_preference_input_new (); input = qmi_message_nas_set_system_selection_preference_input_new ();
qmi_message_nas_set_system_selection_preference_input_set_band_preference (input, qmi_bands, NULL); qmi_message_nas_set_system_selection_preference_input_set_band_preference (input, qmi_bands, NULL);