aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/common/siano
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@redhat.com>2013-03-09 09:34:56 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2013-03-21 06:46:18 -0400
commit80ccb51a0f970ab0935a8be70b677ecbcdf74e3e (patch)
treecd3edecad8522016a7de2545d34468c09dc511ab /drivers/media/common/siano
parentfe802fd92d6abd1fce2ae8d03a073807d25e9453 (diff)
[media] siano: simplify message endianness logic
Currently, every time a message is sent or received, the endiannes need to be fixed on big endian machines. This is currently done on every call to the send API, and on every msg reception logic. Instead of doing that, move it to the send/receive functions. That simplifies the logic and avoids the risk of forgetting to fix it somewhere. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/common/siano')
-rw-r--r--drivers/media/common/siano/smscoreapi.c14
-rw-r--r--drivers/media/common/siano/smsdvb.c8
2 files changed, 0 insertions, 22 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