]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/media/dvb/dvb-usb/dib0700_devices.c
Merge tag 'v2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[mv-sheeva.git] / drivers / media / dvb / dvb-usb / dib0700_devices.c
index e06acd1fecb61b9f3bf2676f0a16375f9101e907..193cdb77b76a278cf56f5cfc0afa63d1cd0a8bb6 100644 (file)
@@ -510,7 +510,7 @@ static int dib0700_rc_query_old_firmware(struct dvb_usb_device *d)
 
        d->last_event = 0;
        switch (d->props.rc.core.protocol) {
-       case IR_TYPE_NEC:
+       case RC_TYPE_NEC:
                /* NEC protocol sends repeat code as 0 0 0 FF */
                if ((key[3-2] == 0x00) && (key[3-3] == 0x00) &&
                    (key[3] == 0xff))
@@ -520,13 +520,13 @@ static int dib0700_rc_query_old_firmware(struct dvb_usb_device *d)
                        d->last_event = keycode;
                }
 
-               ir_keydown(d->rc_input_dev, keycode, 0);
+               rc_keydown(d->rc_dev, keycode, 0);
                break;
        default:
                /* RC-5 protocol changes toggle bit on new keypress */
                keycode = key[3-2] << 8 | key[3-3];
                toggle = key[3-1];
-               ir_keydown(d->rc_input_dev, keycode, toggle);
+               rc_keydown(d->rc_dev, keycode, toggle);
 
                break;
        }
@@ -870,6 +870,23 @@ static int dib7070p_tuner_attach(struct dvb_usb_adapter *adap)
        return 0;
 }
 
+static int stk7700p_pid_filter(struct dvb_usb_adapter *adapter, int index,
+               u16 pid, int onoff)
+{
+       struct dib0700_state *st = adapter->dev->priv;
+       if (st->is_dib7000pc)
+               return dib7000p_pid_filter(adapter->fe, index, pid, onoff);
+       return dib7000m_pid_filter(adapter->fe, index, pid, onoff);
+}
+
+static int stk7700p_pid_filter_ctrl(struct dvb_usb_adapter *adapter, int onoff)
+{
+       struct dib0700_state *st = adapter->dev->priv;
+       if (st->is_dib7000pc)
+               return dib7000p_pid_filter_ctrl(adapter->fe, onoff);
+       return dib7000m_pid_filter_ctrl(adapter->fe, onoff);
+}
+
 static int stk70x0p_pid_filter(struct dvb_usb_adapter *adapter, int index, u16 pid, int onoff)
 {
     return dib7000p_pid_filter(adapter->fe, index, pid, onoff);
@@ -1875,8 +1892,8 @@ struct dvb_usb_device_properties dib0700_devices[] = {
                        {
                                .caps = DVB_USB_ADAP_HAS_PID_FILTER | DVB_USB_ADAP_PID_FILTER_CAN_BE_TURNED_OFF,
                                .pid_filter_count = 32,
-                               .pid_filter       = stk70x0p_pid_filter,
-                               .pid_filter_ctrl  = stk70x0p_pid_filter_ctrl,
+                               .pid_filter       = stk7700p_pid_filter,
+                               .pid_filter_ctrl  = stk7700p_pid_filter_ctrl,
                                .frontend_attach  = stk7700p_frontend_attach,
                                .tuner_attach     = stk7700p_tuner_attach,
 
@@ -1924,12 +1941,10 @@ struct dvb_usb_device_properties dib0700_devices[] = {
                        .rc_interval      = DEFAULT_RC_INTERVAL,
                        .rc_codes         = RC_MAP_DIB0700_RC5_TABLE,
                        .rc_query         = dib0700_rc_query_old_firmware,
-                       .rc_props = {
-                               .allowed_protos = IR_TYPE_RC5 |
-                                                 IR_TYPE_RC6 |
-                                                 IR_TYPE_NEC,
-                               .change_protocol = dib0700_change_protocol,
-                       },
+                       .allowed_protos   = RC_TYPE_RC5 |
+                                           RC_TYPE_RC6 |
+                                           RC_TYPE_NEC,
+                       .change_protocol  = dib0700_change_protocol,
                },
        }, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
 
@@ -1960,12 +1975,10 @@ struct dvb_usb_device_properties dib0700_devices[] = {
                        .rc_interval      = DEFAULT_RC_INTERVAL,
                        .rc_codes         = RC_MAP_DIB0700_RC5_TABLE,
                        .rc_query         = dib0700_rc_query_old_firmware,
-                       .rc_props = {
-                               .allowed_protos = IR_TYPE_RC5 |
-                                                 IR_TYPE_RC6 |
-                                                 IR_TYPE_NEC,
-                               .change_protocol = dib0700_change_protocol,
-                       },
+                       .allowed_protos   = RC_TYPE_RC5 |
+                                           RC_TYPE_RC6 |
+                                           RC_TYPE_NEC,
+                       .change_protocol = dib0700_change_protocol,
                },
        }, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
 
@@ -2021,12 +2034,10 @@ struct dvb_usb_device_properties dib0700_devices[] = {
                        .rc_interval      = DEFAULT_RC_INTERVAL,
                        .rc_codes         = RC_MAP_DIB0700_RC5_TABLE,
                        .rc_query         = dib0700_rc_query_old_firmware,
-                       .rc_props = {
-                               .allowed_protos = IR_TYPE_RC5 |
-                                                 IR_TYPE_RC6 |
-                                                 IR_TYPE_NEC,
-                               .change_protocol = dib0700_change_protocol,
-                       },
+                       .allowed_protos   = RC_TYPE_RC5 |
+                                           RC_TYPE_RC6 |
+                                           RC_TYPE_NEC,
+                       .change_protocol = dib0700_change_protocol,
                },
        }, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
 
@@ -2065,12 +2076,10 @@ struct dvb_usb_device_properties dib0700_devices[] = {
                        .rc_codes         = RC_MAP_DIB0700_RC5_TABLE,
                        .module_name      = "dib0700",
                        .rc_query         = dib0700_rc_query_old_firmware,
-                       .rc_props = {
-                               .allowed_protos = IR_TYPE_RC5 |
-                                                 IR_TYPE_RC6 |
-                                                 IR_TYPE_NEC,
-                               .change_protocol = dib0700_change_protocol,
-                       },
+                       .allowed_protos   = RC_TYPE_RC5 |
+                                           RC_TYPE_RC6 |
+                                           RC_TYPE_NEC,
+                       .change_protocol = dib0700_change_protocol,
                },
        }, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
 
@@ -2143,12 +2152,10 @@ struct dvb_usb_device_properties dib0700_devices[] = {
                        .rc_codes         = RC_MAP_DIB0700_RC5_TABLE,
                        .module_name      = "dib0700",
                        .rc_query         = dib0700_rc_query_old_firmware,
-                       .rc_props = {
-                               .allowed_protos = IR_TYPE_RC5 |
-                                                 IR_TYPE_RC6 |
-                                                 IR_TYPE_NEC,
-                               .change_protocol = dib0700_change_protocol,
-                       },
+                       .allowed_protos   = RC_TYPE_RC5 |
+                                           RC_TYPE_RC6 |
+                                           RC_TYPE_NEC,
+                       .change_protocol  = dib0700_change_protocol,
                },
        }, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
 
@@ -2189,12 +2196,10 @@ struct dvb_usb_device_properties dib0700_devices[] = {
                        .rc_codes         = RC_MAP_DIB0700_RC5_TABLE,
                        .module_name      = "dib0700",
                        .rc_query         = dib0700_rc_query_old_firmware,
-                       .rc_props = {
-                               .allowed_protos = IR_TYPE_RC5 |
-                                                 IR_TYPE_RC6 |
-                                                 IR_TYPE_NEC,
-                               .change_protocol = dib0700_change_protocol,
-                       },
+                       .allowed_protos   = RC_TYPE_RC5 |
+                                           RC_TYPE_RC6 |
+                                           RC_TYPE_NEC,
+                       .change_protocol  = dib0700_change_protocol,
                },
        }, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
 
@@ -2259,12 +2264,10 @@ struct dvb_usb_device_properties dib0700_devices[] = {
                        .rc_codes         = RC_MAP_DIB0700_RC5_TABLE,
                        .module_name      = "dib0700",
                        .rc_query         = dib0700_rc_query_old_firmware,
-                       .rc_props = {
-                               .allowed_protos = IR_TYPE_RC5 |
-                                                 IR_TYPE_RC6 |
-                                                 IR_TYPE_NEC,
-                               .change_protocol = dib0700_change_protocol,
-                       },
+                       .allowed_protos   = RC_TYPE_RC5 |
+                                           RC_TYPE_RC6 |
+                                           RC_TYPE_NEC,
+                       .change_protocol = dib0700_change_protocol,
                },
        }, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
 
@@ -2308,12 +2311,10 @@ struct dvb_usb_device_properties dib0700_devices[] = {
                        .rc_codes         = RC_MAP_DIB0700_NEC_TABLE,
                        .module_name      = "dib0700",
                        .rc_query         = dib0700_rc_query_old_firmware,
-                       .rc_props = {
-                               .allowed_protos = IR_TYPE_RC5 |
-                                                 IR_TYPE_RC6 |
-                                                 IR_TYPE_NEC,
-                               .change_protocol = dib0700_change_protocol,
-                       },
+                       .allowed_protos   = RC_TYPE_RC5 |
+                                           RC_TYPE_RC6 |
+                                           RC_TYPE_NEC,
+                       .change_protocol  = dib0700_change_protocol,
                },
        }, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
 
@@ -2379,12 +2380,10 @@ struct dvb_usb_device_properties dib0700_devices[] = {
                        .rc_codes         = RC_MAP_DIB0700_RC5_TABLE,
                        .module_name      = "dib0700",
                        .rc_query         = dib0700_rc_query_old_firmware,
-                       .rc_props = {
-                               .allowed_protos = IR_TYPE_RC5 |
-                                                 IR_TYPE_RC6 |
-                                                 IR_TYPE_NEC,
-                               .change_protocol = dib0700_change_protocol,
-                       },
+                       .allowed_protos   = RC_TYPE_RC5 |
+                                           RC_TYPE_RC6 |
+                                           RC_TYPE_NEC,
+                       .change_protocol  = dib0700_change_protocol,
                },
        }, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
                .num_adapters = 1,
@@ -2417,12 +2416,10 @@ struct dvb_usb_device_properties dib0700_devices[] = {
                        .rc_codes         = RC_MAP_DIB0700_RC5_TABLE,
                        .module_name      = "dib0700",
                        .rc_query         = dib0700_rc_query_old_firmware,
-                       .rc_props = {
-                               .allowed_protos = IR_TYPE_RC5 |
-                                                 IR_TYPE_RC6 |
-                                                 IR_TYPE_NEC,
-                               .change_protocol = dib0700_change_protocol,
-                       },
+                       .allowed_protos   = RC_TYPE_RC5 |
+                                           RC_TYPE_RC6 |
+                                           RC_TYPE_NEC,
+                       .change_protocol  = dib0700_change_protocol,
                },
        }, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
                .num_adapters = 1,
@@ -2487,12 +2484,10 @@ struct dvb_usb_device_properties dib0700_devices[] = {
                        .rc_codes         = RC_MAP_DIB0700_RC5_TABLE,
                        .module_name      = "dib0700",
                        .rc_query         = dib0700_rc_query_old_firmware,
-                       .rc_props = {
-                               .allowed_protos = IR_TYPE_RC5 |
-                                                 IR_TYPE_RC6 |
-                                                 IR_TYPE_NEC,
-                               .change_protocol = dib0700_change_protocol,
-                       },
+                       .allowed_protos   = RC_TYPE_RC5 |
+                                           RC_TYPE_RC6 |
+                                           RC_TYPE_NEC,
+                       .change_protocol  = dib0700_change_protocol,
                },
        }, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
                .num_adapters = 1,
@@ -2533,12 +2528,10 @@ struct dvb_usb_device_properties dib0700_devices[] = {
                        .rc_codes         = RC_MAP_DIB0700_NEC_TABLE,
                        .module_name      = "dib0700",
                        .rc_query         = dib0700_rc_query_old_firmware,
-                       .rc_props = {
-                               .allowed_protos = IR_TYPE_RC5 |
-                                                 IR_TYPE_RC6 |
-                                                 IR_TYPE_NEC,
-                               .change_protocol = dib0700_change_protocol,
-                       },
+                       .allowed_protos   = RC_TYPE_RC5 |
+                                           RC_TYPE_RC6 |
+                                           RC_TYPE_NEC,
+                       .change_protocol  = dib0700_change_protocol,
                },
        }, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
                .num_adapters = 2,
@@ -2584,12 +2577,10 @@ struct dvb_usb_device_properties dib0700_devices[] = {
                        .rc_codes         = RC_MAP_DIB0700_RC5_TABLE,
                        .module_name      = "dib0700",
                        .rc_query         = dib0700_rc_query_old_firmware,
-                       .rc_props = {
-                               .allowed_protos = IR_TYPE_RC5 |
-                                                 IR_TYPE_RC6 |
-                                                 IR_TYPE_NEC,
-                               .change_protocol = dib0700_change_protocol,
-                       },
+                       .allowed_protos   = RC_TYPE_RC5 |
+                                           RC_TYPE_RC6 |
+                                           RC_TYPE_NEC,
+                       .change_protocol  = dib0700_change_protocol,
                },
        }, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
                .num_adapters = 1,
@@ -2623,12 +2614,10 @@ struct dvb_usb_device_properties dib0700_devices[] = {
                        .rc_codes         = RC_MAP_DIB0700_RC5_TABLE,
                        .module_name      = "dib0700",
                        .rc_query         = dib0700_rc_query_old_firmware,
-                       .rc_props = {
-                               .allowed_protos = IR_TYPE_RC5 |
-                                                 IR_TYPE_RC6 |
-                                                 IR_TYPE_NEC,
-                               .change_protocol = dib0700_change_protocol,
-                       },
+                       .allowed_protos   = RC_TYPE_RC5 |
+                                           RC_TYPE_RC6 |
+                                           RC_TYPE_NEC,
+                       .change_protocol  = dib0700_change_protocol,
                },
        },
 };