diff options
author | Zhenhua Zhang <zhenhua.zhang@intel.com> | 2010-07-02 11:04:34 +0800 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2010-07-02 10:40:13 -0500 |
commit | bf562fd639b3cd06206f64e699b3206bc2e464d8 (patch) | |
tree | d0e39418d9d0094b88924f0e348922702249dc1c /plugins/huawei.c | |
parent | 7d42e4782db8d8bbc28eaf77ca6b5c53c0bee67a (diff) | |
download | ofono-bf562fd639b3cd06206f64e699b3206bc2e464d8.tar.bz2 |
huawei: Add Huawei EM770 modem support
Huawei EM770W is a 3G WCDMA modem that supports HSPA/UMTS/EDGE/GPRS/GSM
data service and WCDMA/GSM short message services. It also has voice
call capability that supports both 2G and 3G network.
Diffstat (limited to 'plugins/huawei.c')
-rw-r--r-- | plugins/huawei.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/plugins/huawei.c b/plugins/huawei.c index 7c8703e1..cfc693da 100644 --- a/plugins/huawei.c +++ b/plugins/huawei.c @@ -43,6 +43,13 @@ #include <ofono/gprs.h> #include <ofono/gprs.h> #include <ofono/gprs-context.h> +#include <ofono/voicecall.h> +#include <ofono/call-forwarding.h> +#include <ofono/call-settings.h> +#include <ofono/call-barring.h> +#include <ofono/ssn.h> +#include <ofono/phonebook.h> +#include <ofono/message-waiting.h> #include <ofono/log.h> #include <drivers/atmodem/atutil.h> @@ -326,12 +333,16 @@ static void huawei_pre_sim(struct ofono_modem *modem) ofono_devinfo_create(modem, 0, "atmodem", data->pcui); data->sim = ofono_sim_create(modem, 0, "atmodem", data->pcui); + + if (ofono_modem_get_boolean(modem, "HasVoice") == TRUE) + ofono_voicecall_create(modem, 0, "atmodem", data->pcui); } static void huawei_post_sim(struct ofono_modem *modem) { struct huawei_data *data = ofono_modem_get_data(modem); struct ofono_netreg *netreg; + struct ofono_message_waiting *mw; DBG("%p", modem); @@ -348,6 +359,18 @@ static void huawei_post_sim(struct ofono_modem *modem) if (data->gprs && data->gc) ofono_gprs_add_context(data->gprs, data->gc); + + if (ofono_modem_get_boolean(modem, "HasVoice") == TRUE) { + ofono_call_forwarding_create(modem, 0, "atmodem", data->pcui); + ofono_call_settings_create(modem, 0, "atmodem", data->pcui); + ofono_call_barring_create(modem, 0, "atmodem", data->pcui); + ofono_ssn_create(modem, 0, "atmodem", data->pcui); + ofono_phonebook_create(modem, 0, "atmodem", data->pcui); + + mw = ofono_message_waiting_create(modem); + if (mw) + ofono_message_waiting_register(mw); + } } static struct ofono_modem_driver huawei_driver = { |