You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6
* 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (442 commits) [media] videobuf2-dma-contig: make cookie() return a pointer to dma_addr_t [media] sh_mobile_ceu_camera: Do not call vb2's mem_ops directly [media] V4L: soc-camera: explicitly require V4L2_BUF_TYPE_VIDEO_CAPTURE [media] v4l: soc-camera: Store negotiated buffer settings [media] rc: interim support for 32-bit NEC-ish scancodes [media] mceusb: topseed 0x0011 needs gen3 init for tx to work [media] lirc_zilog: error out if buffer read bytes != chunk size [media] lirc: silence some compile warnings [media] hdpvr: use same polling interval as other OS [media] ir-kbd-i2c: pass device code w/key in hauppauge case [media] rc/keymaps: Remove the obsolete rc-rc5-tv keymap [media] remove the old RC_MAP_HAUPPAUGE_NEW RC map [media] rc/keymaps: Rename Hauppauge table as rc-hauppauge [media] rc-rc5-hauppauge-new: Fix Hauppauge Grey mapping [media] rc-rc5-hauppauge-new: Add support for the old Black RC [media] rc-rc5-hauppauge-new: Add the old control to the table [media] rc-winfast: Fix the keycode tables [media] a800: Fix a few wrong IR key assignments [media] opera1: Use multimedia keys instead of an app-specific mapping [media] dw2102: Use multimedia keys instead of an app-specific mapping ... Fix up trivial conflicts (remove/modify and some real conflicts) in: arch/arm/mach-omap2/devices.c drivers/staging/Kconfig drivers/staging/Makefile drivers/staging/dabusb/dabusb.c drivers/staging/dabusb/dabusb.h drivers/staging/easycap/easycap_ioctl.c drivers/staging/usbvideo/usbvideo.c drivers/staging/usbvideo/vicam.c
This commit is contained in:
@@ -32,18 +32,6 @@ config LIRC_IMON
|
||||
|
||||
Current generation iMON devices use the input layer imon driver.
|
||||
|
||||
config LIRC_IT87
|
||||
tristate "ITE IT87XX CIR Port Receiver"
|
||||
depends on LIRC && PNP
|
||||
help
|
||||
Driver for the ITE IT87xx IR Receiver
|
||||
|
||||
config LIRC_ITE8709
|
||||
tristate "ITE8709 CIR Port Receiver"
|
||||
depends on LIRC && PNP
|
||||
help
|
||||
Driver for the ITE8709 IR Receiver
|
||||
|
||||
config LIRC_PARALLEL
|
||||
tristate "Homebrew Parallel Port Receiver"
|
||||
depends on LIRC && PARPORT
|
||||
|
||||
@@ -6,8 +6,6 @@
|
||||
obj-$(CONFIG_LIRC_BT829) += lirc_bt829.o
|
||||
obj-$(CONFIG_LIRC_IGORPLUGUSB) += lirc_igorplugusb.o
|
||||
obj-$(CONFIG_LIRC_IMON) += lirc_imon.o
|
||||
obj-$(CONFIG_LIRC_IT87) += lirc_it87.o
|
||||
obj-$(CONFIG_LIRC_ITE8709) += lirc_ite8709.o
|
||||
obj-$(CONFIG_LIRC_PARALLEL) += lirc_parallel.o
|
||||
obj-$(CONFIG_LIRC_SASEM) += lirc_sasem.o
|
||||
obj-$(CONFIG_LIRC_SERIAL) += lirc_serial.o
|
||||
|
||||
@@ -1,34 +1,33 @@
|
||||
1. Both ir-kbd-i2c and lirc_zilog provide support for RX events.
|
||||
The 'tx_only' lirc_zilog module parameter will allow ir-kbd-i2c
|
||||
and lirc_zilog to coexist in the kernel, if the user requires such a set-up.
|
||||
However the IR unit will not work well without coordination between the
|
||||
two modules. A shared mutex, for transceiver access locking, needs to be
|
||||
supplied by bridge drivers, in struct IR_i2_init_data, to both ir-kbd-i2c
|
||||
and lirc_zilog, before they will coexist usefully. This should be fixed
|
||||
before moving out of staging.
|
||||
1. Both ir-kbd-i2c and lirc_zilog provide support for RX events for
|
||||
the chips supported by lirc_zilog. Before moving lirc_zilog out of staging:
|
||||
|
||||
2. References and locking need careful examination. For cx18 and ivtv PCI
|
||||
cards, which are not easily "hot unplugged", the imperfect state of reference
|
||||
counting and locking is acceptable if not correct. For USB connected units
|
||||
like HD PVR, PVR USB2, HVR-1900, and HVR1950, the likelyhood of an Ooops on
|
||||
unplug is probably great. Proper reference counting and locking needs to be
|
||||
implemented before this module is moved out of staging.
|
||||
a. ir-kbd-i2c needs a module parameter added to allow the user to tell
|
||||
ir-kbd-i2c to ignore Z8 IR units.
|
||||
|
||||
3. The binding between hdpvr and lirc_zilog is currently disabled,
|
||||
due to an OOPS reported a few years ago when both the hdpvr and cx18
|
||||
drivers were loaded in his system. More details can be seen at:
|
||||
http://www.mail-archive.com/linux-media@vger.kernel.org/msg09163.html
|
||||
More tests need to be done, in order to fix the reported issue.
|
||||
b. lirc_zilog should provide Rx key presses to the rc core like ir-kbd-i2c
|
||||
does.
|
||||
|
||||
4. In addition to providing a shared mutex for transceiver access
|
||||
locking, bridge drivers, if able, should provide a chip reset() callback
|
||||
|
||||
2. lirc_zilog module ref-counting need examination. It has not been
|
||||
verified that cdev and lirc_dev will take the proper module references on
|
||||
lirc_zilog to prevent removal of lirc_zilog when the /dev/lircN device node
|
||||
is open.
|
||||
|
||||
(The good news is ref-counting of lirc_zilog internal structures appears to be
|
||||
complete. Testing has shown the cx18 module can be unloaded out from under
|
||||
irw + lircd + lirc_dev, with the /dev/lirc0 device node open, with no adverse
|
||||
effects. The cx18 module could then be reloaded and irw properly began
|
||||
receiving button presses again and ir_send worked without error.)
|
||||
|
||||
|
||||
3. Bridge drivers, if able, should provide a chip reset() callback
|
||||
to lirc_zilog via struct IR_i2c_init_data. cx18 and ivtv already have routines
|
||||
to perform Z8 chip resets via GPIO manipulations. This will allow lirc_zilog
|
||||
to perform Z8 chip resets via GPIO manipulations. This would allow lirc_zilog
|
||||
to bring the chip back to normal when it hangs, in the same places the
|
||||
original lirc_pvr150 driver code does. This is not strictly needed, so it
|
||||
is not required to move lirc_zilog out of staging.
|
||||
|
||||
5. Both lirc_zilog and ir-kbd-i2c support the Zilog Z8 for IR, as programmed
|
||||
Note: Both lirc_zilog and ir-kbd-i2c support the Zilog Z8 for IR, as programmed
|
||||
and installed on Hauppauge products. When working on either module, developers
|
||||
must consider at least the following bridge drivers which mention an IR Rx unit
|
||||
at address 0x71 (indicative of a Z8):
|
||||
|
||||
@@ -379,7 +379,7 @@ static ssize_t vfd_write(struct file *file, const char *buf,
|
||||
struct imon_context *context;
|
||||
const unsigned char vfd_packet6[] = {
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF };
|
||||
int *data_buf;
|
||||
int *data_buf = NULL;
|
||||
|
||||
context = file->private_data;
|
||||
if (!context) {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,116 +0,0 @@
|
||||
/* lirc_it87.h */
|
||||
/* SECTION: Definitions */
|
||||
|
||||
/********************************* ITE IT87xx ************************/
|
||||
|
||||
/* based on the following documentation from ITE:
|
||||
a) IT8712F Preliminary CIR Programming Guide V0.1
|
||||
b) IT8705F Simple LPC I/O Preliminary Specification V0.3
|
||||
c) IT8712F EC-LPC I/O Preliminary Specification V0.5
|
||||
*/
|
||||
|
||||
/* IT8712/05 Ports: */
|
||||
#define IT87_ADRPORT 0x2e
|
||||
#define IT87_DATAPORT 0x2f
|
||||
#define IT87_INIT {0x87, 0x01, 0x55, 0x55}
|
||||
|
||||
/* alternate Ports: */
|
||||
/*
|
||||
#define IT87_ADRPORT 0x4e
|
||||
#define IT87_DATAPORT 0x4f
|
||||
#define IT87_INIT {0x87, 0x01, 0x55, 0xaa}
|
||||
*/
|
||||
|
||||
/* IT8712/05 Registers */
|
||||
#define IT87_CFGCTRL 0x2
|
||||
#define IT87_LDN 0x7
|
||||
#define IT87_CHIP_ID1 0x20
|
||||
#define IT87_CHIP_ID2 0x21
|
||||
#define IT87_CFG_VERSION 0x22
|
||||
#define IT87_SWSUSPEND 0x23
|
||||
|
||||
#define IT8712_CIR_LDN 0xa
|
||||
#define IT8705_CIR_LDN 0x7
|
||||
|
||||
/* CIR Configuration Registers: */
|
||||
#define IT87_CIR_ACT 0x30
|
||||
#define IT87_CIR_BASE_MSB 0x60
|
||||
#define IT87_CIR_BASE_LSB 0x61
|
||||
#define IT87_CIR_IRQ 0x70
|
||||
#define IT87_CIR_CONFIG 0xf0
|
||||
|
||||
/* List of IT87_CIR registers: offset to BaseAddr */
|
||||
#define IT87_CIR_DR 0
|
||||
#define IT87_CIR_IER 1
|
||||
#define IT87_CIR_RCR 2
|
||||
#define IT87_CIR_TCR1 3
|
||||
#define IT87_CIR_TCR2 4
|
||||
#define IT87_CIR_TSR 5
|
||||
#define IT87_CIR_RSR 6
|
||||
#define IT87_CIR_BDLR 5
|
||||
#define IT87_CIR_BDHR 6
|
||||
#define IT87_CIR_IIR 7
|
||||
|
||||
/* Bit Definition */
|
||||
/* IER: */
|
||||
#define IT87_CIR_IER_TM_EN 0x80
|
||||
#define IT87_CIR_IER_RESEVED 0x40
|
||||
#define IT87_CIR_IER_RESET 0x20
|
||||
#define IT87_CIR_IER_BR 0x10
|
||||
#define IT87_CIR_IER_IEC 0x8
|
||||
#define IT87_CIR_IER_RFOIE 0x4
|
||||
#define IT87_CIR_IER_RDAIE 0x2
|
||||
#define IT87_CIR_IER_TLDLIE 0x1
|
||||
|
||||
/* RCR: */
|
||||
#define IT87_CIR_RCR_RDWOS 0x80
|
||||
#define IT87_CIR_RCR_HCFS 0x40
|
||||
#define IT87_CIR_RCR_RXEN 0x20
|
||||
#define IT87_CIR_RCR_RXEND 0x10
|
||||
#define IT87_CIR_RCR_RXACT 0x8
|
||||
#define IT87_CIR_RCR_RXDCR 0x7
|
||||
|
||||
/* TCR1: */
|
||||
#define IT87_CIR_TCR1_FIFOCLR 0x80
|
||||
#define IT87_CIR_TCR1_ILE 0x40
|
||||
#define IT87_CIR_TCR1_FIFOTL 0x30
|
||||
#define IT87_CIR_TCR1_TXRLE 0x8
|
||||
#define IT87_CIR_TCR1_TXENDF 0x4
|
||||
#define IT87_CIR_TCR1_TXMPM 0x3
|
||||
|
||||
/* TCR2: */
|
||||
#define IT87_CIR_TCR2_CFQ 0xf8
|
||||
#define IT87_CIR_TCR2_TXMPW 0x7
|
||||
|
||||
/* TSR: */
|
||||
#define IT87_CIR_TSR_RESERVED 0xc0
|
||||
#define IT87_CIR_TSR_TXFBC 0x3f
|
||||
|
||||
/* RSR: */
|
||||
#define IT87_CIR_RSR_RXFTO 0x80
|
||||
#define IT87_CIR_RSR_RESERVED 0x40
|
||||
#define IT87_CIR_RSR_RXFBC 0x3f
|
||||
|
||||
/* IIR: */
|
||||
#define IT87_CIR_IIR_RESERVED 0xf8
|
||||
#define IT87_CIR_IIR_IID 0x6
|
||||
#define IT87_CIR_IIR_IIP 0x1
|
||||
|
||||
/* TM: */
|
||||
#define IT87_CIR_TM_IL_SEL 0x80
|
||||
#define IT87_CIR_TM_RESERVED 0x40
|
||||
#define IT87_CIR_TM_TM_REG 0x3f
|
||||
|
||||
#define IT87_CIR_FIFO_SIZE 32
|
||||
|
||||
/* Baudratedivisor for IT87: power of 2: only 1,2,4 or 8) */
|
||||
#define IT87_CIR_BAUDRATE_DIVISOR 0x1
|
||||
#define IT87_CIR_DEFAULT_IOBASE 0x310
|
||||
#define IT87_CIR_DEFAULT_IRQ 0x7
|
||||
#define IT87_CIR_SPACE 0x00
|
||||
#define IT87_CIR_PULSE 0xff
|
||||
#define IT87_CIR_FREQ_MIN 27
|
||||
#define IT87_CIR_FREQ_MAX 58
|
||||
#define TIME_CONST (IT87_CIR_BAUDRATE_DIVISOR * 8000000ul / 115200ul)
|
||||
|
||||
/********************************* ITE IT87xx ************************/
|
||||
File diff suppressed because it is too large
Load Diff
@@ -364,7 +364,7 @@ static ssize_t vfd_write(struct file *file, const char *buf,
|
||||
int i;
|
||||
int retval = 0;
|
||||
struct sasem_context *context;
|
||||
int *data_buf;
|
||||
int *data_buf = NULL;
|
||||
|
||||
context = (struct sasem_context *) file->private_data;
|
||||
if (!context) {
|
||||
|
||||
+511
-313
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user