diff options
author | Djuri Baars <dsbaars@gmail.com> | 2012-07-28 08:01:38 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-07-30 23:18:58 -0400 |
commit | 076f0e359e308dae67821196f56d36d6648f9086 (patch) | |
tree | fe2db568f81acf4017cbc47085550c23ee906fd8 | |
parent | 8a7bf1d446bcaeed3b1f2a4dcb2f033dcdfc0827 (diff) |
[media] Add support for the Terratec Cinergy T Dual PCIe IR remote
The following patch adds support for the infrared remote included in
the Terratec Cinergy T Dual PCIe card.
Signed-off-by: Djuri Baars <dsbaars@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r-- | drivers/media/video/cx23885/cx23885-cards.c | 4 | ||||
-rw-r--r-- | drivers/media/video/cx23885/cx23885-input.c | 9 |
2 files changed, 13 insertions, 0 deletions
diff --git a/drivers/media/video/cx23885/cx23885-cards.c b/drivers/media/video/cx23885/cx23885-cards.c index 080e11157e5f..d365e9a8efc4 100644 --- a/drivers/media/video/cx23885/cx23885-cards.c +++ b/drivers/media/video/cx23885/cx23885-cards.c | |||
@@ -46,6 +46,7 @@ MODULE_PARM_DESC(enable_885_ir, | |||
46 | "Enable integrated IR controller for supported\n" | 46 | "Enable integrated IR controller for supported\n" |
47 | "\t\t CX2388[57] boards that are wired for it:\n" | 47 | "\t\t CX2388[57] boards that are wired for it:\n" |
48 | "\t\t\tHVR-1250 (reported safe)\n" | 48 | "\t\t\tHVR-1250 (reported safe)\n" |
49 | "\t\t\tTerraTec Cinergy T PCIe Dual (not well tested, appears to be safe)\n" | ||
49 | "\t\t\tTeVii S470 (reported unsafe)\n" | 50 | "\t\t\tTeVii S470 (reported unsafe)\n" |
50 | "\t\t This can cause an interrupt storm with some cards.\n" | 51 | "\t\t This can cause an interrupt storm with some cards.\n" |
51 | "\t\t Default: 0 [Disabled]"); | 52 | "\t\t Default: 0 [Disabled]"); |
@@ -1363,6 +1364,7 @@ int cx23885_ir_init(struct cx23885_dev *dev) | |||
1363 | params.shutdown = true; | 1364 | params.shutdown = true; |
1364 | v4l2_subdev_call(dev->sd_ir, ir, tx_s_parameters, ¶ms); | 1365 | v4l2_subdev_call(dev->sd_ir, ir, tx_s_parameters, ¶ms); |
1365 | break; | 1366 | break; |
1367 | case CX23885_BOARD_TERRATEC_CINERGY_T_PCIE_DUAL: | ||
1366 | case CX23885_BOARD_TEVII_S470: | 1368 | case CX23885_BOARD_TEVII_S470: |
1367 | if (!enable_885_ir) | 1369 | if (!enable_885_ir) |
1368 | break; | 1370 | break; |
@@ -1403,6 +1405,7 @@ void cx23885_ir_fini(struct cx23885_dev *dev) | |||
1403 | cx23888_ir_remove(dev); | 1405 | cx23888_ir_remove(dev); |
1404 | dev->sd_ir = NULL; | 1406 | dev->sd_ir = NULL; |
1405 | break; | 1407 | break; |
1408 | case CX23885_BOARD_TERRATEC_CINERGY_T_PCIE_DUAL: | ||
1406 | case CX23885_BOARD_TEVII_S470: | 1409 | case CX23885_BOARD_TEVII_S470: |
1407 | case CX23885_BOARD_HAUPPAUGE_HVR1250: | 1410 | case CX23885_BOARD_HAUPPAUGE_HVR1250: |
1408 | cx23885_irq_remove(dev, PCI_MSK_AV_CORE); | 1411 | cx23885_irq_remove(dev, PCI_MSK_AV_CORE); |
@@ -1446,6 +1449,7 @@ void cx23885_ir_pci_int_enable(struct cx23885_dev *dev) | |||
1446 | if (dev->sd_ir) | 1449 | if (dev->sd_ir) |
1447 | cx23885_irq_add_enable(dev, PCI_MSK_IR); | 1450 | cx23885_irq_add_enable(dev, PCI_MSK_IR); |
1448 | break; | 1451 | break; |
1452 | case CX23885_BOARD_TERRATEC_CINERGY_T_PCIE_DUAL: | ||
1449 | case CX23885_BOARD_TEVII_S470: | 1453 | case CX23885_BOARD_TEVII_S470: |
1450 | case CX23885_BOARD_HAUPPAUGE_HVR1250: | 1454 | case CX23885_BOARD_HAUPPAUGE_HVR1250: |
1451 | if (dev->sd_ir) | 1455 | if (dev->sd_ir) |
diff --git a/drivers/media/video/cx23885/cx23885-input.c b/drivers/media/video/cx23885/cx23885-input.c index ce765e3f77bd..56066721edc1 100644 --- a/drivers/media/video/cx23885/cx23885-input.c +++ b/drivers/media/video/cx23885/cx23885-input.c | |||
@@ -85,6 +85,7 @@ void cx23885_input_rx_work_handler(struct cx23885_dev *dev, u32 events) | |||
85 | case CX23885_BOARD_HAUPPAUGE_HVR1270: | 85 | case CX23885_BOARD_HAUPPAUGE_HVR1270: |
86 | case CX23885_BOARD_HAUPPAUGE_HVR1850: | 86 | case CX23885_BOARD_HAUPPAUGE_HVR1850: |
87 | case CX23885_BOARD_HAUPPAUGE_HVR1290: | 87 | case CX23885_BOARD_HAUPPAUGE_HVR1290: |
88 | case CX23885_BOARD_TERRATEC_CINERGY_T_PCIE_DUAL: | ||
88 | case CX23885_BOARD_TEVII_S470: | 89 | case CX23885_BOARD_TEVII_S470: |
89 | case CX23885_BOARD_HAUPPAUGE_HVR1250: | 90 | case CX23885_BOARD_HAUPPAUGE_HVR1250: |
90 | /* | 91 | /* |
@@ -162,6 +163,7 @@ static int cx23885_input_ir_start(struct cx23885_dev *dev) | |||
162 | */ | 163 | */ |
163 | params.invert_level = true; | 164 | params.invert_level = true; |
164 | break; | 165 | break; |
166 | case CX23885_BOARD_TERRATEC_CINERGY_T_PCIE_DUAL: | ||
165 | case CX23885_BOARD_TEVII_S470: | 167 | case CX23885_BOARD_TEVII_S470: |
166 | /* | 168 | /* |
167 | * The IR controller on this board only returns pulse widths. | 169 | * The IR controller on this board only returns pulse widths. |
@@ -272,6 +274,13 @@ int cx23885_input_init(struct cx23885_dev *dev) | |||
272 | /* The grey Hauppauge RC-5 remote */ | 274 | /* The grey Hauppauge RC-5 remote */ |
273 | rc_map = RC_MAP_HAUPPAUGE; | 275 | rc_map = RC_MAP_HAUPPAUGE; |
274 | break; | 276 | break; |
277 | case CX23885_BOARD_TERRATEC_CINERGY_T_PCIE_DUAL: | ||
278 | /* Integrated CX23885 IR controller */ | ||
279 | driver_type = RC_DRIVER_IR_RAW; | ||
280 | allowed_protos = RC_TYPE_NEC; | ||
281 | /* The grey Terratec remote with orange buttons */ | ||
282 | rc_map = RC_MAP_NEC_TERRATEC_CINERGY_XS; | ||
283 | break; | ||
275 | case CX23885_BOARD_TEVII_S470: | 284 | case CX23885_BOARD_TEVII_S470: |
276 | /* Integrated CX23885 IR controller */ | 285 | /* Integrated CX23885 IR controller */ |
277 | driver_type = RC_DRIVER_IR_RAW; | 286 | driver_type = RC_DRIVER_IR_RAW; |