aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/common/siano/smscoreapi.c14
-rw-r--r--drivers/media/common/siano/smsdvb.c8
-rw-r--r--drivers/media/mmc/siano/smssdio.c3
-rw-r--r--drivers/media/usb/siano/smsusb.c9
4 files changed, 9 insertions, 25 deletions
diff --git a/drivers/media/common/siano/smscoreapi.c b/drivers/media/common/siano/smscoreapi.c
index 9379ea7f8152..8c576a6e3829 100644
--- a/drivers/media/common/siano/smscoreapi.c
+++ b/drivers/media/common/siano/smscoreapi.c
@@ -37,7 +37,6 @@
37#include "smscoreapi.h" 37#include "smscoreapi.h"
38#include "sms-cards.h" 38#include "sms-cards.h"
39#include "smsir.h" 39#include "smsir.h"
40#include "smsendian.h"
41 40
42static int sms_dbg; 41static int sms_dbg;
43module_param_named(debug, sms_dbg, int, 0644); 42module_param_named(debug, sms_dbg, int, 0644);
@@ -807,8 +806,6 @@ static int smscore_init_ir(struct smscore_device_t *coredev)
807 msg->msgData[0] = coredev->ir.controller; 806 msg->msgData[0] = coredev->ir.controller;
808 msg->msgData[1] = coredev->ir.timeout; 807 msg->msgData[1] = coredev->ir.timeout;
809 808
810 smsendian_handle_tx_message(
811 (struct SmsMsgHdr_ST2 *)msg);
812 rc = smscore_sendrequest_and_wait(coredev, msg, 809 rc = smscore_sendrequest_and_wait(coredev, msg,
813 msg->xMsgHeader. msgLength, 810 msg->xMsgHeader. msgLength,
814 &coredev->ir_init_done); 811 &coredev->ir_init_done);
@@ -853,7 +850,6 @@ int smscore_configure_board(struct smscore_device_t *coredev)
853 MtuMsg.xMsgHeader.msgLength = sizeof(MtuMsg); 850 MtuMsg.xMsgHeader.msgLength = sizeof(MtuMsg);
854 MtuMsg.msgData[0] = board->mtu; 851 MtuMsg.msgData[0] = board->mtu;
855 852
856 smsendian_handle_tx_message((struct SmsMsgHdr_ST *)&MtuMsg);
857 coredev->sendrequest_handler(coredev->context, &MtuMsg, 853 coredev->sendrequest_handler(coredev->context, &MtuMsg,
858 sizeof(MtuMsg)); 854 sizeof(MtuMsg));
859 } 855 }
@@ -867,7 +863,6 @@ int smscore_configure_board(struct smscore_device_t *coredev)
867 sizeof(CrysMsg)); 863 sizeof(CrysMsg));
868 CrysMsg.msgData[0] = board->crystal; 864 CrysMsg.msgData[0] = board->crystal;
869 865
870 smsendian_handle_tx_message((struct SmsMsgHdr_S *)&CrysMsg);
871 coredev->sendrequest_handler(coredev->context, &CrysMsg, 866 coredev->sendrequest_handler(coredev->context, &CrysMsg,
872 sizeof(CrysMsg)); 867 sizeof(CrysMsg));
873 } 868 }
@@ -989,7 +984,6 @@ static int smscore_load_firmware_family2(struct smscore_device_t *coredev,
989 /* Entry point */ 984 /* Entry point */
990 msg->msgData[1] = firmware->Length; 985 msg->msgData[1] = firmware->Length;
991 msg->msgData[2] = 0; /* Regular checksum*/ 986 msg->msgData[2] = 0; /* Regular checksum*/
992 smsendian_handle_tx_message(msg);
993 rc = smscore_sendrequest_and_wait(coredev, msg, 987 rc = smscore_sendrequest_and_wait(coredev, msg,
994 msg->xMsgHeader.msgLength, 988 msg->xMsgHeader.msgLength,
995 &coredev->data_validity_done); 989 &coredev->data_validity_done);
@@ -1013,14 +1007,12 @@ static int smscore_load_firmware_family2(struct smscore_device_t *coredev,
1013 TriggerMsg->msgData[3] = 0; /* Parameter */ 1007 TriggerMsg->msgData[3] = 0; /* Parameter */
1014 TriggerMsg->msgData[4] = 4; /* Task ID */ 1008 TriggerMsg->msgData[4] = 4; /* Task ID */
1015 1009
1016 smsendian_handle_tx_message((struct SmsMsgHdr_S *)msg);
1017 rc = smscore_sendrequest_and_wait(coredev, TriggerMsg, 1010 rc = smscore_sendrequest_and_wait(coredev, TriggerMsg,
1018 TriggerMsg->xMsgHeader.msgLength, 1011 TriggerMsg->xMsgHeader.msgLength,
1019 &coredev->trigger_done); 1012 &coredev->trigger_done);
1020 } else { 1013 } else {
1021 SMS_INIT_MSG(&msg->xMsgHeader, MSG_SW_RELOAD_EXEC_REQ, 1014 SMS_INIT_MSG(&msg->xMsgHeader, MSG_SW_RELOAD_EXEC_REQ,
1022 sizeof(struct SmsMsgHdr_ST)); 1015 sizeof(struct SmsMsgHdr_ST));
1023 smsendian_handle_tx_message((struct SmsMsgHdr_S *)msg);
1024 rc = coredev->sendrequest_handler(coredev->context, msg, 1016 rc = coredev->sendrequest_handler(coredev->context, msg,
1025 msg->xMsgHeader.msgLength); 1017 msg->xMsgHeader.msgLength);
1026 } 1018 }
@@ -1305,7 +1297,6 @@ int smscore_init_device(struct smscore_device_t *coredev, int mode)
1305 sizeof(struct SmsMsgData_ST)); 1297 sizeof(struct SmsMsgData_ST));
1306 msg->msgData[0] = mode; 1298 msg->msgData[0] = mode;
1307 1299
1308 smsendian_handle_tx_message((struct SmsMsgHdr_ST *)msg);
1309 rc = smscore_sendrequest_and_wait(coredev, msg, 1300 rc = smscore_sendrequest_and_wait(coredev, msg,
1310 msg->xMsgHeader. msgLength, 1301 msg->xMsgHeader. msgLength,
1311 &coredev->init_device_done); 1302 &coredev->init_device_done);
@@ -1526,8 +1517,6 @@ void smscore_onresponse(struct smscore_device_t *coredev,
1526 rc = client->onresponse_handler(client->context, cb); 1517 rc = client->onresponse_handler(client->context, cb);
1527 1518
1528 if (rc < 0) { 1519 if (rc < 0) {
1529 smsendian_handle_rx_message((struct SmsMsgData_ST *)phdr);
1530
1531 switch (phdr->msgType) { 1520 switch (phdr->msgType) {
1532 case MSG_SMS_ISDBT_TUNE_RES: 1521 case MSG_SMS_ISDBT_TUNE_RES:
1533 break; 1522 break;
@@ -2008,7 +1997,6 @@ int smscore_gpio_configure(struct smscore_device_t *coredev, u8 PinNum,
2008 pMsg->msgData[5] = 0; 1997 pMsg->msgData[5] = 0;
2009 } 1998 }
2010 1999
2011 smsendian_handle_tx_message((struct SmsMsgHdr_ST *)pMsg);
2012 rc = smscore_sendrequest_and_wait(coredev, pMsg, totalLen, 2000 rc = smscore_sendrequest_and_wait(coredev, pMsg, totalLen,
2013 &coredev->gpio_configuration_done); 2001 &coredev->gpio_configuration_done);
2014 2002
@@ -2058,7 +2046,6 @@ int smscore_gpio_set_level(struct smscore_device_t *coredev, u8 PinNum,
2058 pMsg->msgData[1] = NewLevel; 2046 pMsg->msgData[1] = NewLevel;
2059 2047
2060 /* Send message to SMS */ 2048 /* Send message to SMS */
2061 smsendian_handle_tx_message((struct SmsMsgHdr_ST *)pMsg);
2062 rc = smscore_sendrequest_and_wait(coredev, pMsg, totalLen, 2049 rc = smscore_sendrequest_and_wait(coredev, pMsg, totalLen,
2063 &coredev->gpio_set_level_done); 2050 &coredev->gpio_set_level_done);
2064 2051
@@ -2107,7 +2094,6 @@ int smscore_gpio_get_level(struct smscore_device_t *coredev, u8 PinNum,
2107 pMsg->msgData[1] = 0; 2094 pMsg->msgData[1] = 0;
2108 2095
2109 /* Send message to SMS */ 2096 /* Send message to SMS */
2110 smsendian_handle_tx_message((struct SmsMsgHdr_ST *)pMsg);
2111 rc = smscore_sendrequest_and_wait(coredev, pMsg, totalLen, 2097 rc = smscore_sendrequest_and_wait(coredev, pMsg, totalLen,
2112 &coredev->gpio_get_level_done); 2098 &coredev->gpio_get_level_done);
2113 2099
diff --git a/drivers/media/common/siano/smsdvb.c b/drivers/media/common/siano/smsdvb.c
index dbb807e3a212..6335574e9342 100644
--- a/drivers/media/common/siano/smsdvb.c
+++ b/drivers/media/common/siano/smsdvb.c
@@ -29,7 +29,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
29#include "dvb_frontend.h" 29#include "dvb_frontend.h"
30 30
31#include "smscoreapi.h" 31#include "smscoreapi.h"
32#include "smsendian.h"
33#include "sms-cards.h" 32#include "sms-cards.h"
34 33
35DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr); 34DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);
@@ -324,8 +323,6 @@ static int smsdvb_onresponse(void *context, struct smscore_buffer_t *cb)
324 /*u32 MsgDataLen = phdr->msgLength - sizeof(struct SmsMsgHdr_ST);*/ 323 /*u32 MsgDataLen = phdr->msgLength - sizeof(struct SmsMsgHdr_ST);*/
325 bool is_status_update = false; 324 bool is_status_update = false;
326 325
327 smsendian_handle_rx_message((struct SmsMsgData_ST *) phdr);
328
329 switch (phdr->msgType) { 326 switch (phdr->msgType) {
330 case MSG_SMS_DVBT_BDA_DATA: 327 case MSG_SMS_DVBT_BDA_DATA:
331 dvb_dmx_swfilter(&client->demux, (u8 *)(phdr + 1), 328 dvb_dmx_swfilter(&client->demux, (u8 *)(phdr + 1),
@@ -545,7 +542,6 @@ static int smsdvb_start_feed(struct dvb_demux_feed *feed)
545 PidMsg.xMsgHeader.msgLength = sizeof(PidMsg); 542 PidMsg.xMsgHeader.msgLength = sizeof(PidMsg);
546 PidMsg.msgData[0] = feed->pid; 543 PidMsg.msgData[0] = feed->pid;
547 544
548 smsendian_handle_tx_message((struct SmsMsgHdr_ST *)&PidMsg);
549 return smsclient_sendrequest(client->smsclient, 545 return smsclient_sendrequest(client->smsclient,
550 &PidMsg, sizeof(PidMsg)); 546 &PidMsg, sizeof(PidMsg));
551} 547}
@@ -566,7 +562,6 @@ static int smsdvb_stop_feed(struct dvb_demux_feed *feed)
566 PidMsg.xMsgHeader.msgLength = sizeof(PidMsg); 562 PidMsg.xMsgHeader.msgLength = sizeof(PidMsg);
567 PidMsg.msgData[0] = feed->pid; 563 PidMsg.msgData[0] = feed->pid;
568 564
569 smsendian_handle_tx_message((struct SmsMsgHdr_ST *)&PidMsg);
570 return smsclient_sendrequest(client->smsclient, 565 return smsclient_sendrequest(client->smsclient,
571 &PidMsg, sizeof(PidMsg)); 566 &PidMsg, sizeof(PidMsg));
572} 567}
@@ -577,7 +572,6 @@ static int smsdvb_sendrequest_and_wait(struct smsdvb_client_t *client,
577{ 572{
578 int rc; 573 int rc;
579 574
580 smsendian_handle_tx_message((struct SmsMsgHdr_ST *)buffer);
581 rc = smsclient_sendrequest(client->smsclient, buffer, size); 575 rc = smsclient_sendrequest(client->smsclient, buffer, size);
582 if (rc < 0) 576 if (rc < 0)
583 return rc; 577 return rc;
@@ -606,8 +600,6 @@ static int smsdvb_send_statistics_request(struct smsdvb_client_t *client)
606 else 600 else
607 Msg.msgType = MSG_SMS_GET_STATISTICS_REQ; 601 Msg.msgType = MSG_SMS_GET_STATISTICS_REQ;
608 602
609 smsendian_handle_tx_message((struct SmsMsgHdr_S *)&Msg);
610
611 rc = smsdvb_sendrequest_and_wait(client, &Msg, sizeof(Msg), 603 rc = smsdvb_sendrequest_and_wait(client, &Msg, sizeof(Msg),
612 &client->stats_done); 604 &client->stats_done);
613 605
diff --git a/drivers/media/mmc/siano/smssdio.c b/drivers/media/mmc/siano/smssdio.c
index c96da47bece5..8834c435acae 100644
--- a/drivers/media/mmc/siano/smssdio.c
+++ b/drivers/media/mmc/siano/smssdio.c
@@ -43,6 +43,7 @@
43 43
44#include "smscoreapi.h" 44#include "smscoreapi.h"
45#include "sms-cards.h" 45#include "sms-cards.h"
46#include "smsendian.h"
46 47
47/* Registers */ 48/* Registers */
48 49
@@ -97,6 +98,7 @@ static int smssdio_sendrequest(void *context, void *buffer, size_t size)
97 98
98 sdio_claim_host(smsdev->func); 99 sdio_claim_host(smsdev->func);
99 100
101 smsendian_handle_tx_message((struct SmsMsgData_ST *) buffer);
100 while (size >= smsdev->func->cur_blksize) { 102 while (size >= smsdev->func->cur_blksize) {
101 ret = sdio_memcpy_toio(smsdev->func, SMSSDIO_DATA, 103 ret = sdio_memcpy_toio(smsdev->func, SMSSDIO_DATA,
102 buffer, smsdev->func->cur_blksize); 104 buffer, smsdev->func->cur_blksize);
@@ -231,6 +233,7 @@ static void smssdio_interrupt(struct sdio_func *func)
231 cb->size = hdr->msgLength; 233 cb->size = hdr->msgLength;
232 cb->offset = 0; 234 cb->offset = 0;
233 235
236 smsendian_handle_rx_message((struct SmsMsgData_ST *) cb->p);
234 smscore_onresponse(smsdev->coredev, cb); 237 smscore_onresponse(smsdev->coredev, cb);
235} 238}
236 239
diff --git a/drivers/media/usb/siano/smsusb.c b/drivers/media/usb/siano/smsusb.c
index 751c0d6d98b8..acd3d1e82e03 100644
--- a/drivers/media/usb/siano/smsusb.c
+++ b/drivers/media/usb/siano/smsusb.c
@@ -129,6 +129,8 @@ static void smsusb_onresponse(struct urb *urb)
129 smscore_translate_msg(phdr->msgType), 129 smscore_translate_msg(phdr->msgType),
130 phdr->msgType, phdr->msgLength); 130 phdr->msgType, phdr->msgLength);
131 131
132 smsendian_handle_rx_message((struct SmsMsgData_ST *) phdr);
133
132 smscore_onresponse(dev->coredev, surb->cb); 134 smscore_onresponse(dev->coredev, surb->cb);
133 surb->cb = NULL; 135 surb->cb = NULL;
134 } else { 136 } else {
@@ -207,13 +209,14 @@ static int smsusb_sendrequest(void *context, void *buffer, size_t size)
207 struct SmsMsgHdr_ST *phdr = (struct SmsMsgHdr_ST *) buffer; 209 struct SmsMsgHdr_ST *phdr = (struct SmsMsgHdr_ST *) buffer;
208 int dummy; 210 int dummy;
209 211
212 if (dev->state != SMSUSB_ACTIVE)
213 return -ENOENT;
214
210 sms_debug("sending %s(%d) size: %d", 215 sms_debug("sending %s(%d) size: %d",
211 smscore_translate_msg(phdr->msgType), phdr->msgType, 216 smscore_translate_msg(phdr->msgType), phdr->msgType,
212 phdr->msgLength); 217 phdr->msgLength);
213 218
214 if (dev->state != SMSUSB_ACTIVE) 219 smsendian_handle_tx_message((struct SmsMsgData_ST *) phdr);
215 return -ENOENT;
216
217 smsendian_handle_message_header((struct SmsMsgHdr_ST *)buffer); 220 smsendian_handle_message_header((struct SmsMsgHdr_ST *)buffer);
218 return usb_bulk_msg(dev->udev, usb_sndbulkpipe(dev->udev, 2), 221 return usb_bulk_msg(dev->udev, usb_sndbulkpipe(dev->udev, 2),
219 buffer, size, &dummy, 1000); 222 buffer, size, &dummy, 1000);