summaryrefslogtreecommitdiffstats
path: root/plugins/udev.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2010-09-29 07:34:22 +0900
committerMarcel Holtmann <marcel@holtmann.org>2010-09-29 07:34:22 +0900
commit5d1b9d5925f8a690efffd1a531cfeea23a6e3d0a (patch)
treefb82e2eefc05301dd5fdb900713322b1af31448e /plugins/udev.c
parentd70d4228663c3ce0f3aa3dea13bdb6ed2ddfb7fa (diff)
downloadofono-5d1b9d5925f8a690efffd1a531cfeea23a6e3d0a.tar.bz2
udev: Add support for setting IFX audio configuration
This adds three more extra configuration options for IFX specific hardware setups. They are OFONO_IFX_MODEL, OFONO_IFX_AUDIO and also OFONO_IFX_LOOPBACK. An example usage would be like this: ENV{OFONO_IFX_MODEL}="XMM6260", ENV{OFONO_IFX_AUDIO}="FULL_DUPLEX" The actual supported values are not defined by the IFX modem detection code. This is up to the modem plugin to change behavior if needed.
Diffstat (limited to 'plugins/udev.c')
-rw-r--r--plugins/udev.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/plugins/udev.c b/plugins/udev.c
index c53c2bc7..b793ab5c 100644
--- a/plugins/udev.c
+++ b/plugins/udev.c
@@ -224,12 +224,16 @@ static void add_ifx(struct ofono_modem *modem,
entry = udev_device_get_properties_list_entry(udev_device);
while (entry) {
const char *name = udev_list_entry_get_name(entry);
- const char *value;
+ const char *value = udev_list_entry_get_value(entry);
- if (g_str_equal(name, "OFONO_IFX_LDISC") == TRUE) {
- value = udev_list_entry_get_value(entry);
+ if (g_str_equal(name, "OFONO_IFX_MODEL") == TRUE)
+ ofono_modem_set_string(modem, "Model", value);
+ else if (g_str_equal(name, "OFONO_IFX_LDISC") == TRUE)
ofono_modem_set_string(modem, "LineDiscipline", value);
- }
+ else if (g_str_equal(name, "OFONO_IFX_AUDIO") == TRUE)
+ ofono_modem_set_string(modem, "AudioSetting", value);
+ else if (g_str_equal(name, "OFONO_IFX_LOOPBACK") == TRUE)
+ ofono_modem_set_string(modem, "AudioLoopback", value);
entry = udev_list_entry_get_next(entry);
}