diff options
author | Bertrand Aygon <bertrand.aygon@intel.com> | 2011-07-22 06:28:04 +0200 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2011-07-22 11:20:57 +0200 |
commit | 20e55432d047a641b2ccf920d0f25e90d8d928d9 (patch) | |
tree | f8094af9f1cbca1165353062fcd1a77039479d7f /drivers/cdmamodem/devinfo.c | |
parent | 43fb36d015ffc08c9c2fe33048ac58d11da051c1 (diff) | |
download | ofono-20e55432d047a641b2ccf920d0f25e90d8d928d9.tar.bz2 |
cdmamodem: send AT+GCAP to check devinfo.
Diffstat (limited to 'drivers/cdmamodem/devinfo.c')
-rw-r--r-- | drivers/cdmamodem/devinfo.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/cdmamodem/devinfo.c b/drivers/cdmamodem/devinfo.c index 9603e052..2a5813ca 100644 --- a/drivers/cdmamodem/devinfo.c +++ b/drivers/cdmamodem/devinfo.c @@ -36,6 +36,8 @@ #include "cdmamodem.h" +static const char *gcap_prefix[] = { "+GCAP:", NULL }; + static void attr_cb(gboolean ok, GAtResult *result, gpointer user_data) { struct cb_data *cbd = user_data; @@ -123,13 +125,11 @@ static void cdma_query_serial(struct ofono_devinfo *info, CALLBACK_WITH_FAILURE(cb, NULL, data); } -static gboolean cdma_devinfo_register(gpointer user_data) +static void capability_cb(gboolean ok, GAtResult *result, gpointer user_data) { struct ofono_devinfo *info = user_data; ofono_devinfo_register(info); - - return FALSE; } static int cdma_devinfo_probe(struct ofono_devinfo *info, @@ -138,7 +138,9 @@ static int cdma_devinfo_probe(struct ofono_devinfo *info, GAtChat *chat = data; ofono_devinfo_set_data(info, g_at_chat_clone(chat)); - g_idle_add(cdma_devinfo_register, info); + + g_at_chat_send(chat, "AT+GCAP", gcap_prefix, + capability_cb, info, NULL); return 0; } |