提交 056d1a89 编写于 作者: M Mike Isely 提交者: Mauro Carvalho Chehab

V4L/DVB (6699): pvrusb2: Use of virtual IR chip is a device-specific attribute

For Hauppauge 24xxx devices, the IR receiver is a custom piece of
logic that is very specific to the device.  The pvrusb2 driver can
virtualize this to make it look like a more normal IR receiver found
in other Hauppauge devices.  The decision of whether or not to enable
this virtualization however is a device-specific attribute, thus this
changeset.
Signed-off-by: NMike Isely <isely@pobox.com>
Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
上级 f5174af2
...@@ -85,6 +85,7 @@ const struct pvr2_device_desc pvr2_device_descriptions[] = { ...@@ -85,6 +85,7 @@ const struct pvr2_device_desc pvr2_device_descriptions[] = {
.flag_has_cx25840 = !0, .flag_has_cx25840 = !0,
.flag_has_wm8775 = !0, .flag_has_wm8775 = !0,
.flag_has_hauppauge_rom = !0, .flag_has_hauppauge_rom = !0,
.flag_has_hauppauge_custom_ir = !0,
.signal_routing_scheme = PVR2_ROUTING_SCHEME_HAUPPAUGE, .signal_routing_scheme = PVR2_ROUTING_SCHEME_HAUPPAUGE,
}, },
}; };
......
...@@ -84,6 +84,10 @@ struct pvr2_device_desc { ...@@ -84,6 +84,10 @@ struct pvr2_device_desc {
/* Device has a wm8775 - this enables special additional logic to /* Device has a wm8775 - this enables special additional logic to
ensure that it is found. */ ensure that it is found. */
char flag_has_wm8775; char flag_has_wm8775;
/* Device has IR hardware that can be faked into looking like a
normal Hauppauge i2c IR receiver. */
char flag_has_hauppauge_custom_ir;
}; };
extern const struct pvr2_device_desc pvr2_device_descriptions[]; extern const struct pvr2_device_desc pvr2_device_descriptions[];
......
...@@ -980,7 +980,7 @@ void pvr2_i2c_core_init(struct pvr2_hdw *hdw) ...@@ -980,7 +980,7 @@ void pvr2_i2c_core_init(struct pvr2_hdw *hdw)
printk(KERN_INFO "%s: IR disabled\n",hdw->name); printk(KERN_INFO "%s: IR disabled\n",hdw->name);
hdw->i2c_func[0x18] = i2c_black_hole; hdw->i2c_func[0x18] = i2c_black_hole;
} else if (ir_mode[hdw->unit_number] == 1) { } else if (ir_mode[hdw->unit_number] == 1) {
if (hdw->hdw_desc->flag_has_cx25840) { if (hdw->hdw_desc->flag_has_hauppauge_custom_ir) {
hdw->i2c_func[0x18] = i2c_24xxx_ir; hdw->i2c_func[0x18] = i2c_24xxx_ir;
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册