Parse and use Device option from modem.conf

This commit is contained in:
Marcel Holtmann 2009-09-02 19:37:55 -07:00
parent 9c45f2e74b
commit 057860c4c7
3 changed files with 33 additions and 2 deletions

View File

@ -143,11 +143,16 @@ static int g1_probe(struct ofono_modem *modem)
{
GAtSyntax *syntax;
GAtChat *chat;
const char *device;
DBG("");
device = ofono_modem_get_string(modem, "Device");
if (device == NULL)
return -EINVAL;
syntax = g_at_syntax_new_full(g1_feed, g1_hint, G1_STATE_IDLE);
chat = g_at_chat_new_from_tty("/dev/smd0", syntax);
chat = g_at_chat_new_from_tty(device, syntax);
g_at_syntax_unref(syntax);
if (chat == NULL)

View File

@ -87,11 +87,16 @@ static int mbm_enable(struct ofono_modem *modem)
{
struct mbm_data *data = ofono_modem_get_data(modem);
GAtSyntax *syntax;
const char *device;
DBG("%p", modem);
device = ofono_modem_get_string(modem, "Device");
if (!device)
return -EINVAL;
syntax = g_at_syntax_new_gsmv1();
data->chat = g_at_chat_new_from_tty("/dev/ttyACM0", syntax);
data->chat = g_at_chat_new_from_tty(device, syntax);
g_at_syntax_unref(syntax);
if (!data->chat)

View File

@ -23,6 +23,8 @@
#include <config.h>
#endif
#include <errno.h>
#include <glib.h>
#define OFONO_API_SUBJECT_TO_CHANGE
@ -32,6 +34,22 @@
static GSList *modem_list = NULL;
static int set_device(struct ofono_modem *modem,
GKeyFile *keyfile, const char *group)
{
char *device;
device = g_key_file_get_string(keyfile, group, "Device", NULL);
if (!device)
return -EINVAL;
ofono_modem_set_string(modem, "Device", device);
g_free(device);
return 0;
}
static struct ofono_modem *create_modem(GKeyFile *keyfile, const char *group)
{
struct ofono_modem *modem;
@ -43,6 +61,9 @@ static struct ofono_modem *create_modem(GKeyFile *keyfile, const char *group)
modem = ofono_modem_create(driver);
if (!g_strcmp0(driver, "g1") || !g_strcmp0(driver, "mbm"))
set_device(modem, keyfile, group);
g_free(driver);
return modem;