V4L/DVB (4182): Comment out MMI functions for now
authorManu Abraham <abraham.manu@gmail.com>
Wed, 21 Jun 2006 20:03:42 +0000 (17:03 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Sun, 25 Jun 2006 05:05:20 +0000 (02:05 -0300)
Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/dvb/bt8xx/dst_ca.c

index baa8c9a..6b24375 100644 (file)
@@ -308,6 +308,100 @@ static int ca_get_slot_info(struct dst_state *state, struct ca_slot_info *p_ca_s
        return 0;
 }
 
+/*     MMI     */
+static int ca_get_mmi(struct dst_state *state, struct ca_msg *hw_msg, struct ca_msg *mmi_msg)
+{
+       static u8 get_mmi[] = { 0x07, 0x40, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x0f };
+
+       put_checksum(&get_mmi[0], 7);
+       if ((dst_put_ci(state, get_mmi, sizeof (get_mmi), hw_msg->msg, GET_REPLY)) < 0) {
+               dprintk(verbose, DST_CA_ERROR, 1, " -->dst_put_ci FAILED !");
+               return -1;
+       }
+       dprintk(verbose, DST_CA_NOTICE, 1, " -->dst_put_ci SUCCESS !");
+       memcpy(mmi_msg->msg, hw_msg->msg, hw_msg->msg[4]);
+
+       return 0;
+}
+
+/**
+ *     Get Menu should be the first MMI function (like open !)
+ */
+static int ca_get_menu(struct dst_state *state)
+{
+       static u8 get_menu[] = { 0x07, 0x40, 0x00, 0x00, 0x09, 0x00, 0x00, 0xff };
+
+       put_checksum(&get_menu[0], 7);
+       if ((dst_put_ci(state, get_menu, sizeof (get_menu), get_menu, NO_REPLY)) < 0) {
+               dprintk(verbose, DST_CA_ERROR, 1, " -->dst_put_ci FAILED !");
+               return -1;
+       }
+       dprintk(verbose, DST_CA_NOTICE, 1, " -->dst_put_ci SUCCESS !");
+
+       return 0;
+}
+
+/**
+ *     MMI Enq (Enquire the application to allow user input)
+ */
+static int ca_answer_menu(struct dst_state *state, struct ca_msg *hw_msg, struct ca_msg *menu_answ)
+{
+       u8 choice = 0;
+
+       static u8 answer_menu[] = { 0x08, 0x40, 0x00, 0x00, 0x0b, 0x01, 0x00, 0x01, 0xff };
+
+       /*      derive answer from menu (This comes from the user)      */
+       answer_menu[7] = choice;
+       put_checksum(&answer_menu[0], 7);
+       if ((dst_put_ci(state, answer_menu, sizeof (answer_menu), hw_msg->msg, NO_REPLY)) < 0) {
+               dprintk(verbose, DST_CA_ERROR, 1, " -->dst_put_ci FAILED !");
+               return -1;
+       }
+       dprintk(verbose, DST_CA_NOTICE, 1, " -->dst_put_ci SUCCESS !");
+
+       return 0;
+}
+
+static int ca_answer_mmi(struct dst_state *state, struct ca_msg *hw_msg, struct ca_msg *answ_msg)
+{
+       u8 answer =0, length = 0;
+
+       static u8 answer_mmi[] = { 0x08, 0x40, 0x00, 0x00, 0x08, 0x01, 0x00, 0x01, 0xff };
+
+       /*      derive answer from answ_msg (This comes from the user)  */
+       if (answer == 0)        /*      0x00 == Cancel  */
+               answer_mmi[7] = 0x00;
+       else {                  /*      0x01 == Answer  */
+               length = strlen(answ_msg->msg);
+               memcpy(&answer_mmi[8], answ_msg->msg, length);
+               answer_mmi[0] += length;
+               answer_mmi[5] += length;
+       }
+       put_checksum(&answer_mmi[0], (8 + length));
+       if ((dst_put_ci(state, answer_mmi, sizeof (answer_mmi), hw_msg->msg, GET_REPLY)) < 0) {
+               dprintk(verbose, DST_CA_NOTICE, 1, " -->dst_put_ci FAILED !");
+
+               return -1;
+       }
+       dprintk(verbose, DST_CA_NOTICE, 1, " -->dst_put_ci SUCCESS !");
+
+       return 0;
+}
+
+static int ca_close_mmi(struct dst_state *state, struct ca_msg *hw_msg)
+{
+       static u8 close_mmi[] = { 0x07, 0x40, 0x00, 0x00, 0x0e, 0x00, 0x00, 0xff };
+
+       put_checksum(&close_mmi[0], 7);
+       if ((dst_put_ci(state, close_mmi, sizeof (close_mmi), hw_msg->msg, NO_REPLY)) < 0) {
+               dprintk(verbose, DST_CA_ERROR, 1, " -->dst_put_ci FAILED !");
+
+               return -1;
+       }
+       dprintk(verbose, DST_CA_NOTICE, 1, " -->dst_put_ci SUCCESS !");
+
+       return 0;
+}
 
 static int ca_get_message(struct dst_state *state, struct ca_msg *p_ca_message, void __user *arg)
 {