gobi: Update to the new version_list changes

This commit is contained in:
Jonas Bonn 2018-04-03 16:50:55 +02:00 committed by Denis Kenzior
parent 6485522c91
commit c0527a211c
1 changed files with 25 additions and 43 deletions

View File

@ -264,56 +264,38 @@ static void create_shared_dms(void *user_data)
create_dms_cb, modem, NULL); create_dms_cb, modem, NULL);
} }
static void discover_cb(uint8_t count, const struct qmi_version *list, static void discover_cb(void *user_data)
void *user_data)
{ {
struct ofono_modem *modem = user_data; struct ofono_modem *modem = user_data;
struct gobi_data *data = ofono_modem_get_data(modem); struct gobi_data *data = ofono_modem_get_data(modem);
uint8_t i; uint16_t major, minor;
DBG(""); DBG("");
for (i = 0; i < count; i++) { if (qmi_device_has_service(data->device, QMI_SERVICE_DMS))
DBG("%s %d.%d - %d", list[i].name, list[i].major, list[i].minor, data->features |= GOBI_DMS;
list[i].type); if (qmi_device_has_service(data->device, QMI_SERVICE_NAS))
data->features |= GOBI_NAS;
switch (list[i].type) { if (qmi_device_has_service(data->device, QMI_SERVICE_WMS))
case QMI_SERVICE_DMS: data->features |= GOBI_WMS;
data->features |= GOBI_DMS; if (qmi_device_has_service(data->device, QMI_SERVICE_WDS))
break; data->features |= GOBI_WDS;
case QMI_SERVICE_NAS: if (qmi_device_has_service(data->device, QMI_SERVICE_WDA))
data->features |= GOBI_NAS; data->features |= GOBI_WDA;
break; if (qmi_device_has_service(data->device, QMI_SERVICE_PDS))
case QMI_SERVICE_WMS: data->features |= GOBI_PDS;
data->features |= GOBI_WMS; if (qmi_device_has_service(data->device, QMI_SERVICE_PBM))
break; data->features |= GOBI_PBM;
case QMI_SERVICE_WDS: if (qmi_device_has_service(data->device, QMI_SERVICE_UIM))
data->features |= GOBI_WDS; data->features |= GOBI_UIM;
break; if (qmi_device_has_service(data->device, QMI_SERVICE_CAT))
case QMI_SERVICE_WDA: data->features |= GOBI_CAT;
data->features |= GOBI_WDA; if (qmi_device_get_service_version(data->device,
break; QMI_SERVICE_CAT_OLD, &major, &minor))
case QMI_SERVICE_PDS: if (major > 0)
data->features |= GOBI_PDS; data->features |= GOBI_CAT_OLD;
break; if (qmi_device_has_service(data->device, QMI_SERVICE_VOICE))
case QMI_SERVICE_PBM:
data->features |= GOBI_PBM;
break;
case QMI_SERVICE_UIM:
data->features |= GOBI_UIM;
break;
case QMI_SERVICE_CAT:
data->features |= GOBI_CAT;
break;
case QMI_SERVICE_CAT_OLD:
if (list[i].major > 0)
data->features |= GOBI_CAT_OLD;
break;
case QMI_SERVICE_VOICE:
data->features |= GOBI_VOICE; data->features |= GOBI_VOICE;
break;
}
}
if (!(data->features & GOBI_DMS)) { if (!(data->features & GOBI_DMS)) {
if (++data->discover_attempts < 3) { if (++data->discover_attempts < 3) {