mirror of git://git.sysmocom.de/ofono
Parse and use Device option from modem.conf
This commit is contained in:
parent
9c45f2e74b
commit
057860c4c7
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue