atmodem/sms: added vendor Gemalto support.
PATCH 1/1 atmodem/sms: added vendor Gemalto support.
Cinterion and Gemalto overlap for now, but
eventually Cinterion will be removed.
--- drivers/atmodem/sms.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-)
drivers/atmodem/sms.c +13 -5
@@ -219,10 +219,16 @@ static void at_cmgs(struct ofono_sms *sms, const unsigned char *pdu,char buf[512 ];int len; -if (mms) { -snprintf (buf,sizeof (buf),"AT+CMMS=%d" , mms); -g_at_chat_send (data->chat, buf, none_prefix, -NULL ,NULL ,NULL ); +switch (data->vendor) { +case OFONO_VENDOR_GEMALTO : +break ; +default : +if (mms) { +snprintf (buf,sizeof (buf),"AT+CMMS=%d" , mms); +g_at_chat_send (data->chat, buf, none_prefix, +NULL ,NULL ,NULL ); + } +break ; } len =snprintf (buf,sizeof (buf),"AT+CMGS=%d\r" , tpdu_len);
@@ -330,6 +336,7 @@ static inline void at_ack_delivery(struct ofono_sms *sms)if (data->cnma_ack_pdu) {switch (data->vendor) {case OFONO_VENDOR_CINTERION : +case OFONO_VENDOR_GEMALTO :snprintf (buf,sizeof (buf),"AT+CNMA=1" );break ;default :
@@ -412,9 +419,10 @@ static void at_cmt_notify(GAtResult *result, gpointer user_data)switch (data->vendor) {case OFONO_VENDOR_CINTERION : +case OFONO_VENDOR_GEMALTO :if (!g_at_result_iter_next_number (&iter, &tpdu_len)) {/* -* Some cinterions modems (ALS3,PLS8...), act in +* Some Gemalto modems (ALS3,PLS8...), act in * accordance with 3GPP 27.005. So we need to skip * the first (<alpha>) field * \r\n+CMT: ,23\r\nCAFECAFECAFE... ...\r\n
Signature · 1 line
2.17.1
Quoted 2 lines · Giacinto Cifelli
Cinterion and Gemalto overlap for now, but
eventually Cinterion will be removed.
Yes, but some explanation of why CMMS is being taken out for gemalto (but not cinterion?) devices might be nice.
Quoted 4 lines
--- drivers/atmodem/sms.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-)
And again, do you want to fix the modem drivers as well?
Regards,
-Denis