summaryrefslogtreecommitdiff
path: root/linux
diff options
context:
space:
mode:
authorMike Isely <isely@pobox.com>2007-11-25 23:09:42 -0600
committerMike Isely <isely@pobox.com>2007-11-25 23:09:42 -0600
commitfa5023bc58b70398ee8da40d7496bc0a24476f52 (patch)
tree7f56ad5bb798e0c40f42acfba527ebf4dc04d831 /linux
parentb47742c14ba54360223cf7cbc4929deceaf1bc58 (diff)
downloadmediapointer-dvb-s2-fa5023bc58b70398ee8da40d7496bc0a24476f52.tar.gz
mediapointer-dvb-s2-fa5023bc58b70398ee8da40d7496bc0a24476f52.tar.bz2
pvrusb2: Use of virtual IR chip is a device-specific attribute
From: Mike Isely <isely@pobox.com> 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: Mike Isely <isely@pobox.com>
Diffstat (limited to 'linux')
-rw-r--r--linux/drivers/media/video/pvrusb2/pvrusb2-devattr.c1
-rw-r--r--linux/drivers/media/video/pvrusb2/pvrusb2-devattr.h4
-rw-r--r--linux/drivers/media/video/pvrusb2/pvrusb2-i2c-core.c2
3 files changed, 6 insertions, 1 deletions
diff --git a/linux/drivers/media/video/pvrusb2/pvrusb2-devattr.c b/linux/drivers/media/video/pvrusb2/pvrusb2-devattr.c
index 464a13a06..6ba0b79e3 100644
--- a/linux/drivers/media/video/pvrusb2/pvrusb2-devattr.c
+++ b/linux/drivers/media/video/pvrusb2/pvrusb2-devattr.c
@@ -85,6 +85,7 @@ const struct pvr2_device_desc pvr2_device_descriptions[] = {
.flag_has_cx25840 = !0,
.flag_has_wm8775 = !0,
.flag_has_hauppauge_rom = !0,
+ .flag_has_hauppauge_custom_ir = !0,
.signal_routing_scheme = PVR2_ROUTING_SCHEME_HAUPPAUGE,
},
};
diff --git a/linux/drivers/media/video/pvrusb2/pvrusb2-devattr.h b/linux/drivers/media/video/pvrusb2/pvrusb2-devattr.h
index 05eb2c669..2aff5a3d5 100644
--- a/linux/drivers/media/video/pvrusb2/pvrusb2-devattr.h
+++ b/linux/drivers/media/video/pvrusb2/pvrusb2-devattr.h
@@ -84,6 +84,10 @@ struct pvr2_device_desc {
/* Device has a wm8775 - this enables special additional logic to
ensure that it is found. */
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[];
diff --git a/linux/drivers/media/video/pvrusb2/pvrusb2-i2c-core.c b/linux/drivers/media/video/pvrusb2/pvrusb2-i2c-core.c
index 713c7011c..98d918420 100644
--- a/linux/drivers/media/video/pvrusb2/pvrusb2-i2c-core.c
+++ b/linux/drivers/media/video/pvrusb2/pvrusb2-i2c-core.c
@@ -1066,7 +1066,7 @@ void pvr2_i2c_core_init(struct pvr2_hdw *hdw)
printk(KERN_INFO "%s: IR disabled\n",hdw->name);
hdw->i2c_func[0x18] = i2c_black_hole;
} 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;
}
}