From: Linus Torvalds Date: Sat, 12 Nov 2011 02:03:50 +0000 (-0200) Subject: Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab... X-Git-Tag: v3.2-rc2~15 X-Git-Url: https://repo.jachan.dev/linux.git/commitdiff_plain/e6f1227e8bc8a2ea2d76d09e19c89fa66c2f3a4c?hp=-c Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: [media] v4l2-ctrl: Send change events to all fh for auto cluster slave controls [media] v4l2-event: Don't set sev->fh to NULL on unsubscribe [media] v4l2-event: Remove pending events from fh event queue when unsubscribing [media] v4l2-event: Deny subscribing with a type of V4L2_EVENT_ALL [media] MAINTAINERS: add a maintainer for s5p-mfc driver [media] v4l: s5p-mfc: fix reported capabilities [media] media: vb2: reset queued list on REQBUFS(0) call [media] media: vb2: set buffer length correctly for all buffer types [media] media: vb2: add a check for uninitialized buffer [media] mxl111sf: fix build warning [media] mxl111sf: remove pointless if condition in mxl111sf_config_spi [media] mxl111sf: check for errors after mxl111sf_write_reg in mxl111sf_idac_config [media] mxl111sf: fix return value of mxl111sf_idac_config [media] uvcvideo: GET_RES should only be checked for BITMAP type menu controls --- e6f1227e8bc8a2ea2d76d09e19c89fa66c2f3a4c diff --combined MAINTAINERS index 3e8bc6163be6,e839b95b2723..071a99674347 --- a/MAINTAINERS +++ b/MAINTAINERS @@@ -316,10 -316,6 +316,10 @@@ W: http://wiki.analog.com/AD787 S: Supported F: drivers/input/touchscreen/ad7879.c +ADDRESS SPACE LAYOUT RANDOMIZATION (ASLR) +M: Jiri Kosina +S: Maintained + ADM1025 HARDWARE MONITOR DRIVER M: Jean Delvare L: lm-sensors@lm-sensors.org @@@ -692,12 -688,6 +692,12 @@@ F: drivers/mtd/nand/bcm_umi_nand. F: drivers/mtd/nand/bcm_umi_bch.c F: drivers/mtd/nand/nand_bcm_umi.h +ARM/CALXEDA HIGHBANK ARCHITECTURE +M: Rob Herring +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +F: arch/arm/mach-highbank/ + ARM/CAVIUM NETWORKS CNS3XXX MACHINE SUPPORT M: Anton Vorontsov S: Maintained @@@ -797,13 -787,6 +797,13 @@@ L: linux-arm-kernel@lists.infradead.or S: Maintained F: arch/arm/mach-mx5/ +ARM/FREESCALE IMX6 +M: Shawn Guo +L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +S: Maintained +T: git git://git.linaro.org/people/shawnguo/linux-2.6.git +F: arch/arm/mach-imx/*imx6* + ARM/GLOMATION GESBC9312SX MACHINE SUPPORT M: Lennert Buytenhek L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) @@@ -1032,7 -1015,6 +1032,7 @@@ F: arch/arm/include/asm/hardware/ioc. F: arch/arm/include/asm/hardware/iomd.h F: arch/arm/include/asm/hardware/memc.h F: arch/arm/mach-rpc/ +F: drivers/net/ethernet/8390/etherh.c F: drivers/net/ethernet/i825xx/ether1* F: drivers/net/ethernet/seeq/ether3* F: drivers/scsi/arm/ @@@ -1106,6 -1088,7 +1106,7 @@@ F: drivers/media/video/s5p-fimc ARM/SAMSUNG S5P SERIES Multi Format Codec (MFC) SUPPORT M: Kyungmin Park M: Kamil Debski + M: Jeongtae Park L: linux-arm-kernel@lists.infradead.org L: linux-media@vger.kernel.org S: Maintained @@@ -1717,7 -1700,6 +1718,7 @@@ F: include/linux/can. F: include/linux/can/core.h F: include/linux/can/bcm.h F: include/linux/can/raw.h +F: include/linux/can/gw.h CAN NETWORK DRIVERS M: Wolfgang Grandegger @@@ -2342,13 -2324,6 +2343,13 @@@ S: Supporte F: drivers/gpu/drm/i915 F: include/drm/i915* +DRM DRIVERS FOR EXYNOS +M: Inki Dae +L: dri-devel@lists.freedesktop.org +S: Supported +F: drivers/gpu/drm/exynos +F: include/drm/exynos* + DSCC4 DRIVER M: Francois Romieu L: netdev@vger.kernel.org @@@ -2395,7 -2370,7 +2396,7 @@@ F: include/linux/netfilter_bridge/ebt_* F: net/bridge/netfilter/ebt*.c ECRYPT FILE SYSTEM -M: Tyler Hicks +M: Tyler Hicks M: Dustin Kirkland L: ecryptfs@vger.kernel.org W: https://launchpad.net/ecryptfs @@@ -2476,6 -2451,8 +2477,6 @@@ L: linux-edac@vger.kernel.or W: bluesmoke.sourceforge.net S: Maintained F: drivers/edac/i7core_edac.c -F: drivers/edac/edac_mce.c -F: include/linux/edac_mce.h EDAC-I82975X M: Ranganathan Desikan @@@ -2499,13 -2476,6 +2500,13 @@@ W: bluesmoke.sourceforge.ne S: Maintained F: drivers/edac/r82600_edac.c +EDAC-SBRIDGE +M: Mauro Carvalho Chehab +L: linux-edac@vger.kernel.org +W: bluesmoke.sourceforge.net +S: Maintained +F: drivers/edac/sb_edac.c + EDIROL UA-101/UA-1000 DRIVER M: Clemens Ladisch L: alsa-devel@alsa-project.org (moderated for non-subscribers) @@@ -3027,13 -2997,6 +3028,13 @@@ F: Documentation/hw_random.tx F: drivers/char/hw_random/ F: include/linux/hw_random.h +HARDWARE SPINLOCK CORE +M: Ohad Ben-Cohen +S: Maintained +F: Documentation/hwspinlock.txt +F: drivers/hwspinlock/hwspinlock_* +F: include/linux/hwspinlock.h + HARMONY SOUND DRIVER M: Kyle McMartin L: linux-parisc@vger.kernel.org @@@ -3226,7 -3189,8 +3227,7 @@@ IA64 (Itanium) PLATFOR M: Tony Luck M: Fenghua Yu L: linux-ia64@vger.kernel.org -W: http://www.ia64-linux.org/ -T: git git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux.git S: Maintained F: arch/ia64/ @@@ -3264,13 -3228,6 +3265,13 @@@ F: Documentation/ide F: drivers/ide/ F: include/linux/ide.h +IDEAPAD LAPTOP EXTRAS DRIVER +M: Ike Panhc +L: platform-driver-x86@vger.kernel.org +W: http://launchpad.net/ideapad-laptop +S: Maintained +F: drivers/platform/x86/ideapad-laptop.c + IDE/ATAPI DRIVERS M: Borislav Petkov L: linux-ide@vger.kernel.org @@@ -4057,7 -4014,6 +4058,7 @@@ M: Eric Piel @@@ -4485,9 -4441,11 +4486,9 @@@ F: Documentation/networking/vxge.tx F: drivers/net/ethernet/neterion/ NETFILTER/IPTABLES/IPCHAINS -P: Rusty Russell -P: Marc Boucher -P: James Morris P: Harald Welte P: Jozsef Kadlecsik +M: Pablo Neira Ayuso M: Patrick McHardy L: netfilter-devel@vger.kernel.org L: netfilter@vger.kernel.org @@@ -4680,7 -4638,7 +4681,7 @@@ L: linux-omap@vger.kernel.or W: http://www.muru.com/linux/omap/ W: http://linux.omap.com/ Q: http://patchwork.kernel.org/project/linux-omap/list/ -T: git git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap.git S: Maintained F: arch/arm/*omap*/ @@@ -4728,13 -4686,6 +4729,13 @@@ S: Maintaine F: drivers/video/omap2/ F: Documentation/arm/OMAP/DSS +OMAP HARDWARE SPINLOCK SUPPORT +M: Ohad Ben-Cohen +L: linux-omap@vger.kernel.org +S: Maintained +F: drivers/hwspinlock/omap_hwspinlock.c +F: arch/arm/mach-omap2/hwspinlock.c + OMAP MMC SUPPORT M: Jarkko Lavinen L: linux-omap@vger.kernel.org @@@ -5017,7 -4968,7 +5018,7 @@@ F: include/linux/i2c-algo-pca. F: include/linux/i2c-pca-platform.h PCI ERROR RECOVERY -M: Linas Vepstas +M: Linas Vepstas L: linux-pci@vger.kernel.org S: Supported F: Documentation/PCI/pci-error-recovery.txt @@@ -5397,12 -5348,6 +5398,12 @@@ F: fs/qnx4 F: include/linux/qnx4_fs.h F: include/linux/qnxtypes.h +QUALCOMM HEXAGON ARCHITECTURE +M: Richard Kuo +L: linux-hexagon@vger.kernel.org +S: Supported +F: arch/hexagon/ + RADOS BLOCK DEVICE (RBD) F: include/linux/qnxtypes.h M: Yehuda Sadeh @@@ -5478,7 -5423,7 +5479,7 @@@ S: Maintaine F: drivers/net/ethernet/rdc/r6040.c RDS - RELIABLE DATAGRAM SOCKETS -M: Andy Grover +M: Venkat Venkatsubra L: rds-devel@oss.oracle.com (moderated for non-subscribers) S: Supported F: net/rds/ @@@ -6129,7 -6074,7 +6130,7 @@@ F: sound SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEMENT (ASoC) M: Liam Girdwood M: Mark Brown -T: git git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git L: alsa-devel@alsa-project.org (moderated for non-subscribers) W: http://alsa-project.org/main/index.php/ASoC S: Supported @@@ -6708,6 -6653,7 +6709,6 @@@ F: drivers/net/ethernet/8390/ne-h8300. UDF FILESYSTEM M: Jan Kara -W: http://linux-udf.sourceforge.net S: Maintained F: Documentation/filesystems/udf.txt F: fs/udf/ diff --combined drivers/media/video/v4l2-ctrls.c index f17f92b86a30,2ece7093b513..0f415dade05a --- a/drivers/media/video/v4l2-ctrls.c +++ b/drivers/media/video/v4l2-ctrls.c @@@ -20,7 -20,6 +20,7 @@@ #include #include +#include #include #include #include @@@ -821,8 -820,8 +821,8 @@@ static void send_event(struct v4l2_fh * fill_event(&ev, ctrl, changes); list_for_each_entry(sev, &ctrl->ev_subs, node) - if (sev->fh && (sev->fh != fh || - (sev->flags & V4L2_EVENT_SUB_FL_ALLOW_FEEDBACK))) + if (sev->fh != fh || + (sev->flags & V4L2_EVENT_SUB_FL_ALLOW_FEEDBACK)) v4l2_event_queue_fh(sev->fh, &ev); } @@@ -947,6 -946,7 +947,7 @@@ static void new_to_cur(struct v4l2_fh * if (ctrl->cluster[0]->has_volatiles) ctrl->flags |= V4L2_CTRL_FLAG_VOLATILE; } + fh = NULL; } if (changed || update_inactive) { /* If a control was changed that was not one of the controls diff --combined drivers/media/video/v4l2-event.c index 46037f225529,3d93251f292e..c26ad9637143 --- a/drivers/media/video/v4l2-event.c +++ b/drivers/media/video/v4l2-event.c @@@ -29,7 -29,6 +29,7 @@@ #include #include +#include static unsigned sev_pos(const struct v4l2_subscribed_event *sev, unsigned idx) { @@@ -216,6 -215,9 +216,9 @@@ int v4l2_event_subscribe(struct v4l2_f unsigned long flags; unsigned i; + if (sub->type == V4L2_EVENT_ALL) + return -EINVAL; + if (elems < 1) elems = 1; if (sub->type == V4L2_EVENT_CTRL) { @@@ -283,6 -285,7 +286,7 @@@ int v4l2_event_unsubscribe(struct v4l2_ { struct v4l2_subscribed_event *sev; unsigned long flags; + int i; if (sub->type == V4L2_EVENT_ALL) { v4l2_event_unsubscribe_all(fh); @@@ -293,8 -296,12 +297,12 @@@ sev = v4l2_event_subscribed(fh, sub->type, sub->id); if (sev != NULL) { + /* Remove any pending events for this subscription */ + for (i = 0; i < sev->in_use; i++) { + list_del(&sev->events[sev_pos(sev, i)].list); + fh->navailable--; + } list_del(&sev->list); - sev->fh = NULL; } spin_unlock_irqrestore(&fh->vdev->fh_lock, flags);