Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab...
Linus Torvalds [Tue, 24 May 2011 04:12:49 +0000 (21:12 -0700)]
* 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (247 commits)
  [media] gspca - sunplus: Fix some warnings and simplify code
  [media] gspca: Fix some warnings tied to 'no debug'
  [media] gspca: Unset debug by default
  [media] gspca - cpia1: Remove a bad conditional compilation instruction
  [media] gspca - main: Remove USB traces
  [media] gspca - main: Version change to 2.13
  [media] gspca - stk014 / t613: Accept the index 0 in querymenu
  [media] gspca - kinect: Remove __devinitdata
  [media] gspca - cpia1: Fix some warnings
  [media] video/Kconfig: Fix mis-classified devices
  [media] support for medion dvb stick 1660:1921
  [media] tm6000: fix uninitialized field, change prink to dprintk
  [media] cx231xx: Add support for Iconbit U100
  [media] saa7134 add new TV cards
  [media] Use a more consistent value for RC repeat period
  [media] cx18: Move spinlock and vb_type initialisation into stream_init
  [media] tm6000: remove tm6010 sif audio start and stop
  [media] tm6000: remove unused exports
  [media] tm6000: add pts logging
  [media] tm6000: change from ioctl to unlocked_ioctl
  ...

1  2 
Documentation/feature-removal-schedule.txt
drivers/media/dvb/dvb-usb/dw2102.c
drivers/media/video/usbvision/usbvision-video.c

@@@ -35,6 -35,17 +35,6 @@@ Who: Luis R. Rodriguez <lrodriguez@athe
  
  ---------------------------
  
 -What: AR9170USB
 -When: 2.6.40
 -
 -Why:  This driver is deprecated and the firmware is no longer
 -      maintained. The replacement driver "carl9170" has been
 -      around for a while, so the devices are still supported.
 -
 -Who:  Christian Lamparter <chunkeey@googlemail.com>
 -
 ----------------------------
 -
  What: IRQF_SAMPLE_RANDOM
  Check:        IRQF_SAMPLE_RANDOM
  When: July 2009
@@@ -215,7 -226,7 +215,7 @@@ Who:       Zhang Rui <rui.zhang@intel.com
  What: CONFIG_ACPI_PROCFS_POWER
  When: 2.6.39
  Why:  sysfs I/F for ACPI power devices, including AC and Battery,
 -        has been working in upstream kenrel since 2.6.24, Sep 2007.
 +        has been working in upstream kernel since 2.6.24, Sep 2007.
        In 2.6.37, we make the sysfs I/F always built in and this option
        disabled by default.
        Remove this option and the ACPI power procfs interface in 2.6.39.
@@@ -394,6 -405,16 +394,6 @@@ Who:      anybody or Florian Mickler <flori
  
  ----------------------------
  
 -What: capifs
 -When: February 2011
 -Files:        drivers/isdn/capi/capifs.*
 -Why:  udev fully replaces this special file system that only contains CAPI
 -      NCCI TTY device nodes. User space (pppdcapiplugin) works without
 -      noticing the difference.
 -Who:  Jan Kiszka <jan.kiszka@web.de>
 -
 -----------------------------
 -
  What: KVM paravirt mmu host support
  When: January 2011
  Why:  The paravirt mmu host support is slower than non-paravirt mmu, both
@@@ -439,6 -460,14 +439,6 @@@ Who:      Thomas Gleixner <tglx@linutronix.d
  
  ----------------------------
  
 -What: The acpi_sleep=s4_nonvs command line option
 -When: 2.6.37
 -Files:        arch/x86/kernel/acpi/sleep.c
 -Why:  superseded by acpi_sleep=nonvs
 -Who:  Rafael J. Wysocki <rjw@sisk.pl>
 -
 -----------------------------
 -
  What:         PCI DMA unmap state API
  When: August 2012
  Why:  PCI DMA unmap state API (include/linux/pci-dma.h) was replaced
@@@ -551,3 -580,26 +551,26 @@@ Why:     These legacy callbacks should no l
  Who:  Jean Delvare <khali@linux-fr.org>
  
  ----------------------------
+ What: Support for UVCIOC_CTRL_ADD in the uvcvideo driver
+ When: 2.6.42
+ Why:  The information passed to the driver by this ioctl is now queried
+       dynamically from the device.
+ Who:  Laurent Pinchart <laurent.pinchart@ideasonboard.com>
+ ----------------------------
+ What: Support for UVCIOC_CTRL_MAP_OLD in the uvcvideo driver
+ When: 2.6.42
+ Why:  Used only by applications compiled against older driver versions.
+       Superseded by UVCIOC_CTRL_MAP which supports V4L2 menu controls.
+ Who:  Laurent Pinchart <laurent.pinchart@ideasonboard.com>
+ ----------------------------
+ What: Support for UVCIOC_CTRL_GET and UVCIOC_CTRL_SET in the uvcvideo driver
+ When: 2.6.42
+ Why:  Superseded by the UVCIOC_CTRL_QUERY ioctl.
+ Who:  Laurent Pinchart <laurent.pinchart@ideasonboard.com>
+ ----------------------------
@@@ -121,12 -121,16 +121,16 @@@ static int dw210x_op_rw(struct usb_devi
                        u16 index, u8 * data, u16 len, int flags)
  {
        int ret;
-       u8 u8buf[len];
+       u8 *u8buf;
        unsigned int pipe = (flags == DW210X_READ_MSG) ?
                                usb_rcvctrlpipe(dev, 0) : usb_sndctrlpipe(dev, 0);
        u8 request_type = (flags == DW210X_READ_MSG) ? USB_DIR_IN : USB_DIR_OUT;
  
+       u8buf = kmalloc(len, GFP_KERNEL);
+       if (!u8buf)
+               return -ENOMEM;
        if (flags == DW210X_WRITE_MSG)
                memcpy(u8buf, data, len);
        ret = usb_control_msg(dev, pipe, request, request_type | USB_TYPE_VENDOR,
  
        if (flags == DW210X_READ_MSG)
                memcpy(data, u8buf, len);
+       kfree(u8buf);
        return ret;
  }
  
@@@ -1377,7 -1383,7 +1383,7 @@@ static struct rc_map_table rc_map_su300
        { 0x0f, KEY_BLUE },     /* bottom yellow button */
        { 0x14, KEY_AUDIO },    /* Snapshot */
        { 0x38, KEY_TV },       /* TV/Radio */
 -      { 0x0c, KEY_ESC }       /* upper Red buttton */
 +      { 0x0c, KEY_ESC }       /* upper Red button */
  };
  
  static struct rc_map_dvb_usb_table_table keys_tables[] = {
@@@ -70,9 -70,8 +70,9 @@@
  #include "usbvision.h"
  #include "usbvision-cards.h"
  
 -#define DRIVER_AUTHOR "Joerg Heckenbach <joerg@heckenbach-aw.de>, \
 -Dwaine Garden <DwaineGarden@rogers.com>"
 +#define DRIVER_AUTHOR                                 \
 +      "Joerg Heckenbach <joerg@heckenbach-aw.de>, "   \
 +      "Dwaine Garden <DwaineGarden@rogers.com>"
  #define DRIVER_NAME "usbvision"
  #define DRIVER_ALIAS "USBVision"
  #define DRIVER_DESC "USBVision USB Video Device Driver for Linux"
@@@ -1471,7 -1470,8 +1471,8 @@@ static void usbvision_configure_video(s
  
        /* This should be here to make i2c clients to be able to register */
        /* first switch off audio */
-       usbvision_audio_off(usbvision);
+       if (usbvision_device_data[model].audio_channels > 0)
+               usbvision_audio_off(usbvision);
        if (!power_on_at_open) {
                /* and then power up the noisy tuner */
                usbvision_power_on(usbvision);