diff options
author | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-10 12:59:18 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-10 12:59:18 -0500 |
commit | bb7320d1d96dc2e479180ae8e7a112caf0726ace (patch) | |
tree | 65a81fefd82d188f5496b70439db73ca911b3f76 /drivers/media/common | |
parent | 6aa8b732ca01c3d7a54e93f4d701b8aabbe60fb7 (diff) | |
parent | 1de1bf06330920802d3b7646a088965bdd918356 (diff) |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb
* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (132 commits)
V4L/DVB 4949b: Fix container_of pointer retreival
V4L/DVB (4949a): Fix INIT_WORK
V4L/DVB (4949): Cxusb: codingstyle cleanups
V4L/DVB (4948): Cxusb: Convert tuner functions to use dvb_pll_attach
V4L/DVB (4947): Cx88: trivial cleanups
V4L/DVB (4946): Cx88: Move cx88_dvb_bus_ctrl out of the card-specific area
V4L/DVB (4945): Cx88: consolidate cx22702_config structs
V4L/DVB (4944): Cx88: Convert DViCO FusionHDTV Hybrid to use dvb_pll_attach
V4L/DVB (4943): Cx88: cleanup dvb_pll_attach for lgdt3302 tuners
V4L/DVB (4953): Usbvision minor fixes
V4L/DVB (4951): Add version.h, since it is required for VIDIOC_QUERYCAP
V4L/DVB (4940): Or51211: Changed SNR and signal strength calculations
V4L/DVB (4939): Or51132: Changed SNR and signal strength reporting
V4L/DVB (4938): Cx88: Convert lgdt3302 tuning function to use dvb_pll_attach
V4L/DVB (4941): Remove LINUX_VERSION_CODE and fix identations
V4L/DVB (4942): Whitespace cleanups
V4L/DVB (4937): Usbvision cleanup and code reorganization
V4L/DVB (4936): Make MT4049FM5 tuner to set FM Gain to Normal
V4L/DVB (4935): Added the capability of selecting fm gain by tuner
V4L/DVB (4934): Usbvision radio requires GainNormal at e register
...
Diffstat (limited to 'drivers/media/common')
-rw-r--r-- | drivers/media/common/ir-keymaps.c | 55 | ||||
-rw-r--r-- | drivers/media/common/saa7146_i2c.c | 16 |
2 files changed, 67 insertions, 4 deletions
diff --git a/drivers/media/common/ir-keymaps.c b/drivers/media/common/ir-keymaps.c index db753443587a..f51e02fe3655 100644 --- a/drivers/media/common/ir-keymaps.c +++ b/drivers/media/common/ir-keymaps.c | |||
@@ -1552,3 +1552,58 @@ IR_KEYTAB_TYPE ir_codes_norwood[IR_KEYTAB_SIZE] = { | |||
1552 | }; | 1552 | }; |
1553 | 1553 | ||
1554 | EXPORT_SYMBOL_GPL(ir_codes_norwood); | 1554 | EXPORT_SYMBOL_GPL(ir_codes_norwood); |
1555 | |||
1556 | /* From reading the following remotes: | ||
1557 | * Zenith Universal 7 / TV Mode 807 / VCR Mode 837 | ||
1558 | * Hauppauge (from NOVA-CI-s box product) | ||
1559 | * This is a "middle of the road" approach, differences are noted | ||
1560 | */ | ||
1561 | IR_KEYTAB_TYPE ir_codes_budget_ci_old[IR_KEYTAB_SIZE] = { | ||
1562 | [ 0x00 ] = KEY_0, | ||
1563 | [ 0x01 ] = KEY_1, | ||
1564 | [ 0x02 ] = KEY_2, | ||
1565 | [ 0x03 ] = KEY_3, | ||
1566 | [ 0x04 ] = KEY_4, | ||
1567 | [ 0x05 ] = KEY_5, | ||
1568 | [ 0x06 ] = KEY_6, | ||
1569 | [ 0x07 ] = KEY_7, | ||
1570 | [ 0x08 ] = KEY_8, | ||
1571 | [ 0x09 ] = KEY_9, | ||
1572 | [ 0x0a ] = KEY_ENTER, | ||
1573 | [ 0x0b ] = KEY_RED, | ||
1574 | [ 0x0c ] = KEY_POWER, /* RADIO on Hauppauge */ | ||
1575 | [ 0x0d ] = KEY_MUTE, | ||
1576 | [ 0x0f ] = KEY_A, /* TV on Hauppauge */ | ||
1577 | [ 0x10 ] = KEY_VOLUMEUP, | ||
1578 | [ 0x11 ] = KEY_VOLUMEDOWN, | ||
1579 | [ 0x14 ] = KEY_B, | ||
1580 | [ 0x1c ] = KEY_UP, | ||
1581 | [ 0x1d ] = KEY_DOWN, | ||
1582 | [ 0x1e ] = KEY_OPTION, /* RESERVED on Hauppauge */ | ||
1583 | [ 0x1f ] = KEY_BREAK, | ||
1584 | [ 0x20 ] = KEY_CHANNELUP, | ||
1585 | [ 0x21 ] = KEY_CHANNELDOWN, | ||
1586 | [ 0x22 ] = KEY_PREVIOUS, /* Prev. Ch on Zenith, SOURCE on Hauppauge */ | ||
1587 | [ 0x24 ] = KEY_RESTART, | ||
1588 | [ 0x25 ] = KEY_OK, | ||
1589 | [ 0x26 ] = KEY_CYCLEWINDOWS, /* MINIMIZE on Hauppauge */ | ||
1590 | [ 0x28 ] = KEY_ENTER, /* VCR mode on Zenith */ | ||
1591 | [ 0x29 ] = KEY_PAUSE, | ||
1592 | [ 0x2b ] = KEY_RIGHT, | ||
1593 | [ 0x2c ] = KEY_LEFT, | ||
1594 | [ 0x2e ] = KEY_MENU, /* FULL SCREEN on Hauppauge */ | ||
1595 | [ 0x30 ] = KEY_SLOW, | ||
1596 | [ 0x31 ] = KEY_PREVIOUS, /* VCR mode on Zenith */ | ||
1597 | [ 0x32 ] = KEY_REWIND, | ||
1598 | [ 0x34 ] = KEY_FASTFORWARD, | ||
1599 | [ 0x35 ] = KEY_PLAY, | ||
1600 | [ 0x36 ] = KEY_STOP, | ||
1601 | [ 0x37 ] = KEY_RECORD, | ||
1602 | [ 0x38 ] = KEY_TUNER, /* TV/VCR on Zenith */ | ||
1603 | [ 0x3a ] = KEY_C, | ||
1604 | [ 0x3c ] = KEY_EXIT, | ||
1605 | [ 0x3d ] = KEY_POWER2, | ||
1606 | [ 0x3e ] = KEY_TUNER, | ||
1607 | }; | ||
1608 | |||
1609 | EXPORT_SYMBOL_GPL(ir_codes_budget_ci_old); | ||
diff --git a/drivers/media/common/saa7146_i2c.c b/drivers/media/common/saa7146_i2c.c index 5297a365c928..8c85efc26527 100644 --- a/drivers/media/common/saa7146_i2c.c +++ b/drivers/media/common/saa7146_i2c.c | |||
@@ -189,13 +189,21 @@ static int saa7146_i2c_writeout(struct saa7146_dev *dev, u32* dword, int short_d | |||
189 | saa7146_write(dev, I2C_TRANSFER, *dword); | 189 | saa7146_write(dev, I2C_TRANSFER, *dword); |
190 | 190 | ||
191 | dev->i2c_op = 1; | 191 | dev->i2c_op = 1; |
192 | SAA7146_ISR_CLEAR(dev, MASK_16|MASK_17); | ||
192 | SAA7146_IER_ENABLE(dev, MASK_16|MASK_17); | 193 | SAA7146_IER_ENABLE(dev, MASK_16|MASK_17); |
193 | saa7146_write(dev, MC2, (MASK_00 | MASK_16)); | 194 | saa7146_write(dev, MC2, (MASK_00 | MASK_16)); |
194 | 195 | ||
195 | wait_event_interruptible(dev->i2c_wq, dev->i2c_op == 0); | 196 | timeout = HZ/100 + 1; /* 10ms */ |
196 | if (signal_pending (current)) { | 197 | timeout = wait_event_interruptible_timeout(dev->i2c_wq, dev->i2c_op == 0, timeout); |
197 | /* a signal arrived */ | 198 | if (timeout == -ERESTARTSYS || dev->i2c_op) { |
198 | return -ERESTARTSYS; | 199 | SAA7146_IER_DISABLE(dev, MASK_16|MASK_17); |
200 | SAA7146_ISR_CLEAR(dev, MASK_16|MASK_17); | ||
201 | if (timeout == -ERESTARTSYS) | ||
202 | /* a signal arrived */ | ||
203 | return -ERESTARTSYS; | ||
204 | |||
205 | printk(KERN_WARNING "saa7146_i2c_writeout: timed out waiting for end of xfer\n"); | ||
206 | return -EIO; | ||
199 | } | 207 | } |
200 | status = saa7146_read(dev, I2C_STATUS); | 208 | status = saa7146_read(dev, I2C_STATUS); |
201 | } else { | 209 | } else { |