commit 7d3b56ba37a95f1f370f50258ed3954c304c524b Merge: 269b012... ab14398... Author: Linus Torvalds Date: Sat Jan 3 12:04:39 2009 -0800 Merge branch 'cpus4096-for-linus-3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'cpus4096-for-linus-3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (77 commits) x86: setup_per_cpu_areas() cleanup cpumask: fix compile error when CONFIG_NR_CPUS is not defined cpumask: use alloc_cpumask_var_node where appropriate cpumask: convert shared_cpu_map in acpi_processor* structs to cpumask_var_t x86: use cpumask_var_t in acpi/boot.c x86: cleanup some remaining usages of NR_CPUS where s/b nr_cpu_ids sched: put back some stack hog changes that were undone in kernel/sched.c x86: enable cpus display of kernel_max and offlined cpus ia64: cpumask fix for is_affinity_mask_valid() cpumask: convert RCU implementations, fix xtensa: define __fls mn10300: define __fls m32r: define __fls h8300: define __fls frv: define __fls cris: define __fls cpumask: CONFIG_DISABLE_OBSOLETE_CPUMASK_FUNCTIONS cpumask: zero extra bits in alloc_cpumask_var_node cpumask: replace for_each_cpu_mask_nr with for_each_cpu in kernel/time/ cpumask: convert mm/ ... commit 269b012321f2f1f8e4648c43a93bf432b42c6668 Merge: f60a0a7... 065a6d6... Author: Linus Torvalds Date: Sat Jan 3 12:03:52 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu: (89 commits) AMD IOMMU: remove now unnecessary #ifdefs AMD IOMMU: prealloc_protection_domains should be static kvm/iommu: fix compile warning AMD IOMMU: add statistics about total number of map requests AMD IOMMU: add statistics about allocated io memory AMD IOMMU: add stats counter for domain tlb flushes AMD IOMMU: add stats counter for single iommu domain tlb flushes AMD IOMMU: add stats counter for cross-page request AMD IOMMU: add stats counter for free_coherent requests AMD IOMMU: add stats counter for alloc_coherent requests AMD IOMMU: add stats counter for unmap_sg requests AMD IOMMU: add stats counter for map_sg requests AMD IOMMU: add stats counter for unmap_single requests AMD IOMMU: add stats counter for map_single requests AMD IOMMU: add stats counter for completion wait events AMD IOMMU: add init code for statistic collection AMD IOMMU: add necessary header defines for stats counting AMD IOMMU: add Kconfig entry for statistic collection code AMD IOMMU: use dev_name in iommu_enable function AMD IOMMU: use calc_devid in prealloc_protection_domains ... commit f60a0a79846abed04ad5abddb5dafd14b66e1ab0 Merge: 2f98357... b15dd79... Author: Linus Torvalds Date: Sat Jan 3 12:02:18 2009 -0800 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (34 commits) V4L/DVB (10173): Missing v4l2_prio_close in radio_release V4L/DVB (10172): add DVB_DEVICE_TYPE= to uevent V4L/DVB (10171): Use usb_set_intfdata V4L/DVB (10170): tuner-simple: prevent possible OOPS caused by divide by zero error V4L/DVB (10168): sms1xxx: fix inverted gpio for lna control on tiger r2 V4L/DVB (10167): sms1xxx: add support for inverted gpio V4L/DVB (10166): dvb frontend: stop using non-C99 compliant comments V4L/DVB (10165): Add FE_CAN_2G_MODULATION flag to frontends that support DVB-S2 V4L/DVB (10164): Add missing S2 caps flag to S2API V4L/DVB (10163): em28xx: allocate adev together with struct em28xx dev V4L/DVB (10162): tuner-simple: Fix tuner type set message V4L/DVB (10161): saa7134: fix autodetection for AVer TV GO 007 FM Plus V4L/DVB (10160): em28xx: update chip id for em2710 V4L/DVB (10157): Add USB ID for the Sil4701 radio from DealExtreme V4L/DVB (10156): saa7134: Add support for Avermedia AVer TV GO 007 FM Plus V4L/DVB (10155): Add TEA5764 radio driver V4L/DVB (10154): saa7134: fix a merge conflict on Behold H6 board V4L/DVB (10153): Add the Beholder H6 card to DVB-T part of sources. V4L/DVB (10152): Change configuration of the Beholder H6 card V4L/DVB (10151): Fix I2C bridge error in zl10353 ... commit 2f983570010a0dcb26d988da02d7ccfad00c807c Author: Yinghai Lu Date: Sat Jan 3 00:06:34 2009 -0800 sparseirq: move set/get_timer_rand_state back to .c those two functions only used in that C file Signed-off-by: Yinghai Lu Signed-off-by: Linus Torvalds commit e9e67a8b579d9605a3d06f7430dbb40465c97bf1 Merge: ad6b646... 418f19e... Author: Linus Torvalds Date: Sat Jan 3 12:00:07 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: mmc: warn about voltage mismatches mmc_spi: Add support for OpenFirmware bindings pxamci: fix dma_unmap_sg length mmc_block: ensure all sectors that do not have errors are read drivers/mmc: Move a dereference below a NULL test sdhci: handle built-in sdhci with modular leds class mmc: balanc pci_iomap with pci_iounmap mmc_block: print better error messages mmc: Add mmc_vddrange_to_ocrmask() helper function ricoh_mmc: Handle newer models of Ricoh controllers mmc: Add 8-bit bus width support sdhci: activate led support also when module mmc: trivial annotation of 'blocks' pci: use pci_ioremap_bar() in drivers/mmc sdricoh_cs: Add support for Bay Controller devices mmc: at91_mci: reorder timer setup and mmc_add_host() call commit ad6b646fe55c40ec193240b974561f0a3775d68d Merge: 61420f5... 006948b... Author: Linus Torvalds Date: Sat Jan 3 11:59:13 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] Add support for the WM8350 watchdog [WATCHDOG] Add SMSC SCH311x Watchdog Timer. [WATCHDOG] ib700wdt - add timeout parameter commit 61420f59a589c0668f70cbe725785837c78ece90 Merge: d97106a... c742b31... Author: Linus Torvalds Date: Sat Jan 3 11:56:24 2009 -0800 Merge branch 'cputime' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'cputime' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: [PATCH] fast vdso implementation for CLOCK_THREAD_CPUTIME_ID [PATCH] improve idle cputime accounting [PATCH] improve precision of idle time detection. [PATCH] improve precision of process accounting. [PATCH] idle cputime accounting [PATCH] fix scaled & unscaled cputime accounting commit d97106ab53f812910a62d18afb9dbe882819c1ba Author: Linus Torvalds Date: Sat Jan 3 11:46:17 2009 -0800 Make %p print '(null)' for NULL pointers Before, when we only ever printed out the pointer value itself, a NULL pointer would never cause issues and might as well be printed out as just its numeric value. However, with the extended %p formats, especially %pR, we might validly want to print out resources for debugging. And sometimes they don't even exist, and the resource pointer is just NULL. Print it out as such, rather than oopsing. This is a more generic version of a patch done by Trent Piepho (catching all %p cases rather than just %pR, and using "(null)" instead of "[NULL]" to match glibc). Requested-by: Trent Piepho Acked-by: Harvey Harrison Signed-off-by: Linus Torvalds commit 3bfacef412b4bc993a8992217e50f1245f2fd3a6 Author: Al Viro Date: Sat Jan 3 07:16:33 2009 +0000 get rid of special-casing the /sbin/loader on alpha ... just make it a binfmt handler like #! one. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 17580d7f2f632ff8c9786d609508c35c9f56e1f3 Author: Al Viro Date: Sat Jan 3 07:16:23 2009 +0000 sanitize ifdefs in binfmt_aout They are actually alpha vs. i386/arm/m68k i.e. ecoff vs. aout. In the only place where we actually tried to handle arm and i386/m68k in different ways (START_DATA() in coredump handling), the arm variant works for all of them (i386 and m68k have u.start_code set to 0). Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit fe30af971d896c144ef4708f97cf9d3186303c42 Author: Al Viro Date: Sat Jan 3 07:16:13 2009 +0000 remove the rudiment of a.out for sparc it's been used only in sunos compat Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit e0b685d39a0404e7f87fb7b7808c3b37a115fe11 Author: Hugh Blemings Date: Sat Jan 3 16:48:44 2009 +1100 Updated contact info for CREDITS file This updates some personal info in the CREDITS file. I'm no longer actively involved in Keyspan driver work so shouldn't really be listed as a Maintainer here. I do however field the occasional question on them and as I'm dropping the misc.nu domain, want to ensure people can find me should they need to. Signed-off-by: Hugh Blemings Signed-off-by: Linus Torvalds commit ab14398abd195af91a744c320a52a1bce814dd1e Author: Cyrill Gorcunov Date: Fri Jan 2 21:51:32 2009 +0300 x86: setup_per_cpu_areas() cleanup Impact: cleanup __alloc_bootmem and __alloc_bootmem_node do panic for us in case of fail so no need for additional checks here. Also lets use pr_*() macros for printing. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 8fd2d2d5aaf086cfa3b2e2e58cab96b7afdc9e51 Author: Mike Travis Date: Wed Dec 31 18:08:48 2008 -0800 cpumask: fix compile error when CONFIG_NR_CPUS is not defined CONFIG_NR_CPUS will be defined for all arch's whether SMP or not, but it may not have made it into all arches yet. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 80855f7361eb68205e6bc1981928629d9b02d5c9 Author: Mike Travis Date: Wed Dec 31 18:08:47 2008 -0800 cpumask: use alloc_cpumask_var_node where appropriate Impact: Reduce inter-node memory traffic. Reduces inter-node memory traffic (offloading the global system bus) by allocating referenced struct cpumasks on the same node as the referring struct. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 2fdf66b491ac706657946442789ec644cc317e1a Author: Rusty Russell Date: Wed Dec 31 18:08:47 2008 -0800 cpumask: convert shared_cpu_map in acpi_processor* structs to cpumask_var_t Impact: Reduce memory usage, use new API. This is part of an effort to reduce structure sizes for machines configured with large NR_CPUS. cpumask_t gets replaced by cpumask_var_t, which is either struct cpumask[1] (small NR_CPUS) or struct cpumask * (large NR_CPUS). (Changes to powernow-k* by .) Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit ee943a82b697456f9d2ac46f1e6d230beedb4b6c Author: Rusty Russell Date: Wed Dec 31 18:08:47 2008 -0800 x86: use cpumask_var_t in acpi/boot.c Impact: reduce stack size, use new API. Replace cpumask_t with cpumask_var_t. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 9628937d5b37169151c5f6bbd40919c6ac958a46 Author: Mike Travis Date: Wed Dec 31 18:08:46 2008 -0800 x86: cleanup some remaining usages of NR_CPUS where s/b nr_cpu_ids Impact: Reduce future system panics due to cpumask operations using NR_CPUS Insure that code does not look at bits >= nr_cpu_ids as when cpumasks are allocated based on nr_cpu_ids, these extra bits will not be defined. Also some other minor updates: * change in to use cpu accessor function set_cpu_present() instead of directly accessing cpu_present_map w/cpu_clear() [arch/x86/kernel/reboot.c] * use cpumask_of() instead of &cpumask_of_cpu() [arch/x86/kernel/reboot.c] * optimize some cpu_mask_to_apicid_and functions. Signed-off-by: Mike Travis Acked-by: Rusty Russell Signed-off-by: Ingo Molnar commit 6ca09dfc9f180d038dcef93c167a833f43a8246f Author: Mike Travis Date: Wed Dec 31 18:08:45 2008 -0800 sched: put back some stack hog changes that were undone in kernel/sched.c Impact: prevents panic from stack overflow on numa-capable machines. Some of the "removal of stack hogs" changes in kernel/sched.c by using node_to_cpumask_ptr were undone by the early cpumask API updates, and causes a panic due to stack overflow. This patch undoes those changes by using cpumask_of_node() which returns a 'const struct cpumask *'. In addition, cpu_coregoup_map is replaced with cpu_coregroup_mask further reducing stack usage. (Both of these updates removed 9 FIXME's!) Also: Pick up some remaining changes from the old 'cpumask_t' functions to the new 'struct cpumask *' functions. Optimize memory traffic by allocating each percpu local_cpu_mask on the same node as the referring cpu. Signed-off-by: Mike Travis Acked-by: Rusty Russell Signed-off-by: Ingo Molnar commit 730cf27246225d56ca1603b2f3c4fdbf882d4e51 Author: Mike Travis Date: Wed Dec 31 18:08:45 2008 -0800 x86: enable cpus display of kernel_max and offlined cpus Impact: enables /sys/devices/system/cpu/{kernel_max,offline} user interface By setting total_cpus, the drivers/base/cpu.c will display the values of kernel_max (NR_CPUS-1) and the offlined cpu map. Signed-off-by: Mike Travis Acked-by: Rusty Russell Signed-off-by: Ingo Molnar commit 6bdf197b04b3ae7c85785bc5a9576f1bcb0ac7c0 Author: Ingo Molnar Date: Sat Jan 3 12:50:46 2009 +0100 ia64: cpumask fix for is_affinity_mask_valid() Impact: build fix on ia64 ia64's default_affinity_write() still had old cpumask_t usage: /home/mingo/tip/kernel/irq/proc.c: In function `default_affinity_write': /home/mingo/tip/kernel/irq/proc.c:114: error: incompatible type for argument 1 of `is_affinity_mask_valid' make[3]: *** [kernel/irq/proc.o] Error 1 make[3]: *** Waiting for unfinished jobs.... update it to cpumask_var_t. Signed-off-by: Ingo Molnar commit 263ec6457bb23d57b575ede18ff6c3d11e0b4e96 Author: Ingo Molnar Date: Sat Jan 3 13:16:09 2009 +0100 cpumask: convert RCU implementations, fix Impact: cleanup This warning: kernel/rcuclassic.c: In function ‘rcu_start_batch’: kernel/rcuclassic.c:397: warning: passing argument 1 of ‘cpumask_andnot’ from incompatible pointer type triggers because one usage site of rcp->cpumask was not converted to to_cpumask(rcp->cpumask). There's no ill effects of this bug. Signed-off-by: Ingo Molnar commit e465b535ce5b2318798c68e1454917204494bfe3 Merge: 7eb1955... 5ece5c5... Author: Ingo Molnar Date: Sat Jan 3 18:54:51 2009 +0100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask into cpus4096-v2 commit 7eb19553369c46cc1fa64caf120cbcab1b597f7c Merge: 6092848... 8c384cd... Author: Mike Travis Date: Wed Dec 31 17:34:16 2008 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask into merge-rr-cpumask Conflicts: arch/x86/kernel/io_apic.c kernel/rcuclassic.c kernel/sched.c kernel/time/tick-sched.c Signed-off-by: Mike Travis [ mingo@elte.hu: backmerged typo fix for io_apic.c ] Signed-off-by: Ingo Molnar commit 065a6d68c71af2a3bdd080fa5aa353b76eede8f5 Author: Joerg Roedel Date: Sat Jan 3 14:16:35 2009 +0100 AMD IOMMU: remove now unnecessary #ifdefs The #ifdef's are no longer necessary when the iommu-api and the amd iommu updates are merged together. Signed-off-by: Joerg Roedel commit b0a11f44aba631fd4b898b620c93cc2096f3f15c Merge: 7398ca7... 0e93dd8... Author: Joerg Roedel Date: Sat Jan 3 16:43:44 2009 +0100 Merge branches 'iommu/api' and 'iommu/amd' into for-linus commit 0e93dd883537e628b809a2120854cd591c8935f1 Author: Jaswinder Singh Rajput Date: Mon Dec 29 21:45:22 2008 +0530 AMD IOMMU: prealloc_protection_domains should be static Impact: cleanup, reduce kernel size a bit, avoid sparse warning Fixes sparse warning: arch/x86/kernel/amd_iommu.c:1299:6: warning: symbol 'prealloc_protection_domains' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Joerg Roedel commit 7398ca79d227f7cd7f2ce23f08624e30081dcb4e Author: Joerg Roedel Date: Sat Jan 3 16:37:53 2009 +0100 kvm/iommu: fix compile warning This fixes a compile warning about a variable thats maybe used uninitialized in the function. Signed-off-by: Joerg Roedel commit 8ecaf8f19f0f0627d6ac6d69ed9472e7d307f35b Author: Joerg Roedel Date: Fri Dec 12 16:13:04 2008 +0100 AMD IOMMU: add statistics about total number of map requests Impact: see total number of map requests in debugfs Signed-off-by: Joerg Roedel commit 5774f7c5fef2526bfa58eab628fbe91dce5e07b1 Author: Joerg Roedel Date: Fri Dec 12 15:57:30 2008 +0100 AMD IOMMU: add statistics about allocated io memory Impact: see amount of allocated io memory in debugfs Signed-off-by: Joerg Roedel commit 18811f55d48e5f3ee70c4744c592f940022fa592 Author: Joerg Roedel Date: Fri Dec 12 15:48:28 2008 +0100 AMD IOMMU: add stats counter for domain tlb flushes Impact: see number of domain tlb flushes in debugfs Signed-off-by: Joerg Roedel commit f57d98ae6979f7bcbf758023b4716f485385f903 Author: Joerg Roedel Date: Fri Dec 12 15:46:29 2008 +0100 AMD IOMMU: add stats counter for single iommu domain tlb flushes Impact: see number of single iommu domain tlb flushes in debugfs Signed-off-by: Joerg Roedel commit c1858976f5ef05122bb671f678beaf7e1fe1dd74 Author: Joerg Roedel Date: Fri Dec 12 15:42:39 2008 +0100 AMD IOMMU: add stats counter for cross-page request Impact: see number of requests for more than one page in debugfs Signed-off-by: Joerg Roedel commit 5d31ee7e08b7713596b999a42e67491bdf3665b3 Author: Joerg Roedel Date: Fri Dec 12 15:16:38 2008 +0100 AMD IOMMU: add stats counter for free_coherent requests Impact: see number of free_coherent requests in debugfs Signed-off-by: Joerg Roedel commit c8f0fb36bffa9e21d214a2910b825567d52bfc2c Author: Joerg Roedel Date: Fri Dec 12 15:14:21 2008 +0100 AMD IOMMU: add stats counter for alloc_coherent requests Impact: see number of alloc_coherent requests in debugfs Signed-off-by: Joerg Roedel commit 55877a6bcdf0843414eecc658550c6551f5b5e1d Author: Joerg Roedel Date: Fri Dec 12 15:12:14 2008 +0100 AMD IOMMU: add stats counter for unmap_sg requests Impact: see number of unmap_sg requests in debugfs Signed-off-by: Joerg Roedel commit d03f067a9d0a1cc09529427af9a15e15d32ba1de Author: Joerg Roedel Date: Fri Dec 12 15:09:48 2008 +0100 AMD IOMMU: add stats counter for map_sg requests Impact: see number of map_sg requests in debugfs Signed-off-by: Joerg Roedel commit 146a6917fc30616401a090f55cff2b855ee5b2ab Author: Joerg Roedel Date: Fri Dec 12 15:07:12 2008 +0100 AMD IOMMU: add stats counter for unmap_single requests Impact: see number of unmap_single requests in debugfs Signed-off-by: Joerg Roedel commit 0f2a86f200bc97ae6cefc5d3ac879094b3fcde48 Author: Joerg Roedel Date: Fri Dec 12 15:05:16 2008 +0100 AMD IOMMU: add stats counter for map_single requests Impact: see number of map_single requests in debugfs Signed-off-by: Joerg Roedel commit da49f6df726ecaaee87757e8b65a560679d32f99 Author: Joerg Roedel Date: Fri Dec 12 14:59:58 2008 +0100 AMD IOMMU: add stats counter for completion wait events Impact: see number of completion wait events in debugfs Signed-off-by: Joerg Roedel commit 7f26508bbb76ce86aad1130ef6b7f1a4bb7de0c2 Author: Joerg Roedel Date: Fri Dec 12 13:50:21 2008 +0100 AMD IOMMU: add init code for statistic collection Impact: create a new debugfs directory Signed-off-by: Joerg Roedel commit a9dddbe0497ab0df7ee729e8d4cb0ee2dec3e4ba Author: Joerg Roedel Date: Fri Dec 12 12:33:06 2008 +0100 AMD IOMMU: add necessary header defines for stats counting Impact: add defines to make iommu stats collection configurable Signed-off-by: Joerg Roedel commit 2e117604a4e8f3f9cee4aec3373b0382159e152a Author: Joerg Roedel Date: Thu Dec 11 19:00:12 2008 +0100 AMD IOMMU: add Kconfig entry for statistic collection code Impact: adds new Kconfig entry Signed-off-by: Joerg Roedel commit a4e267c88b4acfc87ff2ab0cc8e9509878e9aaba Author: Joerg Roedel Date: Wed Dec 10 20:04:18 2008 +0100 AMD IOMMU: use dev_name in iommu_enable function Impact: cleanup Signed-off-by: Joerg Roedel commit edcb34da259c503a2ffd37e51a658672ba3bc7a2 Author: Joerg Roedel Date: Wed Dec 10 20:01:45 2008 +0100 AMD IOMMU: use calc_devid in prealloc_protection_domains Impact: cleanup Signed-off-by: Joerg Roedel commit c226f853091577e665ebc02c064af4834d8d4f28 Author: Joerg Roedel Date: Fri Dec 12 13:53:54 2008 +0100 AMD IOMMU: convert amd_iommu_isolate to bool Impact: cleanup Signed-off-by: Joerg Roedel commit 0cfd7aa90be83a4d278810d231f9ef03f189b4f0 Author: Joerg Roedel Date: Wed Dec 10 19:58:00 2008 +0100 AMD IOMMU: convert iommu->need_sync to bool Impact: use bool instead of int for iommu->need_sync Signed-off-by: Joerg Roedel commit ab896722867602eb0e836717e8b857ad513800d8 Author: Joerg Roedel Date: Wed Dec 10 19:43:07 2008 +0100 AMD IOMMU: use dev_name instead of self-build print_devid Impact: use generic dev_name instead of own function Signed-off-by: Joerg Roedel commit 1ac4cbbc5eb56de96d264d10f464ba5222815b1b Author: Joerg Roedel Date: Wed Dec 10 19:33:26 2008 +0100 AMD IOMMU: allocate a new protection for hotplugged devices Impact: also hotplug devices benefit from device isolation Signed-off-by: Joerg Roedel commit e2dc14a2a6c9a83baaafc51f06b7e73cec2167be Author: Joerg Roedel Date: Wed Dec 10 18:48:59 2008 +0100 AMD IOMMU: add a domain flag for default domains Impact: adds a new protection domain flag Signed-off-by: Joerg Roedel commit 26961efe0dab9ca73f8fc3b6137b814252e04972 Author: Joerg Roedel Date: Wed Dec 3 17:00:17 2008 +0100 AMD IOMMU: register functions for the IOMMU API Signed-off-by: Joerg Roedel commit 645c4c8d7289a718c9c828ec217f2b94e3b3e6ff Author: Joerg Roedel Date: Tue Dec 2 20:05:50 2008 +0100 AMD IOMMU: add domain address lookup function for IOMMU API Impact: add a generic function to lockup addresses in protection domains Signed-off-by: Joerg Roedel commit eb74ff6cc0080c7f6270fdfffba65c4eff23d3ad Author: Joerg Roedel Date: Tue Dec 2 19:59:10 2008 +0100 AMD IOMMU: add domain unmap function for IOMMU API Impact: add a generic function to unmap pages into protection domains Signed-off-by: Joerg Roedel commit c6229ca649aa9b312d1f1de20af8d2603b14eead Author: Joerg Roedel Date: Tue Dec 2 19:48:43 2008 +0100 AMD IOMMU: add domain map function for IOMMU API Impact: add a generic function to map pages into protection domains Signed-off-by: Joerg Roedel commit 01106066a6900b518debe990ddaadf376d433bd6 Author: Joerg Roedel Date: Tue Dec 2 19:34:11 2008 +0100 AMD IOMMU: add device attach function for IOMMU API Impact: add a generic function to attach devices to protection domains Signed-off-by: Joerg Roedel commit 684f2888847b896faafed87ce4733501d2cc283c Author: Joerg Roedel Date: Mon Dec 8 12:07:44 2008 +0100 AMD IOMMU: add device detach function for IOMMU API Impact: add a generic function to detach devices from protection domains Signed-off-by: Joerg Roedel commit 98383fc301c6546af0f3a8a1d3cb8bf218f7e940 Author: Joerg Roedel Date: Tue Dec 2 18:34:12 2008 +0100 AMD IOMMU: add domain destroy function for IOMMU API Impact: add a generic function for releasing protection domains Signed-off-by: Joerg Roedel commit c156e347d6d3c36b6843c3b168eda61b9a02c827 Author: Joerg Roedel Date: Tue Dec 2 18:13:27 2008 +0100 AMD IOMMU: add domain init function for IOMMU API Impact: add a generic function for allocation protection domains Signed-off-by: Joerg Roedel commit 6d98cd8043c13438e4ca8a9464893f0224198a30 Author: Joerg Roedel Date: Mon Dec 8 12:05:55 2008 +0100 AMD IOMMU: add domain cleanup helper function Impact: add a function to remove all devices from a domain Signed-off-by: Joerg Roedel commit e275a2a0fc9e2168b15f6c7814e30b7ad58b1c7c Author: Joerg Roedel Date: Wed Dec 10 18:27:25 2008 +0100 AMD IOMMU: add device notifier callback Impact: inform IOMMU about state change of a device in the driver core Signed-off-by: Joerg Roedel commit 355bf553edb7fe21ada51f62c849180bec6da877 Author: Joerg Roedel Date: Mon Dec 8 12:02:41 2008 +0100 AMD IOMMU: add device detach helper functions Impact: add helper functions to detach a device from a domain Signed-off-by: Joerg Roedel commit f1179dc005ee2b0e55c3f74f3552c3e9ef852265 Author: Joerg Roedel Date: Wed Dec 10 14:39:51 2008 +0100 AMD IOMMU: rename set_device_domain function Impact: rename set_device_domain() to attach_device() Signed-off-by: Joerg Roedel commit 863c74ebd0152b21bc4b11c1447b5d1429287d37 Author: Joerg Roedel Date: Tue Dec 2 17:56:36 2008 +0100 AMD IOMMU: add device reference counting for protection domains Impact: know how many devices are assigned to a domain Signed-off-by: Joerg Roedel commit 5b28df6f43ac9878f310ad0cb7f11ddb262a7ac6 Author: Joerg Roedel Date: Tue Dec 2 17:49:42 2008 +0100 AMD IOMMU: add checks for dma_ops domain to dma_ops functions Impact: detect when a driver uses a device assigned otherwise Signed-off-by: Joerg Roedel commit 9fdb19d64c0247f23343b51fc85f438f8e7a2f3c Author: Joerg Roedel Date: Tue Dec 2 17:46:25 2008 +0100 AMD IOMMU: add protection domain flags Imapct: add a new struct member to 'struct protection_domain' When using protection domains for dma_ops and KVM its better to know for which subsystem it was allocated. Add a flags member to struct protection domain for that purpose. Signed-off-by: Joerg Roedel commit 43f4960983a309568a6c4375f081e63fb2ff24a3 Author: Joerg Roedel Date: Tue Dec 2 21:01:12 2008 +0100 AMD IOMMU: add iommu_flush_domain function Impact: add a function to flush a domain id on every IOMMU Signed-off-by: Joerg Roedel commit 9e919012e33c481991e46aa4cb13d807cd47b798 Author: Joerg Roedel Date: Wed Dec 10 20:05:52 2008 +0100 AMD IOMMU: don't remove protection domain from iommu_pd_list Impact: save unneeded logic to add and remove domains to the list The removal of a protection domain from the iommu_pd_list is not necessary. Another benefit is that we save complexity because we don't have to readd it later when the device no longer uses the domain. Signed-off-by: Joerg Roedel commit 237b6f33291394c337ae84e2d3782d5605803af2 Author: Joerg Roedel Date: Tue Dec 2 20:54:37 2008 +0100 AMD IOMMU: move invalidation command building to a separate function Impact: refactoring of iommu_queue_inv_iommu_pages Signed-off-by: Joerg Roedel commit 8d201968e15f56ae2837b0d0b64d3fff098857b0 Author: Joerg Roedel Date: Tue Dec 2 20:34:41 2008 +0100 AMD IOMMU: refactor completion wait handling into separate functions Impact: split one function into three The separate functions are required synchronize commands across all hardware IOMMUs in the system. Signed-off-by: Joerg Roedel commit a2acfb75792511a35586db80a38b8e4701a97730 Author: Joerg Roedel Date: Tue Dec 2 18:28:53 2008 +0100 AMD IOMMU: add domain id free function Impact: add code to release a domain id Signed-off-by: Joerg Roedel commit 86db2e5d47bfa61a151d6ac83263f4bde4d52290 Author: Joerg Roedel Date: Tue Dec 2 18:20:21 2008 +0100 AMD IOMMU: make dma_ops_free_pagetable generic Impact: change code to free pagetables from protection domains The dma_ops_free_pagetable function can only free pagetables from dma_ops domains. Change that to free pagetables of pure protection domains. Signed-off-by: Joerg Roedel commit 38e817febe2f12bd2fbf92a1df36f41946d0c223 Author: Joerg Roedel Date: Tue Dec 2 17:27:52 2008 +0100 AMD IOMMU: rename iommu_map to iommu_map_page Impact: function rename The iommu_map function maps only one page. Make this clear in the function name. Signed-off-by: Joerg Roedel commit cdc7b83726297b43deed0455d8732163cc59802a Author: Mike Day Date: Fri Dec 12 17:16:30 2008 +0100 intel-iommu: fix bit shift at DOMAIN_FLAG_P2P_MULTIPLE_DEVICES Signed-off-by: Mike Day Signed-off-by: Joerg Roedel commit e4754c96cf8b82a754dc5ba791d6c0bf1fbe8e8e Author: Joerg Roedel Date: Wed Dec 3 15:26:42 2008 +0100 VT-d: remove now unused intel_iommu_found function Signed-off-by: Joerg Roedel commit a8bcbb0de4a52f07fef7412ddc877348311ebf2a Author: Joerg Roedel Date: Wed Dec 3 15:14:02 2008 +0100 VT-d: register functions for the IOMMU API Signed-off-by: Joerg Roedel commit d14d65777c2491dd5baf1e17f444b8f653f3cbb1 Author: Joerg Roedel Date: Wed Dec 3 15:06:57 2008 +0100 VT-d: adapt domain iova_to_phys function for IOMMU API Signed-off-by: Joerg Roedel commit dde57a210dcdce85e2813bab8f88687761d9f6a6 Author: Joerg Roedel Date: Wed Dec 3 15:04:09 2008 +0100 VT-d: adapt domain map and unmap functions for IOMMU API Signed-off-by: Joerg Roedel commit 4c5478c94eb29e6101f1f13175f7455bc8b5d953 Author: Joerg Roedel Date: Wed Dec 3 14:58:24 2008 +0100 VT-d: adapt device attach and detach functions for IOMMU API Signed-off-by: Joerg Roedel commit 5d450806eb0e569c5846a5825e7f535980b0da32 Author: Joerg Roedel Date: Wed Dec 3 14:52:32 2008 +0100 VT-d: adapt domain init and destroy functions for IOMMU API Signed-off-by: Joerg Roedel commit 19de40a8472fa64693eab844911eec277d489f6c Author: Joerg Roedel Date: Wed Dec 3 14:43:34 2008 +0100 KVM: change KVM to use IOMMU API Signed-off-by: Joerg Roedel commit 1aaf118352b85bb359ce28070bcc478f659a7031 Author: Joerg Roedel Date: Wed Nov 26 17:25:13 2008 +0100 select IOMMU_API when DMAR and/or AMD_IOMMU is selected These two IOMMUs can implement the current version of this API. So select the API if one or both of these IOMMU drivers is selected. Signed-off-by: Joerg Roedel commit fc2100eb4d0960b56c2c705a97941c08fb1c0fd4 Author: Joerg Roedel Date: Wed Nov 26 17:21:24 2008 +0100 add frontend implementation for the IOMMU API This API can be used by KVM for accessing different types of IOMMUs to do device passthrough to guests. Beside that this API can also be used by device drivers to map non-linear host memory into dma-linear addresses to prevent sgather-gather DMA. UIO may be another user for this API. Signed-off-by: Joerg Roedel Acked-by: Greg Kroah-Hartman commit 4a77a6cf6d9bf9f5c74b27f62bd2bfe6dcc88392 Author: Joerg Roedel Date: Wed Nov 26 17:02:33 2008 +0100 introcude linux/iommu.h for an iommu api This patch introduces the API to abstract the exported VT-d functions for KVM into a generic API. This way the AMD IOMMU implementation can plug into this API later. Signed-off-by: Joerg Roedel commit c4fa3864281c7d88b7262cbc6cbd5c90bb59860e Author: Joerg Roedel Date: Wed Nov 26 15:51:19 2008 +0100 KVM: rename vtd.c to iommu.c Impact: file renamed The code in the vtd.c file can be reused for other IOMMUs as well. So rename it to make it clear that it handle more than VT-d. Signed-off-by: Joerg Roedel commit b653574a7d14b663cc812cb20be6a114939ba186 Author: Weidong Han Date: Mon Dec 8 23:29:53 2008 +0800 Deassign device in kvm_free_assgined_device In kvm_iommu_unmap_memslots(), assigned_dev_head is already empty. Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit 0a920356748df4fb06e86c21c23d2ed6d31d37ad Author: Weidong Han Date: Tue Dec 2 21:24:23 2008 +0800 KVM: support device deassignment Support device deassignment, it can be used in device hotplug. Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit 260782bcfdaaa7850f29d6bb2ec6603019168c57 Author: Weidong Han Date: Tue Dec 2 21:03:39 2008 +0800 KVM: use the new intel iommu APIs intel iommu APIs are updated, use the new APIs. In addition, change kvm_iommu_map_guest() to just create the domain, let kvm_iommu_assign_device() assign device. Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit fe40f1e020d0923f5f35ca15f02a206c75a28053 Author: Weidong Han Date: Mon Dec 8 23:10:23 2008 +0800 Check agaw is sufficient for mapped memory When domain is related to multiple iommus, need to check if the minimum agaw is sufficient for the mapped memory Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit faa3d6f5ffe7bf60ebfd0d36513fbcda0eb0ea1a Author: Weidong Han Date: Mon Dec 8 23:09:29 2008 +0800 Change intel iommu APIs of virtual machine domain These APIs are used by KVM to use VT-d Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit ea6606b02fc3192f2edab2db669fa0b9756b4e67 Author: Weidong Han Date: Mon Dec 8 23:08:15 2008 +0800 Change domain_context_mapping_one for virtual machine domain vm_domid won't be set in context, find available domain id for a device from its iommu. For a virtual machine domain, a default agaw will be set, and skip top levels of page tables for iommu which has less agaw than default. Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit 5e98c4b1d6e89676193c355e430eddf369bcf195 Author: Weidong Han Date: Mon Dec 8 23:03:27 2008 +0800 Allocation and free functions of virtual machine domain virtual machine domain is different from native DMA-API domain, implement separate allocation and free functions for virtual machine domain. Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit 5331fe6f5627e06eec7d0dc154a0a3a9c27813c5 Author: Weidong Han Date: Mon Dec 8 23:00:00 2008 +0800 Add domain_flush_cache Because virtual machine domain may have multiple devices from different iommus, it cannot use __iommu_flush_cache. In some common low level functions, use domain_flush_cache instead of __iommu_flush_cache. On the other hand, in some functions, iommu can is specified or domain cannot be got, still use __iommu_flush_cache Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit c7151a8dfefd11108de5b4293af2390962bcff71 Author: Weidong Han Date: Mon Dec 8 22:51:37 2008 +0800 Add/remove domain device info for virtual machine domain Add iommu reference count in domain, and add a lock to protect iommu setting including iommu_bmp, iommu_count and iommu_coherency. virtual machine domain may have multiple devices from different iommus, so it needs to do more things when add/remove domain device info. Thus implement separate these functions for virtual machine domain. Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit 1ce28feb22833645a0f3843cd873a0b56ed19ef0 Author: Weidong Han Date: Mon Dec 8 16:35:39 2008 +0800 Add domain flag DOMAIN_FLAG_VIRTUAL_MACHINE Add this flag for VT-d used in virtual machine, like KVM. Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit 8e604097ddc483eb1e6e99564953e4e937fe439a Author: Weidong Han Date: Mon Dec 8 15:49:06 2008 +0800 iommu coherency In dmar_domain, more than one iommus may be included in iommu_bmp. Due to "Coherency" capability may be different across iommus, set this variable to indicate iommu access is coherent or not. Only when all related iommus in a dmar_domain are all coherent, iommu access of this domain is coherent. Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit 1b5736839ae13dadc5947940144f95dd0f4a4a8c Author: Weidong Han Date: Mon Dec 8 15:34:06 2008 +0800 calculate agaw for each iommu "SAGAW" capability may be different across iommus. Use a default agaw, but if default agaw is not supported in some iommus, choose a less supported agaw. Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit 8c11e798eee2ce4475134eaf61302b28ea4f205d Author: Weidong Han Date: Mon Dec 8 15:29:22 2008 +0800 iommu bitmap instead of iommu pointer in dmar_domain In order to support assigning multiple devices from different iommus to a domain, iommu bitmap is used to keep all iommus the domain are related to. Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit a2bb8459fe46e5aaad6637b31b5593d740097cba Author: Weidong Han Date: Mon Dec 8 11:24:12 2008 +0800 Get iommu from g_iommus for deferred flush deferred_flush[] uses the iommu seq_id to index, so its iommu is fixed and can get it from g_iommus. Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit d9630fe941769dd050fbc38fbbac20a708ab9461 Author: Weidong Han Date: Mon Dec 8 11:06:32 2008 +0800 Add global iommu list Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit 3b5410e735b093060b96664230c6f9f4fe80b251 Author: Weidong Han Date: Mon Dec 8 09:17:15 2008 +0800 change P2P domain flags Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit d71a2f33ac466a437f316e7bb024d0175a7f3cd9 Author: Weidong Han Date: Sun Dec 7 21:13:41 2008 +0800 Initialize domain flags to 0 It's random number after the domain is allocated by kmem_cache_alloc Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit b15dd79ea06b04a7ecee95f62ce7b6a3547dbb0a Author: Udo Steinberg Date: Fri Jan 2 17:34:28 2009 -0300 V4L/DVB (10173): Missing v4l2_prio_close in radio_release The radio_release function of the BTTV driver is missing a call to v4l2_prio_close. As a result, after the radio device has been opened at least once (e.g., by HAL during bootup), v4l2_priority will never drop below V4L2_PRIORITY_INTERACTIVE again. With the following patch against 2.6.28, applications that run with V4L2_PRIORITY_BACKGROUND are able to open devices again. Previous Linux versions are affected as well. Signed-off-by: Udo Steinberg Signed-off-by: Mauro Carvalho Chehab commit 763d19bb90a005a339b7d5ba70a710bb17db2bab Author: Kay Sievers Date: Wed Dec 31 23:35:24 2008 -0300 V4L/DVB (10172): add DVB_DEVICE_TYPE= to uevent Signed-off-by: Kay Sievers Signed-off-by: Mauro Carvalho Chehab commit 03fb02c604d68156c0828e3950094f18ce529385 Author: Julia Lawall Date: Thu Jan 1 17:14:58 2009 -0300 V4L/DVB (10171): Use usb_set_intfdata This code had calls to both usb_set_intfdata and dev_set_drvdata, doing the same thing. The semantic patch that lead to finding this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @header@ @@ @same depends on header@ position p; @@ usb_set_intfdata@p(...) { ... } @depends on header@ position _p!=same.p; identifier _f; struct usb_interface *intf; expression data; @@ _f@_p(...) { <+... - dev_set_drvdata(&intf->dev, data); + usb_set_intfdata(intf, data); ...+> } // Signed-off-by: Julia Lawall Signed-off-by: Mauro Carvalho Chehab commit 2e824f79240476d57a8589f46232cabf151efe90 Author: Yu Zhao Date: Mon Dec 22 16:54:58 2008 +0800 VT-d: fix segment number being ignored when searching DRHD On platforms with multiple PCI segments, any of the segments can have a DRHD with INCLUDE_PCI_ALL flag. So need to check the DRHD's segment number against the PCI device's when searching its DRHD. Signed-off-by: Yu Zhao Signed-off-by: David Woodhouse Signed-off-by: Joerg Roedel commit 19c239ce3d089fee339d1ab7e97b43d6f0557ce5 Author: Mark McLoughlin Date: Fri Nov 21 16:56:53 2008 +0000 intel-iommu: trivially inline DMA PTE macros Signed-off-by: Mark McLoughlin Signed-off-by: David Woodhouse commit c07e7d217bef198422b7eface456ecfd4bb1ab87 Author: Mark McLoughlin Date: Fri Nov 21 16:54:46 2008 +0000 intel-iommu: trivially inline context entry macros Some macros were unused, so I just dropped them: context_fault_disable context_translation_type context_address_root context_address_width context_domain_id Signed-off-by: Mark McLoughlin Signed-off-by: David Woodhouse commit 2abd7e167c1b281f99bb58d302225872bfae9123 Author: Mark McLoughlin Date: Thu Nov 20 15:49:50 2008 +0000 intel-iommu: move iommu_prepare_gfx_mapping() out of dma_remapping.h Signed-off-by: Mark McLoughlin Signed-off-by: David Woodhouse commit 58fa7304a2c2bfd46e505c293ef779aa1d9715c2 Author: Mark McLoughlin Date: Thu Nov 20 15:49:49 2008 +0000 intel-iommu: kill off duplicate def of dmar_disabled This is only used in dmar.c and intel-iommu.h, so dma_remapping.h seems like the appropriate place for it. Signed-off-by: Mark McLoughlin Signed-off-by: David Woodhouse commit a647dacbb1389aa6a5fa631766c1eaea35905890 Author: Mark McLoughlin Date: Thu Nov 20 15:49:48 2008 +0000 intel-iommu: move struct device_domain_info out of dma_remapping.h Signed-off-by: Mark McLoughlin Signed-off-by: David Woodhouse commit 99126f7ce14aff5f9371b2fa81fddb82be815794 Author: Mark McLoughlin Date: Thu Nov 20 15:49:47 2008 +0000 intel-iommu: move struct dmar_domain def out dma_remapping.h Signed-off-by: Mark McLoughlin Signed-off-by: David Woodhouse commit 622ba12a4c2148999bda9b891bfd0c6ddcb6c57e Author: Mark McLoughlin Date: Thu Nov 20 15:49:46 2008 +0000 intel-iommu: move DMA PTE defs out of dma_remapping.h DMA_PTE_READ/WRITE are needed by kvm. Signed-off-by: Mark McLoughlin Signed-off-by: David Woodhouse commit 7a8fc25e0cc6e75fa6fdb0a856490e324218550b Author: Mark McLoughlin Date: Thu Nov 20 15:49:45 2008 +0000 intel-iommu: move context entry defs out from dma_remapping.h Signed-off-by: Mark McLoughlin Signed-off-by: David Woodhouse commit 46b08e1a76b758193b0e7b889c6486a16eb1e9e2 Author: Mark McLoughlin Date: Thu Nov 20 15:49:44 2008 +0000 intel-iommu: move root entry defs from dma_remapping.h We keep the struct root_entry forward declaration for the pointer in struct intel_iommu. Signed-off-by: Mark McLoughlin Signed-off-by: David Woodhouse commit f27be03b271851fd54529f292c0f25b4c1f1a553 Author: Mark McLoughlin Date: Thu Nov 20 15:49:43 2008 +0000 intel-iommu: move DMA_32/64BIT_PFN into intel-iommu.c Signed-off-by: Mark McLoughlin Signed-off-by: David Woodhouse commit 519a05491586dad04e687660e54c57882315b22b Author: Mark McLoughlin Date: Thu Nov 20 14:21:13 2008 +0000 intel-iommu: make init_dmars() static init_dmars() is not used outside of drivers/pci/intel-iommu.c Signed-off-by: Mark McLoughlin Signed-off-by: David Woodhouse commit 015ab17dc2e9de805c26e74f498b12ee5e8de07e Author: Mark McLoughlin Date: Thu Nov 20 14:04:20 2008 +0000 intel-iommu: remove some unused struct intel_iommu fields The seg, saved_msg and sysdev fields appear to be unused since before the code was first merged. linux/msi.h is not needed in linux/intel-iommu.h anymore since there is no longer a reference to struct msi_msg. The MSI code in drivers/pci/intel-iommu.c still has linux/msi.h included via linux/dmar.h. linux/sysdev.h isn't needed because there is no reference to struct sys_device. Signed-off-by: Mark McLoughlin Signed-off-by: David Woodhouse commit 5ece5c5192d065c229da01e7b347c1d3877b59fa Author: Rusty Russell Date: Sat Jan 3 16:21:08 2009 +1030 xtensa: define __fls Like fls, but can't be handed 0 and returns the bit number. Signed-off-by: Rusty Russell commit 5c134dad43443aa9c9606eaf47c378a6b9c5c597 Author: Rusty Russell Date: Sat Jan 3 16:19:03 2009 +1030 mn10300: define __fls Like fls, but can't be handed 0 and returns the bit number. Signed-off-by: Rusty Russell commit 16a206260ee70f181de6a3672678545859589ef2 Author: Rusty Russell Date: Sat Jan 3 16:16:54 2009 +1030 m32r: define __fls Like fls, but can't be handed 0 and returns the bit number. Signed-off-by: Rusty Russell commit 9ddabc2a29163e4b243d10c5e06fc5584073d7ad Author: Rusty Russell Date: Sat Jan 3 16:16:04 2009 +1030 h8300: define __fls Like fls, but can't be handed 0 and returns the bit number. Signed-off-by: Rusty Russell commit ee38e5140bafbf40e1bd25ab917ac8db54a27799 Author: Rusty Russell Date: Sat Jan 3 16:14:05 2009 +1030 frv: define __fls Like fls, but can't be handed 0 and returns the bit number. Signed-off-by: Rusty Russell commit 0999769e6cad9b0e5abb7c513c0c3f16821f0884 Author: Rusty Russell Date: Sat Jan 3 15:37:14 2009 +1030 cris: define __fls Like fls, but can't be handed 0 and returns the bit number. Signed-off-by: Rusty Russell commit 8e3bda0863c1578ddf47a015eac7dc6efb1ef48b Merge: 574c3fd... 8e5033a... Author: Linus Torvalds Date: Fri Jan 2 15:57:47 2009 -0800 Merge branch 'linux-next' of git://git.infradead.org/ubifs-2.6 * 'linux-next' of git://git.infradead.org/ubifs-2.6: (33 commits) UBIFS: add more useful debugging prints UBIFS: print debugging messages properly UBIFS: fix numerous spelling mistakes UBIFS: allow mounting when short of space UBIFS: fix writing uncompressed files UBIFS: fix checkpatch.pl warnings UBIFS: fix sparse warnings UBIFS: simplify make_free_space UBIFS: do not lie about used blocks UBIFS: restore budg_uncommitted_idx UBIFS: always commit on unmount UBIFS: use ubi_sync UBIFS: always commit in sync_fs UBIFS: fix file-system synchronization UBIFS: fix constants initialization UBIFS: avoid unnecessary calculations UBIFS: re-calculate min_idx_size after the commit UBIFS: use nicer 64-bit math UBIFS: fix available blocks count UBIFS: various comment improvements and fixes ... commit 574c3fdae3890e60f8bc59e8107686944ba1e446 Merge: 56635f7... f2863c5... Author: Linus Torvalds Date: Fri Jan 2 15:57:26 2009 -0800 Merge branch 'linux-next' of git://git.infradead.org/~dedekind/ubi-2.6 * 'linux-next' of git://git.infradead.org/~dedekind/ubi-2.6: UBI: fix checkpatch.pl warnings UBI: simplify PEB protection code UBI: prepare for protection tree improvements UBI: return -ENOMEM upon failing vmalloc UBI: document UBI ioctls UBI: handle write errors in WL worker UBI: fix error path UBI: some code re-structuring UBI: fix deadlock UBI: fix warnings when debugging is enabled commit 56635f7e6197404d7363f8dcaa7a97abf57276fb Merge: a8e7823... b67ff8c... Author: Linus Torvalds Date: Fri Jan 2 15:56:54 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next: kbuild: ignore a few files in headers_check kbuild: add checks for include of linux/types in userspace headers kbuild: drop debugging leftover in tags.sh kbuild: document environment variables kbuild: make *config usage docs kbuild: disable sparse warning "returning void-valued expression" kbuild: in headers_install autoconvert asm/inline/volatile to __xxx__ kbuild: check for leaked CONFIG_ symbols to userspace headers_check.pl: disallow extern's kconfig: improve error messages for bad source statements kconfig: struct property commented kconfig: add comments to symbol flags kconfig: explain symbol value defaults m68k: fix recursive dependency in Kconfig commit a8e782348d9f0dc64f6adb81f5f6959921949f13 Merge: 6680598... 47dabdc... Author: Linus Torvalds Date: Fri Jan 2 15:33:12 2009 -0800 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (27 commits) x86: mpparse.c fix style problems x86: nmi.c fix style problems x86: ldt.c fix style problems x86: cpuid.c fix style problems x86, UV: remove erroneous BAU initialization x86: fix incorrect __read_mostly on _boot_cpu_pda x86: convert permanent_kmaps_init() from macro to inline x86: early_printk - use sizeof instead of hardcoded number x86: xsave.c: restore_user_xstate should be static x86: uv_bau.h: fix dubious bitfield x86: apic.c: xapic_icr_read and x2apic_icr_read should be static x86: bios_uv.c: uv_systab should be static x86: genx2apic_phys.c: x2apic_send_IPI_self and init_x2apic_ldr should be static x86: amd_iommu.c: prealloc_protection_domains should be static x86: amd_iommu_init.c: iommu_enable and iommu_enable_event_logging should be static x86, pci: move arch/x86/pci/pci.h to arch/x86/include/asm/pci_x86.h x86_64: pci-gart_64.c iommu_fullflush should be static x86: efi.c declare add_efi_memmap before they get used x86: io_apic.c io_apic_sync should be static x86: apic.c declare pic_mode before they get used ... commit 47dabdc7fcd4daa52dcda72a1f18603dd168355d Merge: 923a789... 46814dd... Author: Ingo Molnar Date: Fri Jan 2 22:41:52 2009 +0100 Merge branches 'x86/cleanups', 'x86/fpu' and 'x86/urgent' into x86/core commit 923a789b49c7269a0245d5af6afe486188d940df Merge: 103ceff... b840d79... Author: Ingo Molnar Date: Fri Jan 2 22:41:36 2009 +0100 Merge branch 'linus' into x86/cleanups Conflicts: arch/x86/kernel/reboot.c commit 6680598b44ed3c0052d155522eb21fc5a00de5f3 Author: Ingo Molnar Date: Fri Jan 2 18:53:14 2009 +0100 Disallow gcc versions 3.{0,1} GCC 3.0 and 3.1 are too old to build a working kernel. Signed-off-by: Ingo Molnar [ This check got dropped as obsolete when I simplified the gcc header inclusion mess in f153b82121b0366fe0e5f9553545cce237335175, but Willy Tarreau reports actually having those old versions still.. -Linus ] Signed-off-by: Linus Torvalds commit b840d79631c882786925303c2b0f4fefc31845ed Merge: 597b0d2... c3d8000... Author: Linus Torvalds Date: Fri Jan 2 11:44:09 2009 -0800 Merge branch 'cpus4096-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'cpus4096-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (66 commits) x86: export vector_used_by_percpu_irq x86: use logical apicid in x2apic_cluster's x2apic_cpu_mask_to_apicid_and() sched: nominate preferred wakeup cpu, fix x86: fix lguest used_vectors breakage, -v2 x86: fix warning in arch/x86/kernel/io_apic.c sched: fix warning in kernel/sched.c sched: move test_sd_parent() to an SMP section of sched.h sched: add SD_BALANCE_NEWIDLE at MC and CPU level for sched_mc>0 sched: activate active load balancing in new idle cpus sched: bias task wakeups to preferred semi-idle packages sched: nominate preferred wakeup cpu sched: favour lower logical cpu number for sched_mc balance sched: framework for sched_mc/smt_power_savings=N sched: convert BALANCE_FOR_xx_POWER to inline functions x86: use possible_cpus=NUM to extend the possible cpus allowed x86: fix cpu_mask_to_apicid_and to include cpu_online_mask x86: update io_apic.c to the new cpumask code x86: Introduce topology_core_cpumask()/topology_thread_cpumask() x86: xen: use smp_call_function_many() x86: use work_on_cpu in x86/kernel/cpu/mcheck/mce_amd_64.c ... Fixed up trivial conflict in kernel/time/tick-sched.c manually commit b67ff8ce122f3353bd741db48ce1756c12fb5f2d Author: Sam Ravnborg Date: Wed Dec 31 09:32:30 2008 +0100 kbuild: ignore a few files in headers_check The new check for asm/types.h and linux/types.h had a few false positives. o We cannot let linux/types.h include linux/types.h o The int-ll64.h and int-ll64.h define the types and are included by linux/types.h Handle this by hardcoding the filenames in the headers_check script. Signed-off-by: Sam Ravnborg commit 483b41218fa9d5172312a9e294aaf78e22b266e6 Author: Sam Ravnborg Date: Tue Dec 30 11:34:58 2008 +0100 kbuild: add checks for include of linux/types in userspace headers If we see __[us](8|16|32|64) then we must include If wee see include of then we recommend Original script from Mike but modified by me. Cc: Mike Frysinger Signed-off-by: Sam Ravnborg commit 521b0c774d1350aac18f5cd35831469a4e879d72 Author: Sam Ravnborg Date: Tue Dec 30 10:20:08 2008 +0100 kbuild: drop debugging leftover in tags.sh Noticed by Jike. Reported-by: "Jike Song" Signed-off-by: Sam Ravnborg commit acc08b516f25b79cfcff310e51d95048bfcf7b0d Author: Sam Ravnborg Date: Mon Dec 29 13:45:52 2008 +0100 kbuild: document environment variables Add kbuild.txt to Documentation/kbuild More stuff can be added later - at least we have som of the varous environment variables documented now. Signed-off-by: Sam Ravnborg commit 2af238e455ef5fd31c2f7a06c2db3f13d843b9bf Author: Randy Dunlap Date: Fri Feb 29 14:21:53 2008 -0800 kbuild: make *config usage docs Create a kconfig user assistance guide, with a few tips and hints about using menuconfig, xconfig, and gconfig. Mostly contains user interface, environment variables, and search topics, along with mini.config/custom.config usage. Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit 80a7d1d991e35b0370c0396f36f6a076869a6bac Author: Hannes Eder Date: Sat Dec 27 22:38:44 2008 +0100 kbuild: disable sparse warning "returning void-valued expression" The sparse warning -Wreturn-void ("returning void-valued expression") is off by default, but it is enabled with -Wall, so add -Wno-return-void to CHECKFLAGS to disable it. Signed-off-by: Hannes Eder Signed-off-by: Sam Ravnborg commit 4307184f2b9240d0443bdf944c7b9eac044fe67b Author: Mike Frysinger Date: Sat Dec 27 03:23:15 2008 -0500 kbuild: in headers_install autoconvert asm/inline/volatile to __xxx__ Headers in userspace should be using the __xxx__ form of the asm, inline, and volatile keywords. Since people like to revert these things without realizing what's going on, have the headers install step autoconvert these keywords. Signed-off-by: Mike Frysinger Signed-off-by: Sam Ravnborg commit 7e557a2509f9e1477c10295b74e29e4e93fa2392 Author: Sam Ravnborg Date: Sat Dec 27 19:52:20 2008 +0100 kbuild: check for leaked CONFIG_ symbols to userspace Signed-off-by: Sam Ravnborg commit 46b8af50ba5c072b74740c5fa8ba08e6eabb22f8 Author: Mike Frysinger Date: Sat Dec 27 02:43:36 2008 -0500 headers_check.pl: disallow extern's Since prototypes with "extern" refer to kernel functions, they make no sense in userspace, so reject them automatically. Signed-off-by: Mike Frysinger [sam: made it into a warning] Signed-off-by: Sam Ravnborg commit 7826005e5a53645d7aab7c13eda76126eadebf0b Author: Sam Ravnborg Date: Sat Dec 27 21:51:59 2008 +0100 kconfig: improve error messages for bad source statements We now say where we detect the second source of a file, and where we detect a recursively source of the same file. This makes it easier to fix such errors. Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit cf82607a904d3b2ed3d66f8799f00d1099c1849c Author: Sam Ravnborg Date: Fri Dec 26 21:32:31 2008 +0100 kconfig: struct property commented No functional changes Signed-off-by: Sam Ravnborg commit 5b2cf365a8e9bbf781939e941ed548c9743fdeea Author: Sam Ravnborg Date: Fri Dec 26 21:25:00 2008 +0100 kconfig: add comments to symbol flags No functional changes - only comments. Signed-off-by: Sam Ravnborg commit eaa2a87460eca27ce725d63bbcf3b2da053828b7 Author: Sam Ravnborg Date: Fri Dec 26 21:07:57 2008 +0100 kconfig: explain symbol value defaults Added a few comments - no functional change. Signed-off-by: Sam Ravnborg commit cfb2a494bb7dca9cf8d1632fbed14b34db051980 Author: Sam Ravnborg Date: Fri Dec 26 22:41:18 2008 +0100 m68k: fix recursive dependency in Kconfig We had a recursive dependency between MMU_MOTOROLA and MMU_SUN3 Fix it by dropping the unused dependencies on MMU_MOTOROLA. MMU_MOTOROLA is set to y only using select so any dependencies are anyway ignored. Signed-off-by: Sam Ravnborg Acked-by: Geert Uytterhoeven Cc: Roman Zippel commit 597b0d21626da4e6f09f132442caf0cc2b0eb47c Merge: 2640c9a... 8791723... Author: Linus Torvalds Date: Fri Jan 2 11:41:11 2009 -0800 Merge branch 'kvm-updates/2.6.29' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm * 'kvm-updates/2.6.29' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm: (140 commits) KVM: MMU: handle large host sptes on invlpg/resync KVM: Add locking to virtual i8259 interrupt controller KVM: MMU: Don't treat a global pte as such if cr4.pge is cleared MAINTAINERS: Maintainership changes for kvm/ia64 KVM: ia64: Fix kvm_arch_vcpu_ioctl_[gs]et_regs() KVM: x86: Rework user space NMI injection as KVM_CAP_USER_NMI KVM: VMX: Fix pending NMI-vs.-IRQ race for user space irqchip KVM: fix handling of ACK from shared guest IRQ KVM: MMU: check for present pdptr shadow page in walk_shadow KVM: Consolidate userspace memory capability reporting into common code KVM: Advertise the bug in memory region destruction as fixed KVM: use cpumask_var_t for cpus_hardware_enabled KVM: use modern cpumask primitives, no cpumask_t on stack KVM: Extract core of kvm_flush_remote_tlbs/kvm_reload_remote_mmus KVM: set owner of cpu and vm file operations anon_inodes: use fops->owner for module refcount x86: KVM guest: kvm_get_tsc_khz: return khz, not lpj KVM: MMU: prepopulate the shadow on invlpg KVM: MMU: skip global pgtables on sync due to cr3 switch KVM: MMU: collapse remote TLB flushes on root sync ... commit 6b55009e1dc7c2a66c8f5fad67045f0536c9bbd8 Author: Michael Krufky Date: Fri Jan 2 15:55:29 2009 -0300 V4L/DVB (10170): tuner-simple: prevent possible OOPS caused by divide by zero error A user reported the following OOPS with his pcHDTV HD5500 card, which uses a cx88 PCI bridge with a LG-TDVS-H06xF frontend module, made up of a TUA6034 tuner, TDA988x IF demod, and LG DT3303 ATSC/QAM demod. Somehow, tuner-core gets loaded before the digital driver configures the tuner, and tuner-core somehow incorrectly sets the tuner type to LG NTSC (TAPE series) instead of LG TDVS-H06xF. This tuner type does not have the tuning stepsize defined, so an OOPS occurs during the digital tune function. We still dont know how the type gets set incorrectly in the first place. The user has a tainted kernel with a binary nividia module, which COULD have something to do with this, but it's hard to say for sure. Nevertheless, to avoid this division by zero, we should check that stepsize is defined. If stepsize is not defined, print an error and bail out on the tune request. cx8800 0000:05:01.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19 cx88[0]: subsystem: 7063:5500, board: pcHDTV HD5500 HDTV [card=47,autodetected], frontend(s): 1 cx88[0]: TV tuner type 47, Radio tuner type -1 tuner' 2-0043: chip found @ 0x86 (cx88[0]) tda9887 2-0043: creating new instance tda9887 2-0043: tda988[5/6/7] found tuner' 2-0061: chip found @ 0xc2 (cx88[0]) tuner-simple 2-0061: creating new instance tuner-simple 2-0061: type set to 47 (LG NTSC (TAPE series)) cx88[0]/0: found at 0000:05:01.0, rev: 5, irq: 19, latency: 32, mmio: 0xea000000 cx88[0]/0: registered device video1 [v4l2] cx88[0]/0: registered device vbi1 cx88_audio 0000:05:01.1: PCI INT A -> GSI 19 (level, low) -> IRQ 19 cx88[0]/1: CX88x/0: ALSA support for cx2388x boards cx88[0]/2: cx2388x 8802 Driver Manager cx88-mpeg driver manager 0000:05:01.2: PCI INT A -> GSI 19 (level, low) -> IRQ 19 cx88[0]/2: found at 0000:05:01.2, rev: 5, irq: 19, latency: 32, mmio: 0xec000000 cx8802_probe() allocating 1 frontend(s) cx88/2: cx2388x dvb driver version 0.0.6 loaded cx88/2: registering cx8802 driver, type: dvb access: shared cx88[0]/2: subsystem: 7063:5500, board: pcHDTV HD5500 HDTV [card=47] cx88[0]/2: cx2388x based DVB/ATSC card tuner-simple 2-0061: attaching existing instance tuner-simple 2-0061: type set to 64 (LG NTSC (TAPE series)) tda9887 2-0043: attaching existing instance DVB: registering new adapter (cx88[0]) DVB: registering adapter 0 frontend 0 (LG Electronics LGDT3303 VSB/QAM Frontend)... [snip] stepsize=0 divide error: 0000 [1] SMP CPU 1 Modules linked in: nls_utf8 fuse sco bridge stp bnep l2cap bluetooth sunrpc nf_conntrack_netbios_ns nf_conntrack_ftp ip6t_REJECT nf_conntrack_ipv6 ip6table_filter ip6_tables ipv6 cpufreq_ondemand acpi_cpufreq freq_table xfs lgdt330x dm_multipath cx88_dvb cx88_vp3054_i2c uinput tda9887 tda8290 snd_emu10k1_synth snd_emux_synth snd_seq_virmidi snd_seq_midi_emul tuner_simple tuner_types tuner msp3400 cx8800 cx88_alsa cx8802 snd_emu10k1 cx88xx snd_rawmidi snd_ac97_codec ir_common ac97_bus saa7115 snd_seq_dummy snd_seq_oss snd_seq_midi_event videobuf_dvb snd_seq dvb_core snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_device videobuf_dma_sg ppdev parport_pc snd_timer videobuf_core snd_page_alloc btcx_risc emu10k1_gp ivtv i2c_algo_bit cx2341x snd_util_mem snd_hwdep nvidia(P) gameport v4l2_common i2c_i801 snd soundcore parport videodev v4l1_compat v4l2_compat_ioctl32 tveeprom i2c_core pcspkr iTCO_wdt iTCO_vendor_support sky2 joydev floppy shpchp ata_generic pata_acpi pata_jmicron [last unloaded: microcode] Pid: 3553, comm: kdvb-ad-0-fe-0 Tainted: P 2.6.27.9-159.fc10.x86_64 #1 RIP: 0010:[] [] simple_dvb_calc_regs+0xab/0x281 [tuner_simple] RSP: 0018:ffff8800605dfd30 EFLAGS: 00010246 RAX: 000000000365c040 RBX: ffff8800605dfdb0 RCX: ffff88007acb8c10 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000246 RBP: ffff8800605dfda0 R08: ffff8800605dfba0 R09: 0000000000000082 R10: 00000010e73c9df1 R11: 0000000100000000 R12: ffff88007ac29c00 R13: ffff88007ac29c00 R14: ffff88007acbb408 R15: ffffffffa09b6fb0 FS: 0000000000000000(0000) GS:ffff88007f804880(0000) knlGS:0000000000000000 CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b CR2: 00000000004e8f40 CR3: 000000007114e000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process kdvb-ad-0-fe-0 (pid: 3553, threadinfo ffff8800605de000, task ffff88006fca0000) Stack: ffff8800605dfd40 00000000ffffffa1 ffff88007c055860 0000000000000001 ffff8800605dfda0 ffff8800605dfda0 ffff88007acb8c10 ffffffffa004e48c 8e01880000000390 ffff88007acb8c10 ffff88007ac29c00 0000000000000000 Call Trace: [] ? i2c_transfer+0x80/0x8b [i2c_core] [] simple_dvb_set_params+0x3e/0x9b [tuner_simple] [] lgdt330x_set_parameters+0x188/0x1b9 [lgdt330x] [] dvb_frontend_swzigzag_autotune+0x18e/0x1b5 [dvb_core] [] dvb_frontend_swzigzag+0x1bc/0x21e [dvb_core] [] dvb_frontend_thread+0x528/0x62b [dvb_core] [] ? autoremove_wake_function+0x0/0x38 [] ? dvb_frontend_thread+0x0/0x62b [dvb_core] [] kthread+0x49/0x76 [] child_rip+0xa/0x11 [] ? restore_args+0x0/0x30 [] ? kthread+0x0/0x76 [] ? child_rip+0x0/0x11 Code: 48 8b 05 2a 4e 00 00 41 8b 77 1c 31 d2 0f b7 40 0a 89 f1 03 45 d0 d1 e9 03 0d 23 4e 00 00 69 c0 24 f4 00 00 8d 04 01 48 8b 4d c0 f6 8a 55 d6 88 53 04 41 89 c4 c1 e8 08 88 43 01 8a 45 d7 44 RIP [] simple_dvb_calc_regs+0xab/0x281 [tuner_simple] RSP Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f4c82548d4fa86fb3606f6ee219b070b88592a1e Author: Michael Krufky Date: Mon Dec 15 17:28:41 2008 -0300 V4L/DVB (10168): sms1xxx: fix inverted gpio for lna control on tiger r2 The GPIO logic for LNA control on the Tiger r2 devices was inverted. This patch corrects the problem. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit dd72f31b4fa87c68e16484a3ed3e4d1843ad7f06 Author: Michael Krufky Date: Fri Nov 28 01:02:56 2008 -0300 V4L/DVB (10167): sms1xxx: add support for inverted gpio negative gpio values signify inverted polarity Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit e4cda3e0728156c6be1d03e72ef20ea811da4ad5 Author: Mauro Carvalho Chehab Date: Wed Dec 31 14:26:57 2008 -0300 V4L/DVB (10166): dvb frontend: stop using non-C99 compliant comments Signed-off-by: Mauro Carvalho Chehab commit faed4aa586f0c16020676481033665e959916c6a Author: Klaus Schmidinger Date: Wed Dec 31 14:13:56 2008 -0300 V4L/DVB (10165): Add FE_CAN_2G_MODULATION flag to frontends that support DVB-S2 Report to userspace that cx24116 and stv0899 drivers support DVB-S2. Signed-off by: Klaus Schmidinger Acked-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit cb889a2f3515b140bef193cf6ffcdb099349b8aa Author: Klaus Schmidinger Date: Wed Dec 31 14:11:23 2008 -0300 V4L/DVB (10164): Add missing S2 caps flag to S2API The attached patch adds a capability flag that allows an application to determine whether a particular device can handle "second generation modulation" transponders. This is necessary in order for applications to be able to decide which device to use for a given channel in a multi device environment, where DVB-S and DVB-S2 devices are mixed. It is assumed that a device capable of handling "second generation modulation" can implicitly handle "first generation modulation". The flag is not named anything with DVBS2 in order to allow its use with future DVBT2 devices as well (should they ever come). Signed-off by: Klaus Schmidinger Acked-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 9baed99ee7a834b1f2599e13f219087f01c63f38 Author: Mauro Carvalho Chehab Date: Wed Dec 31 09:37:33 2008 -0300 V4L/DVB (10163): em28xx: allocate adev together with struct em28xx dev Some devices require different setups on struct_audio. Due to that, we may need to change some fields at dev.adev during device probe. So, this patch moves the dynamic memory allocation of adev at em28xx-alsa to the dynamic allocation of struct em28xx dev that happens during device probe. Signed-off-by: Mauro Carvalho Chehab commit 0b82c5d6748a15758875f78ac772c6d48ebead2a Author: Mauro Carvalho Chehab Date: Wed Dec 31 09:34:18 2008 -0300 V4L/DVB (10162): tuner-simple: Fix tuner type set message Signed-off-by: Mauro Carvalho Chehab commit 4a87d7c4f259efa89ae6627c49e403eef51a3058 Author: Pham Thanh Nam Date: Wed Dec 31 06:57:19 2008 -0300 V4L/DVB (10161): saa7134: fix autodetection for AVer TV GO 007 FM Plus This patch fixes autodetection for Avermedia AVerTV GO 007 FM Plus (M15C) (PCI ID 1461:f31d). Signed-off-by: Pham Thanh Nam Signed-off-by: Mauro Carvalho Chehab commit 87ea5f9d389717ff6da60dc014ce79ae14b7947c Author: Mauro Carvalho Chehab Date: Wed Dec 31 06:37:50 2008 -0300 V4L/DVB (10160): em28xx: update chip id for em2710 em2710 uses the same chip ID as em2820 (0x12). Signed-off-by: Mauro Carvalho Chehab commit 5e6de7d9a1a373414a41a7441100f90b71c6119f Author: Mark Lord Date: Wed Dec 3 15:26:15 2008 -0300 V4L/DVB (10157): Add USB ID for the Sil4701 radio from DealExtreme Signed-off-by: Mark Lord Cc: Greg KH Signed-off-by: Andrew Morton [tobias.lorenz@gmx.net: Code beautifications and documentation added] Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit 6a2d802ca01bd83b860145e7497a7a049c354cd7 Author: Pham Thanh Nam Date: Tue Dec 30 23:26:09 2008 -0300 V4L/DVB (10156): saa7134: Add support for Avermedia AVer TV GO 007 FM Plus This patch adds support for Avermedia AVer TV GO 007 FM Plus (M15C) on saa7134 driver (PCI ID 1461:f31d). Signed-off-by: Pham Thanh Nam Signed-off-by: Mauro Carvalho Chehab commit 46a60cfef581307d8273919182ae939d44ff7cca Author: Fabio Belavenuto Date: Tue Dec 30 19:27:09 2008 -0300 V4L/DVB (10155): Add TEA5764 radio driver Add support for radio driver TEA5764 from NXP. This chip is connected in pxa I2C bus in EZX phones from Motorola, the chip is used in phone model A1200. This driver is for OpenEZX project (www.openezx.org) Tested with A1200 phone, openezx kernel and fm-tools [mchehab@redhat.com: Fixed CodingStyle and solved some merge conflicts] Signed-off-by: Fabio Belavenuto Signed-off-by: Mauro Carvalho Chehab commit b0c4be8cffb3f466759ddf621a74a10093537521 Author: Mauro Carvalho Chehab Date: Tue Dec 30 19:10:09 2008 -0300 V4L/DVB (10154): saa7134: fix a merge conflict on Behold H6 board Signed-off-by: Mauro Carvalho Chehab commit 47aeba5addd88b178438ba9000600b9844ca0ee1 Author: Dmitri Belimov Date: Tue Dec 23 03:53:03 2008 -0300 V4L/DVB (10153): Add the Beholder H6 card to DVB-T part of sources. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Mauro Carvalho Chehab commit f204ae40ad79bbf50d85427a5cf39fcebdb4a993 Author: Dmitri Belimov Date: Tue Dec 23 03:51:38 2008 -0300 V4L/DVB (10152): Change configuration of the Beholder H6 card Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Mauro Carvalho Chehab commit 899a6f67b90206c330bd93c7c8f3f8bb8b80397a Author: Dmitri Belimov Date: Tue Dec 23 03:50:09 2008 -0300 V4L/DVB (10151): Fix I2C bridge error in zl10353 Fix I2C bridge error in zl10353 if no tunner attached to internal I2C bus of zl10353 chip. When set enable bridge from internal I2C bus to the main I2C bus (saa7134) the main I2C bus stopped very hardly. No any communication. In our next board we solder additional resistors to internal I2C bus. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Mauro Carvalho Chehab commit 91f7c130c277a08ebef92ac23ed60adc62e505e0 Author: Mike Frysinger Date: Wed Nov 12 12:04:28 2008 -0300 V4L/DVB (10150): ttusb-dec: make it depend on PCI Since ttusb_dec.c relies on pci_alloc_consistent and pci_free_consistent, make it depend on PCI in Kconfig. Signed-off-by: Mike Frysinger Signed-off-by: Mauro Carvalho Chehab commit fbe9834a4a67a21a405043af727073acd103f842 Author: Mike Frysinger Date: Wed Nov 12 12:00:18 2008 -0300 V4L/DVB (10149): ttusb-budget: make it depend on PCI Since dvb-ttusb-budget.c relies on pci_alloc_consistent and pci_free_consistent, make it depend on PCI in Kconfig. Signed-off-by: Mike Frysinger Signed-off-by: Mauro Carvalho Chehab commit f347535a6065be6f9e65526fa82c088d68040f42 Author: roel kluin Date: Wed Nov 26 22:03:18 2008 -0300 V4L/DVB (10148): cx23885: unsigned cx23417_mailbox cannot be negative Unsigned cx23417_mailbox cannot be negative Signed-off-by: Roel Kluin Signed-off-by: Mauro Carvalho Chehab commit 9ed55375919bc30c448c6dd5107e8d593f96856f Author: Cyrill Gorcunov Date: Tue Dec 30 16:40:00 2008 -0300 V4L/DVB (10144): cx24116: build fix Add missed MODULE check to eliminate inapropriate declaration being choosed which causes a build error. Signed-off-by: Cyrill Gorcunov Signed-off-by: Mauro Carvalho Chehab commit aecde8b53b8ee1330a5a8206200f0d6b8845a6e0 Author: Hans Verkuil Date: Tue Dec 30 07:14:19 2008 -0300 V4L/DVB (10141): v4l2: debugging API changed to match against driver name instead of ID. Since the i2c driver ID will be removed in the near future we have to modify the v4l2 debugging API to use the driver name instead of driver ID. Note that this API is not used in applications other than v4l2-dbg.cpp as it is for debugging and testing only. Should anyone use the old VIDIOC_G_CHIP_IDENT, then this will be logged with a warning that it is deprecated and will be removed in 2.6.30. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit da1b5c95e49bb564ae8c61ed135d34ed09acbb66 Author: Hans Verkuil Date: Tue Dec 30 07:07:53 2008 -0300 V4L/DVB (10140): gp8psk: fix incorrect return code (EINVAL instead of -EINVAL) Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9bb7cde793f0637cfbdd21c04050ffcef33a5624 Author: Hans Verkuil Date: Tue Dec 30 06:42:40 2008 -0300 V4L/DVB (10139): v4l: rename v4l_compat_ioctl32 to v4l2_compat_ioctl32 This rename prevents conflicts with the older compat_ioctl32 module. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 069b747931f13eda289c1d59a09ecc8162281a76 Author: Hans Verkuil Date: Tue Dec 30 07:04:34 2008 -0300 V4L/DVB (10138): v4l2-ioctl: change to long return type to match unlocked_ioctl. Since internal to v4l2 the ioctl prototype is the same regardless of it being called through .ioctl or .unlocked_ioctl, we need to convert it all to the long return type of unlocked_ioctl. Thanks to Jean-Francois Moine for posting an initial patch for this and thus bringing it to our attention. Cc: Jean-Francois Moine Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 4ab9203b1b7e45f1beae7eb0c67d663a26257a69 Author: Hans Verkuil Date: Tue Dec 23 15:02:16 2008 -0300 V4L/DVB (10137): v4l2-compat32: only build if needed Add CONFIG_COMPAT check in Makefile. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c7dd09dabc278b03980c8e93d0eee3843b5ad514 Author: Hans Verkuil Date: Tue Dec 23 13:42:25 2008 -0300 V4L/DVB (10136): v4l2 doc: update v4l2-framework.txt Mention the new v4l2_file_operations struct. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit bec43661b1dc0075b7445223ba775674133b164d Author: Hans Verkuil Date: Tue Dec 30 06:58:20 2008 -0300 V4L/DVB (10135): v4l2: introduce v4l2_file_operations. Introduce a struct v4l2_file_operations for v4l2 drivers. Remove the unnecessary inode argument. Move compat32 handling (and llseek) into the v4l2-dev core: this is now handled in the v4l2 core and no longer in the drivers themselves. Note that this changeset reverts an earlier patch that changed the return type of__video_ioctl2 from int to long. This change will be reinstated later in a much improved version. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit dfa9a5ae679ff2d23caa995d0f55a19abaf0596e Author: Hans Verkuil Date: Tue Dec 23 12:17:23 2008 -0300 V4L/DVB (10134): v4l2 doc: set v4l2_dev instead of parent. Update the documentation now that the v4l2_dev field is in. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 50a2a8b35edec09aff900a9b1c629776e11c5c88 Author: Hans Verkuil Date: Mon Dec 22 09:13:11 2008 -0300 V4L/DVB (10133): v4l2-framework: use correct comment style. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 7943ecf161753ae92af74e7587c8438f221d55a5 Author: Hans Verkuil Date: Tue Dec 23 14:37:43 2008 -0300 V4L/DVB (10132): v4l2-compat-ioctl32: remove dependency on videodev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2640c9a90fa596871e142f42052608864335f102 Merge: 80618fa... b16aabc... Author: Linus Torvalds Date: Fri Jan 2 10:32:18 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (32 commits) ide-atapi: start dma in a drive-specific way ide-atapi: put the rest of non-ide-cd code into the else-clause of ide_transfer_pc ide-atapi: remove timeout arg to ide_issue_pc ide-cd: remove handler wrappers ide-cd: remove xferlen arg to cdrom_start_packet_command ide-atapi: split drive-specific functionality in ide_issue_pc ide-atapi: assign expiry and timeout based on device type ide-atapi: compute cmd_len based on device type in ide_transfer_pc ide: remove the last ide-scsi remnants ide-atapi: remove ide-scsi remnants from ide_pc_intr() ide-atapi: remove ide-scsi remnants from ide_transfer_pc() ide-atapi: remove ide-scsi remnants from ide_issue_pc ide-cd: move cdrom_timer_expiry to ide-atapi.c ide-atapi: teach ide atapi about drive->waiting_for_dma ide-atapi: accomodate transfer length calculation for ide-cd ide-atapi: setup dma for ide-cd ide-atapi: combine drive-specific assignments ide-atapi: add a dev_is_idecd-inline remove ide-scsi ide-floppy: allocate only toplevel packet commands ... commit 80618fa83a34a26199fa99cfd06476a81ddf57df Merge: 92cde4d... b21a207... Author: Linus Torvalds Date: Fri Jan 2 10:31:04 2009 -0800 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb * 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb: (31 commits) uwb: remove beacon cache entry after calling uwb_notify() uwb: remove unused include/linux/uwb/debug.h uwb: use print_hex_dump() uwb: use dev_dbg() for debug messages uwb: fix memory leak in uwb_rc_notif() wusb: fix oops when terminating a non-existant reservation uwb: fix oops when terminating an already terminated reservation uwb: improved MAS allocator and reservation conflict handling wusb: add debug files for ASL, PZL and DI to the whci-hcd driver uwb: fix oops in debug PAL's reservation callback uwb: clean up whci_wait_for() timeout error message wusb: whci-hcd shouldn't do ASL/PZL updates while channel is inactive uwb: remove unused beacon group join/leave events wlp: start/stop radio on network interface up/down uwb: add basic radio manager uwb: add pal parameter to new reservation callback uwb: fix races between events and neh timers uwb: don't unbind the radio controller driver when resetting uwb: per-radio controller event thread and beacon cache uwb: add commands to add/remove IEs to the debug interface ... commit 92cde4d5396c3b6cbf3192286b687f97a889dffe Author: Paul Mackerras Date: Fri Jan 2 15:40:55 2009 +1100 Update powerpc maintainers Ben Herrenschmidt is taking over as the primary powerpc architecture maintainer. I'll still be around as his backup/deputy. Signed-off-by: Paul Mackerras Acked-by: Grant Likely Signed-off-by: Linus Torvalds commit f0f0ce97e128569d07fae98c62d8cff1e042fa1e Merge: e8e3232... bef2a50... Author: Linus Torvalds Date: Fri Jan 2 10:28:41 2009 -0800 Merge branch 'i8k-updates' from Alan * i8k-updates: i8k: Add Dell Vostro systems i8k: Enable i8k on Dell Precision Systems commit bef2a508b4276fd7897b2cb27df037d26361842c Author: Federico Heinz Date: Fri Jan 2 16:19:23 2009 +0000 i8k: Add Dell Vostro systems This trivial patch adds support for i8k on the new Dell Vostro models. I tested it on my Vostro 1400, and it works. It does print a warning when loading the module: i8k: unable to get SMM BIOS version But I couldn't figure out how to fix that. The module seems to work fine, anyway... Signed-off-by: Federico Heinz Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 7ab21a8692094872298df172f54d55cba72fd308 Author: Andy Spencer Date: Fri Jan 2 16:19:13 2009 +0000 i8k: Enable i8k on Dell Precision Systems Patch to enable i8k on Dell Precisions. Signed-off-by: Andy Spencer Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit e8e32326279cba3d049b4325111f76618953195c Author: Ingo Brueckl Date: Fri Jan 2 14:42:00 2009 +0100 Fix compiler warning in arch/x86/mm/init_32.c Signed-off-by: Ingo Brueckl Signed-off-by: Linus Torvalds commit d2fde28ce793c09c1ea36d981cb6765174fd1eea Merge: 609e5b7... e65f0f8... Author: Linus Torvalds Date: Fri Jan 2 10:25:51 2009 -0800 Merge branch 'tty-updates' from Alan * tty-updates: (75 commits) serial_8250: support for Sealevel Systems Model 7803 COMM+8 hso maintainers update patch hso modem detect fix patch against Alan Cox'es tty tree tty: Fix an ircomm warning and note another bug drivers/char/cyclades.c: cy_pci_probe: fix error path Serial: UART driver changes for Cavium OCTEON. Serial: Allow port type to be specified when calling serial8250_register_port. 8250: Serial driver changes to support future Cavium OCTEON serial patches. 8250: Don't clobber spinlocks. fix for tty-serial-move-port tty: We want the port object to be persistent __FUNCTION__ is gcc-specific, use __func__ serial: RS485 ioctl structure uses __u32 include linux/types.h tty: Drop the lock_kernel in the private ioctl hook synclink_cs: Convert to tty_port tty: use port methods for the rocket driver tty: kref the rocket driver tty: make rocketport use standard port->flags tty: Redo the rocket driver locking tty: Make epca use the port helpers ... commit 103ceffb9501531f6931df6aebc11a05189201f0 Author: Jaswinder Singh Rajput Date: Fri Jan 2 23:43:25 2009 +0530 x86: mpparse.c fix style problems Impact: cleanup, fix style problems, more readable Fixes style problems: WARNING: Use #include instead of WARNING: Use #include instead of WARNING: suspect code indent for conditional statements (8, 17) WARNING: space prohibited between function name and open parenthesis '(' total: 0 errors, 5 warnings Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit e65f0f8271b1b0452334e5da37fd35413a000de4 Author: Flavio Leitner Date: Fri Jan 2 13:50:43 2009 +0000 serial_8250: support for Sealevel Systems Model 7803 COMM+8 Add support for Sealevel Systems Model 7803 COMM+8 Signed-off-by: Flavio Leitner Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 11cd29b028be88b13717401496fe4953fb96be03 Author: Denis Joseph Barrow Date: Fri Jan 2 13:50:36 2009 +0000 hso maintainers update patch Added D.J. Barrow as maintainer of hso driver. Signed-off-by: Denis Joseph Barrow Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 58eb17f155704062d76729d1fb7e23d3559ca86a Author: Denis Joseph Barrow Date: Fri Jan 2 13:50:29 2009 +0000 hso modem detect fix patch against Alan Cox'es tty tree Fixed incorrect check for the modem port, this prevents crashes caused by issueing a tiocmget_submit_urb on endpoints which don't exist for non modem devices. Signed-off-by: Denis Joseph Barrow Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit ad36b88e2d22e9ef42797581d3ecea9feadd9488 Author: Alan Cox Date: Fri Jan 2 13:50:20 2009 +0000 tty: Fix an ircomm warning and note another bug Roel Kluin noted that line is unsigned so one test is unneccessary. Also add a warning for another flaw I noticed while making this change. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit c847d47cb7b2fa78b17c9e17ed3fbd010ee3d3ca Author: Andrew Morton Date: Fri Jan 2 13:50:07 2009 +0000 drivers/char/cyclades.c: cy_pci_probe: fix error path We forgot to release resources in one case. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=12137 Reported-by: Florian Lohoff Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 6b06f19151c335ee0c5b61839fa4e6838182ebb8 Author: David Daney Date: Fri Jan 2 13:50:00 2009 +0000 Serial: UART driver changes for Cavium OCTEON. Cavium UART implementation is not covered by existing uart_configS. Define a new uart_config (PORT_OCTEON) which is specified by OCTEON platform device registration code. Signed-off-by: Tomaso Paoletti Signed-off-by: David Daney Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 8e23fcc89c8091790903927449f8efb9b4e23960 Author: David Daney Date: Fri Jan 2 13:49:54 2009 +0000 Serial: Allow port type to be specified when calling serial8250_register_port. Add flag value UPF_FIXED_TYPE which specifies that the UART type is known and should not be probed. For this case the UARTs properties are just copied out of the uart_config entry. This allows us to keep SOC specific 8250 probe code out of 8250.c. In this case we know the serial hardware will not be changing as it is on the same silicon as the CPU, and we can specify it with certainty in the board/cpu setup code. The alternative is to load up 8250.c with a bunch of OCTEON specific special cases in the probing code. Signed-off-by: David Daney Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 7d6a07d123b62bf4fa71867420c23da3ca36c995 Author: David Daney Date: Fri Jan 2 13:49:47 2009 +0000 8250: Serial driver changes to support future Cavium OCTEON serial patches. In order to use Cavium OCTEON specific serial i/o drivers, we first patch the 8250 driver to use replaceable I/O functions. Compatible I/O functions are added for existing iotypeS. An added benefit of this change is that it makes it easy to factor some of the existing special cases out to board/SOC specific support code. The alternative is to load up 8250.c with a bunch of OCTEON specific iotype code and bug work-arounds. Signed-off-by: David Daney Signed-off-by: Tomaso Paoletti Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit b430428a188e8a434325e251d0704af4b88b4711 Author: David Daney Date: Fri Jan 2 13:49:41 2009 +0000 8250: Don't clobber spinlocks. In serial8250_isa_init_ports(), the port's lock is initialized. We should not overwrite it. In early_serial_setup(), only copy in the fields we need. Since the early console code only uses a subset of the fields, these are sufficient. Signed-off-by: David Daney Signed-off-by: Tomaso Paoletti Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit bc3256288b8ff9787623805e53cf7c6d5a2b4591 Author: Alexander Beregalov Date: Fri Jan 2 13:49:32 2009 +0000 fix for tty-serial-move-port Hi Alan next-20081204 crashes with the following message: BUG: unable to handle kernel paging request at ffff88007d320248 IP: [] uart_remove_one_port+0xef/0x111 kfree(info); 393: 49 8d 7d 10 lea 0x10(%r13),%rdi 397: e8 00 00 00 00 callq 39c Signed-off-by: Alexander Beregalov Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit f751928e0ddf54ea4fe5546f35e99efc5b5d9938 Author: Alan Cox Date: Fri Jan 2 13:49:21 2009 +0000 tty: We want the port object to be persistent Move the tty_port and uart_info bits around a little. By embedding the uart_info into the uart_port we get rid of lots of corner case testing and also get the ability to go port<->state<->info which is a bit more elegant than the current data structures. Downsides - we allocate a tiny bit more memory for unused ports, upside we've removed as much code as it saved for most users.. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 6ef53066ff7991d5f9670340e92d42ee1776bbe4 Author: Harvey Harrison Date: Fri Jan 2 13:49:13 2009 +0000 __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 60c20fb8c00a2b23308ae4517f145383bc66d291 Author: Andy Whitcroft Date: Fri Jan 2 13:49:04 2009 +0000 serial: RS485 ioctl structure uses __u32 include linux/types.h In the commit below a new struct serial_rs485 was introduced for a new ioctl: commit c26c56c0f40e200e61d1390629c806f6adaffbcc Author: Alan Cox Date: Mon Oct 13 10:37:48 2008 +0100 tty: Cris has a nice RS485 ioctl so we should steal it This structure uses the __u32 types for some of its members, which leads to the following compile error: $ cc -I.../include -c X.c In file included from X.c:2: .../include/linux/serial.h:185: error: expected specifier-qualifier-list before ‘__u32’ $ It seems that these types are appropriate for this structure as it is to be exposed to userspace. These types are available via linux/types.h so move the include of that outside the __KERNEL__ section. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 6b447f04a9aecdf2a30c1a97e4b034ac7931bb70 Author: Alan Cox Date: Fri Jan 2 13:48:56 2009 +0000 tty: Drop the lock_kernel in the private ioctl hook We don't need the BKL here any more so it can go. In a couple of spots the driver requirements are not clear so push the lock down into the driver. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit eeb4613436f0f19a38f667ea3078821040559c68 Author: Alan Cox Date: Fri Jan 2 13:48:47 2009 +0000 synclink_cs: Convert to tty_port Use the tty port operations, add refcounting, and refactor a bit to make the refcounting work cleanly. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit fba85e013f106a44e91ef5edec899fc56a7e61ee Author: Alan Cox Date: Fri Jan 2 13:48:39 2009 +0000 tty: use port methods for the rocket driver Now we have our ducks in order we can begin switching to the port operations Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 47b01b3a5fc7239f3e8d5d5cadc88afbea24d0c3 Author: Alan Cox Date: Fri Jan 2 13:48:30 2009 +0000 tty: kref the rocket driver We will need this kref fitted to make full use of the port operations. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 21bed701da009b4192d9e86b3596cf210ac7369c Author: Alan Cox Date: Fri Jan 2 13:48:23 2009 +0000 tty: make rocketport use standard port->flags We need to this ready for using the standard helpers Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit c1314a49d7907b96d72f2c41f8927fc3c738e956 Author: Alan Cox Date: Fri Jan 2 13:48:17 2009 +0000 tty: Redo the rocket driver locking Bring this driver into the port locking model Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 6ed1dbaeadd62a026a93aa3ac8680d2dfe9f96b3 Author: Alan Cox Date: Fri Jan 2 13:48:11 2009 +0000 tty: Make epca use the port helpers Now the locking is straight and the port kref usage is straight we can replace lots of chunks of code with the standard port helpers Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 3969ffba71d39ced700d09d9cfde83174396299e Author: Alan Cox Date: Fri Jan 2 13:48:04 2009 +0000 tty: refcount the epca driver Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit d1c815e549ff40f9e9db65654855118e6bdff6a4 Author: Alan Cox Date: Fri Jan 2 13:47:58 2009 +0000 tty: relock epca Bring epca into line with the port locking. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 542f54823614915780c3459b0e6062f06c0c0f99 Author: Denis Joseph Barrow Date: Fri Jan 2 13:47:52 2009 +0000 tty: Modem functions for the HSO driver Makes TIOCM ioctls for Data Carrier Detect & related functions work like /drivers/serial/serial-core.c potentially needed for pppd & similar user programs. Signed-off-by: Denis Joseph Barrow Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit ac9720c37e8795317e8be3adad63cb0d5522a640 Author: Alan Cox Date: Fri Jan 2 13:47:45 2009 +0000 tty: Fix the HSO termios handling a bit Init the tty structure once Don't set ->low_latency twice in a row Don't force bits we should be leaving to the user Don't allocate termios arrays as these are in fact allocated by the tty layer for you and just overwrite the ones allocated in the driver Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit e136e3036bf27569dbfeae245cc09c7167cdc749 Author: Alan Cox Date: Fri Jan 2 13:47:39 2009 +0000 hso: net driver using tty without locking Checking tty == NULL doesn't help us unless we have a clear semantic for the locking of the tty object in the driver. Use the tty kref objects so that we can take references to the tty in the USB event handling paths. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 33dd474ae712dc435eb586b44cb771cc8d24e2bd Author: Alan Cox Date: Fri Jan 2 13:47:32 2009 +0000 tty: kref nozomi Update the nozomi driver to use krefs Signed-off-by: Linus Torvalds commit c9f19e96a2f33cd56c2bd19f87a0c4982d011c2b Author: Alan Cox Date: Fri Jan 2 13:47:26 2009 +0000 tty: Remove some pointless casts disc_data and driver_data are void * Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 0ac6053c4db9369d7b0f9b39c30f4fb04405666b Author: Alan Cox Date: Fri Jan 2 13:47:20 2009 +0000 tty: PTYs set TTY_DO_WRITE_WAKEUP when they don't need to The write wakeup is done anyway for the poll while DO_WRITE_WAKUP is cleared, set and managed by the ldisc layer and is no business of the pty code. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit ff8cb0fd6f195389aefe55d5dac9927d09a9de54 Author: Thomas Pfaff Date: Fri Jan 2 13:47:13 2009 +0000 tty: N_TTY SIGIO only works for read The N_TTY ldisc layer does not send SIGIO POLL_OUTs correctly when output is possible due to flawed handling of the TTY_DO_WRITE_WAKEUP bit. It will either send no SIGIOs at all or on every tty wakeup. The fix is to set the bit when the tty driver write would block and test and clear it on write wakeup. [Merged with existing N_TTY patches and a small buglet fixed -- Alan] Signed-off-by: Thomas Pfaff Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit eff6937a46e096eb35c16a391617b7a5e098a30c Author: Alan Cox Date: Fri Jan 2 13:47:06 2009 +0000 tty: USB tty devices can block in tcdrain when unplugged The underlying problem is that the device methods don't all correctly handle disconnected status and some keep reporting bytes pending which causes tcdrain to stall. When the cable is unplugged they are definitely gone, and as this is true for all USB cables we can fix it in the core usb serial code. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 39aced68d664291db3324d0fcf0985ab5626aac2 Author: Niels de Vos Date: Fri Jan 2 13:46:58 2009 +0000 serial: set correct baud_base for Oxford Semiconductor Ltd EXSYS EX-41092 Dual 16950 Serial adapter The PCI-card identified as "Oxford Semiconductor Ltd EXSYS EX-41092 Dual 16950 Serial adapter" is only usable with other devices (i.e. not the same card) after doing a "setserial /dev/ttyS baud_base 115200". This baud_base should be default for this card. Signed-off-by: Niels de Vos Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit a6614999e800cf3a134ce93ea46ef837e3c0e76e Author: Alan Cox Date: Fri Jan 2 13:46:50 2009 +0000 tty: Introduce some close helpers for ports Again this is a lot of common code we can unify Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 7834909f1eb96ba7c49ca2b9e3a69b500a2cff76 Author: Alan Cox Date: Fri Jan 2 13:46:43 2009 +0000 tty: tty port zero baud open If we have no speed set at some point then we should not raise DTR/RTS at that point when opening as the tty is not ready Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 0fdeceb88df7f4d9e4734859bcd650e8584cc0e4 Author: Alan Cox Date: Fri Jan 2 13:46:34 2009 +0000 tty: ESP has been broken for locking etc forver Mark it broken Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 4350f3ffec7a7e70770a7369186b3db7d97acfdf Author: Alan Cox Date: Fri Jan 2 13:46:24 2009 +0000 tty: rework stallion to use the tty_port bits Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 2a6eadbd5a2ae8f458e421f3614f1ad13c0f9a1c Author: Alan Cox Date: Fri Jan 2 13:46:18 2009 +0000 tty: Rework istallion to use the tty port changes Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 36c621d82b956ff6ff72273f848af53e6c581aba Author: Alan Cox Date: Fri Jan 2 13:46:10 2009 +0000 tty: Introduce a tty_port generic block_til_ready Start sucking more commonality out of the drivers into a single piece of core code. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 3b6826b250633361f08a6427a4ac0035e5d88c72 Author: Alan Cox Date: Fri Jan 2 13:45:58 2009 +0000 tty: relock the mxser driver Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit c2ba38cd76df770a253f0cab4b6abe514c265a85 Author: Alan Cox Date: Fri Jan 2 13:45:50 2009 +0000 tty: relock riscom8 using port locks Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit a129909ca910d086b8536c790338504878489a95 Author: Alan Cox Date: Fri Jan 2 13:45:44 2009 +0000 tty: rocketport uses different port flags to everyone else Normalise them so we can use the common helpers later on Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 510a3049573868d3d77414bfa55d293f44d0dbbe Author: Alan Cox Date: Fri Jan 2 13:45:36 2009 +0000 tty: relock generic_serial Switch generic_serial to do port count locking via the tty_port structure ready for moving to a common port wait routine. Keep the old driver lock for internal calling so we don't risk messing up the drivers below until we are ready. Still needs kref conversions Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 3e61696bdc2103107674b06d0daf30b76193e922 Author: Alan Cox Date: Fri Jan 2 13:45:26 2009 +0000 isicom: redo locking to use tty port locks This helps set the basis for moving block_til_ready into common code. We also introduce a tty_port_hangup helper as this will also be generally needed. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 5d951fb458f847e5485b5251597fbf326000bb3b Author: Alan Cox Date: Fri Jan 2 13:45:19 2009 +0000 tty: Pull the dtr raise into tty port This moves another per device special out of what should be shared open wait paths into private methods Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit d0c9873addc1f18e7becb50094dad07df8cc4694 Author: Alan Cox Date: Fri Jan 2 13:45:12 2009 +0000 rio: Kill off ckmalloc This was an alloc/clear wrapper but makes even less sense now it uses kzalloc. Kill it off. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 31f35939d1d9bcfb3099b32c67b896d2792603f9 Author: Alan Cox Date: Fri Jan 2 13:45:05 2009 +0000 tty_port: Add a port level carrier detect operation This is the first step to generalising the various pieces of waiting logic duplicated in all sorts of serial drivers. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit c9b3976e3fec266be25c5001a70aa0a890b6c476 Author: Alan Cox Date: Fri Jan 2 13:44:56 2009 +0000 tty: Fix PPP hang under load Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit d0eafc7db8f170d534a16b5f04617e98ae2025de Author: David Howells Date: Fri Jan 2 13:44:49 2009 +0000 CRED: Wrap task credential accesses in the devpts filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 39efd191d01b5f1efc3d604baf74233dc525e6a8 Author: Kevin Hao Date: Fri Jan 2 13:44:34 2009 +0000 Add device function for USB serial console Add device funtion for usb serial console, so we can open /dev/console when we use a usb serial device as console. (Typecast removed as noted by Sergei Shtylyov) Signed-off-by: Kevin Hao Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 975a1a7d887048d4afc9201383e11b7af991866b Author: Russell King Date: Fri Jan 2 13:44:27 2009 +0000 And here's a patch (to be applied on top of the last) which prevents this happening again by making use of 'const'. Signed-off-by: Russell King Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 9f2a036aaac8f29bb7c68303b52a9263238b63d2 Author: Russell King Date: Fri Jan 2 13:44:20 2009 +0000 Convert the oxsemi tornado special cases to use the quirk interface and not scribble on its own reference structures. Signed-off-by: Russell King Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 8c056e5b148498192832678cf2957760945e8c71 Author: Andrew Morton Date: Fri Jan 2 13:44:12 2009 +0000 devpts: fix unused function warning fs/devpts/inode.c:324: warning: 'compare_init_pts_sb' defined but not used Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 4bd43f2c31848d751f63e8753cd2788d48fb5f30 Author: Alan Cox Date: Fri Jan 2 13:44:04 2009 +0000 tty: Fix close races in USB serial USB serial has always had races where the tty port usage count can hit zero during a receive event. The internal locking is a mutex so we can't use that in the IRQ handlers. With krefs we can tackle this differently but we still need to be careful. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 7e94b1d9bffc18dca3b45554d9d118a3ffcc4d1b Author: Joe Peterson Date: Fri Jan 2 13:43:40 2009 +0000 n_tty: Output bells immediately on a full buffer This patch causes "bell" (^G) characters (invoked when the input buffer is full) to be immediately output rather than filling the echo buffer. This is especially a problem when the tty is stopped and buffers fill, since the bells do not serve their purpose of immediate notification that the buffer cannot take further input, and they will flush all at once when the tty is restarted. Signed-off-by: Joe Peterson Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit acc71bbad33478973dbed68ebbc2d76dac9a51bd Author: Joe Peterson Date: Fri Jan 2 13:43:32 2009 +0000 n_tty: Fix hanfling of buffer full corner cases Fix the handling of input characters when the tty buffer is full or nearly full. This includes tests that are done in n_tty_receive_char() and handling of PARMRK. Problems with the buffer-full tests done in receive_char() caused characters to be lost at times when the buffer(s) filled. Also, these full conditions would often only be detected with echo on, and PARMRK was not accounted for properly in all cases. One symptom of these problems, in addition to lost characters, was early termination from unix commands like tr and cat when ^Q was used to break from a stopped tty with full buffers (note that breaking out was often previously not possible, due to the pty getting in "gridlock", which will be addressed in another patch). Note space is always reserved at the end of the buffer for a newline (or EOF/EOL) in canonical mode. Signed-off-by: Joe Peterson Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit a59c0d6f14315a3f300f6f3786137213727e4c47 Author: Joe Peterson Date: Fri Jan 2 13:43:25 2009 +0000 n_tty: Fix handling of control characters and continuations Fix process_output_block to detect continuation characters correctly and to handle control characters even when O_OLCUC is enabled. Make similar change to do_output_char(). Signed-off-by: Joe Peterson Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit fc6f6238226e6d1248e1967eae2bf556eaf3ac17 Author: Alan Cox Date: Fri Jan 2 13:43:17 2009 +0000 pty: simplify resize We have special case logic for resizing pty/tty pairs. We also have a per driver resize method so for the pty case we should use it. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit a47d545f5782cbde871b50bdf4a83379ed2da222 Author: Jason Wessel Date: Fri Jan 2 13:43:04 2009 +0000 tty: Fix sparse static warning for tty_driver_lookup_tty Fixed sparse warning: drivers/char/tty_io.c:1216:19: warning: symbol 'tty_driver_lookup_tty' was not declared. Should it be static? Signed-off-by: Jason Wessel Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit d95186d1f455b4b901121ba69d0680800fb4b57b Author: Alan Cox Date: Fri Jan 2 13:42:56 2009 +0000 sierra: Fix formatting Andrew Morton wrote: in drivers/usb/serial/sierra.c: } else { if (urb->actual_length) { + tty = tty_port_tty_get(&port->port); tty_buffer_request_room(tty, urb->actual_length); it's missing a tab. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 835aa440f1c3fe16a622015bc1b52dffedf6d90e Author: Alan Cox Date: Fri Jan 2 13:42:48 2009 +0000 devpts: Coding style clean up Just nail the oddments now while this code is being touched Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 784c4d8b1b1e66f8c45e8b889613f4982f525b2b Author: Sukadev Bhattiprolu Date: Fri Jan 2 13:42:34 2009 +0000 Document usage of multiple-instances of devpts Changelog [v2]: - Add note indicating strict isolation is not possible unless all mounts of devpts use the 'newinstance' mount option. Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 2a1b2dc0c83bbfc24d72cafd5e69810a149b44e4 Author: Sukadev Bhattiprolu Date: Fri Jan 2 13:42:27 2009 +0000 Enable multiple instances of devpts To support containers, allow multiple instances of devpts filesystem, such that indices of ptys allocated in one instance are independent of ptys allocated in other instances of devpts. But to preserve backward compatibility, enable this support for multiple instances only if: - CONFIG_DEVPTS_MULTIPLE_INSTANCES is set to Y, and - '-o newinstance' mount option is specified while mounting devpts To use multi-instance mount, a container startup script could: $ ns_exec -cm /bin/bash $ umount /dev/pts $ mount -t devpts -o newinstance lxcpts /dev/pts $ mount -o bind /dev/pts/ptmx /dev/ptmx $ /usr/sbin/sshd -p 1234 where 'ns_exec -cm /bin/bash' is calls clone() with CLONE_NEWNS flag and execs /bin/bash in the child process. A pty created by the sshd is not visible in the original mount of /dev/pts. USER-SPACE-IMPACT: - See Documentation/fs/devpts.txt (included in next patch) for user- space impact in multi-instance and mixed-mode operation. TODO: - Update mount(8), pts(4) man pages. Highlight impact of not redirecting /dev/ptmx to /dev/pts/ptmx after a multi-instance mount. Changelog[v6]: - [Dave Hansen] Use new get_init_pts_sb() interface - [Serge Hallyn] Don't bother displaying 'newinstance' in show_options - [Serge Hallyn] Use macros (PARSE_REMOUNT/PARSE_MOUNT) instead of 0/1. - [Serge Hallyn] Check error return from get_sb_single() (now get_init_pts_sb()) - devpts_pty_kill(): don't dput error dentries Changelog[v5]: - Move get_sb_ref() definition to earlier patch - Move usage info to Documentation/filesystems/devpts.txt (next patch) - Make ptmx node even in init_pts_ns, now that default mode is 0000 (defined in earlier patch, enabled here). - Cache ptmx dentry and use to update mode during remount (defined in earlier patch, enabled here). - Bugfix: explicitly ignore newinstance on remount (if newinstance was specified on remount of initial mount, it would be ignored but /proc/mounts would imply that the option was set) Changelog[v4]: - Update patch description to address H. Peter Anvin's comments - Consolidate multi-instance mode code under new config token, CONFIG_DEVPTS_MULTIPLE_INSTANCE. - Move usage-details from patch description to Documentation/fs/devpts.txt Changelog[v3]: - Rename new mount option to 'newinstance' - Create ptmx nodes only in 'newinstance' mounts - Bugfix: parse_mount_options() modifies @data but since we need to parse the @data twice (once in devpts_get_sb() and once during do_remount_sb()), parse a local copy of @data in devpts_get_sb(). (restructured code in devpts_get_sb() to fix this) Changelog[v2]: - Support both single-mount and multiple-mount semantics and provide '-onewmnt' option to select the semantics. Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit d4076ac55bf8755ce6c5706478631c1726cf0179 Author: Sukadev Bhattiprolu Date: Fri Jan 2 13:42:19 2009 +0000 Define get_init_pts_sb() See comments in the function header for details. The new interface will be used in a follow-on patch. Changelog [v2]: [Dave Hansen] Replace get_sb_ref() in fs/super.c with get_init_pts_sb() and make the new interface private to devpts Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 1f8f1e296583f9f832c2fe7b5a219675b74bf43e Author: Sukadev Bhattiprolu Date: Fri Jan 2 13:42:02 2009 +0000 Define mknod_ptmx() /dev/ptmx is closely tied to the devpts filesystem. An open of /dev/ptmx, allocates the next pty index and the associated device shows up in the devpts fs as /dev/pts/n. Wih multiple instancs of devpts filesystem, during an open of /dev/ptmx we would be unable to determine which instance of the devpts is being accessed. So we move the 'ptmx' node into /dev/pts and use the inode of the 'ptmx' node to identify the superblock and hence the devpts instance. This patch adds ability for the kernel to internally create the [ptmx, c, 5:2] device when mounting devpts filesystem. Since the ptmx node in devpts is new and may surprise some userspace scripts, the default permissions for the new node is 0000. These permissions can be changed either using chmod or by remounting with the new '-o ptmxmode=0666' mount option. Changelog[v5]: - [Serge Hallyn bugfix]: Letting new_inode() assign inode number to ptmx can collide with hand-assigning inode numbers to ptys. So, hand-assign specific inode number to ptmx node also. - [Serge Hallyn]: Maybe safer to grab root dentry mutex while creating ptmx node - [Bugfix with Serge Hallyn] Replace lookup_one_len() in mknod_ptmx() wih d_alloc_name() (lookup during ->get_sb() locks up system). To simplify patchset, fold the ptmx_dentry patch into this. Changelog[v4]: - Change default permissions of pts/ptmx node to 0000. - Move code for ptmxmode under #ifdef CONFIG_DEVPTS_MULTIPLE_INSTANCES. Changelog[v3]: - Rename ptmx_mode to ptmxmode (for consistency with 'newinstance') Changelog[v2]: - [H. Peter Anvin] Remove mknod() system call support and create the ptmx node internally. Changelog[v1]: - Earlier version of this patch enabled creating /dev/pts/tty as well. As pointed out by Al Viro and H. Peter Anvin, that is not really necessary. Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit e4adca27bcbb8a73c4cf1dfa71392654cfa33345 Author: Sukadev Bhattiprolu Date: Fri Jan 2 13:41:54 2009 +0000 Add DEVPTS_MULTIPLE_INSTANCES config token Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 53af8ee4094d80ddaac7efefb572b1c22ae49367 Author: Sukadev Bhattiprolu Date: Fri Jan 2 13:41:47 2009 +0000 Extract option parsing to new function Move code to parse mount options into a separate function so it can (later) be shared between mount and remount operations. Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 31af0abbdafb66ad8e27e3df878faec2ebe1132e Author: Sukadev Bhattiprolu Date: Fri Jan 2 13:41:33 2009 +0000 Per-mount 'config' object With support for multiple mounts of devpts, the 'config' structure really represents per-mount options rather than config parameters. Rename 'config' structure to 'pts_mount_opts' and store it in the super-block. Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit e76b7c01e598d2d14ddfdb6ae5c6afe45245d0de Author: Sukadev Bhattiprolu Date: Fri Jan 2 13:41:21 2009 +0000 Per-mount allocated_ptys To enable multiple mounts of devpts, 'allocated_ptys' must be a per-mount variable rather than a global variable. Move 'allocated_ptys' into the super_block's s_fs_info. Changelog[v2]: Define and use DEVPTS_SB() wrapper. Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 59e55e6cf86eb472e8373831c4234252916c53ef Author: Sukadev Bhattiprolu Date: Fri Jan 2 13:41:11 2009 +0000 Remove devpts_root global Remove the 'devpts_root' global variable and find the root dentry using the super_block. The super-block can be found from the device inode, using the new wrapper, pts_sb_from_inode(). Changelog: This patch is based on an earlier patchset from Serge Hallyn and Matt Helsley. Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 300a6204b4d45dc70359b24384ad04ae899179c3 Author: Alan Cox Date: Fri Jan 2 13:41:04 2009 +0000 n_tty: clean up coding style Now the main work is done its polishing time Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit a88a69c91256418c5907c2f1f8a0ec0a36f9e6cc Author: Joe Peterson Date: Fri Jan 2 13:40:53 2009 +0000 n_tty: Fix loss of echoed characters and remove bkl from n_tty Fixes the loss of echoed (and other ldisc-generated characters) when the tty is stopped or when the driver output buffer is full (happens frequently for input during continuous program output, such as ^C) and removes the Big Kernel Lock from the N_TTY line discipline. Adds an "echo buffer" to the N_TTY line discipline that handles all ldisc-generated output (including echoed characters). Along with the loss of characters, this also fixes the associated loss of sync between tty output and the ldisc state when characters cannot be immediately written to the tty driver. The echo buffer stores (in addition to characters) state operations that need to be done at the time of character output (like management of the column position). This allows echo to cooperate correctly with program output, since the ldisc state remains consistent with actual characters written. Since the echo buffer code now isolates the tty column state code to the process_out* and process_echoes functions, we can remove the Big Kernel Lock (BKL) and replace it with mutex locks. Highlights are: * Handles echo (and other ldisc output) when tty driver buffer is full - continuous program output can block echo * Saves echo when tty is in stopped state (e.g. ^S) - (e.g.: ^Q will correctly cause held characters to be released for output) * Control character pairs (e.g. "^C") are treated atomically and not split up by interleaved program output * Line discipline state is kept consistent with characters sent to the tty driver * Remove the big kernel lock (BKL) from N_TTY line discipline Signed-off-by: Joe Peterson Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit e482a2378f3d1aef7fa8942f8f163078f01bb456 Author: Sonic Zhang Date: Fri Jan 2 13:40:45 2009 +0000 Blackfin Serial Driver: Remove BI status for known_good_char Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 68a784cb1add52543644a879ef601f3b52d18623 Author: Sonic Zhang Date: Fri Jan 2 13:40:38 2009 +0000 Blackfin Serial Driver: Fix bug - BF527-EZKIT unable to receive large files over UART in DMA mode Add spin_lock_irqsave() when receive and transfer data. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit b6efa1eabbe8d23fd7dcad1eed8ce945f4adea83 Author: Sonic Zhang Date: Fri Jan 2 13:40:31 2009 +0000 Blackfin Serial Driver: Clean serial console and early prink code. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 80d5c474b87da88eca8e1ab034e26daa9f688130 Author: Graf Yang Date: Fri Jan 2 13:40:22 2009 +0000 Blackfin Serial Driver: fix bug - SIR driver stop receiving randomly Bug description: The IRDA receiver may can't receiving any more after processed some signals. To duplicate this issue is put three IRDA devices together, one blackfin, two none blackfin, they will detect each other. Let one none blackfin devices irdaping the blackfin devices, when it stopped print out ping information, it is the time that blackfin stoped receiving, the time is random. The related register bit is OK, the other devices is sending data continuously. But no interrupt come. Fixing: I tried Michael's suggestion that request the UARTx error interrupt, and reset the IRDA when found FE error. This method helps much, but it can't completely avoid stop. Reset the IRDA before every time sending the data is more safe. Signed-off-by: Graf Yang Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 52e15f0eae193a8e4ca31c1520179b8d65c79811 Author: Sonic Zhang Date: Fri Jan 2 13:40:14 2009 +0000 Blackfin Serial Driver: updates kgdb over Blackfin serial driver with kgdb framework Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 609e5b71d0eca163df017ecfcf917b149875e744 Author: Ingo Molnar Date: Fri Jan 2 16:16:16 2009 +0100 kbuild: Remove gcc 4.1.0 quirk from init/main.c Impact: cleanup We now have a cleaner check for gcc 4.1.0/4.1.1 trouble in include/linux/compiler-gcc4.h, so remove the 4.1.0 quirk from init/main.c. Reported-by: Bartlomiej Zolnierkiewicz Signed-off-by: Ingo Molnar Acked-by: Sam Ravnborg Signed-off-by: Linus Torvalds commit dceb4521c8ed24b9fe4230e0d385cf4770260383 Author: Jaswinder Singh Rajput Date: Wed Dec 31 17:35:02 2008 +0530 x86: nmi.c fix style problems Impact: cleanup, fix style problems Fixes style problems: WARNING: Use #include instead of WARNING: Use #include instead of total: 0 errors, 2 warnings Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit f9d14250071eda9972e4c9cea745a11185952114 Author: Linus Torvalds Date: Fri Jan 2 09:29:43 2009 -0800 Disallow gcc versions 4.1.{0,1} These compiler versions are known to miscompile __weak functions and thus generate kernels that don't necessarily work correctly. If a weak function is int he same compilation unit as a caller, gcc may end up inlining it, and thus binding the weak function too early. See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27781 for details. Cc: Adrian Bunk Cc: Helge Deller Cc: Rusty Russell Cc: Ingo Molnar Signed-off-by: Linus Torvalds commit f153b82121b0366fe0e5f9553545cce237335175 Author: Linus Torvalds Date: Fri Jan 2 09:23:03 2009 -0800 Sanitize gcc version header includes - include the gcc version-dependent header files from the generic gcc header file, rather than the other way around (iow: don't make the non-gcc header file have to know about gcc versions) - don't include compiler-gcc4.h for gcc 5 (for whenever it gets released). That's just confusing and made us do odd things in the gcc4 header file (testing that we really had version 4!) - generate the name from the __GNUC__ version directly, rather than having a mess of #if conditionals. Signed-off-by: Linus Torvalds commit 423a54058f746579aff1430877dbc82f17442b34 Author: Jaswinder Singh Rajput Date: Wed Dec 31 16:42:20 2008 +0530 x86: ldt.c fix style problems Impact: cleanup Fixes style problems: WARNING: Use #include instead of ERROR: space required before the open parenthesis '(' total: 1 errors, 1 warnings Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit f634fa941188a91dbf1dab961fe7a4509852fd6e Author: Jaswinder Singh Rajput Date: Wed Dec 31 16:29:48 2008 +0530 x86: cpuid.c fix style problems Impact: cleanup Fixes style problems: WARNING: Use #include instead of ERROR: "foo * bar" should be "foo *bar" ERROR: trailing whitespace WARNING: usage of NR_CPUS is often wrong - consider using cpu_possible(), num_possible_cpus(), for_each_possible_cpu(), etc total: 2 errors, 2 warnings Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 46814dded1b972a07b1609d81632eef3009fbb10 Author: Cliff Wickman Date: Wed Dec 31 13:20:50 2008 -0600 x86, UV: remove erroneous BAU initialization Impact: fix crash on x86/UV UV is the SGI "UltraViolet" machine, which is x86_64 based. BAU is the "Broadcast Assist Unit", used for TLB shootdown in UV. This patch removes the allocation and initialization of an unused table. This table is left over from a development test mode. It is unused in the present code. And it was incorrectly initialized: 8 entries allocated but 17 initialized, causing slab corruption. This patch should go into 2.6.27 and 2.6.28 as well as the current tree. Diffed against 2.6.28 (linux-next, 12/30/08) Signed-off-by: Cliff Wickman Cc: Signed-off-by: Ingo Molnar commit 26799a63110dcbe81291ea53178f6b4810d07424 Author: Ravikiran G Thirumalai Date: Wed Dec 31 13:44:46 2008 -0800 x86: fix incorrect __read_mostly on _boot_cpu_pda The pda rework (commit 3461b0af025251bbc6b3d56c821c6ac2de6f7209) to remove static boot cpu pdas introduced a performance bug. _boot_cpu_pda is the actual pda used by the boot cpu and is definitely not "__read_mostly" and ended up polluting the read mostly section with writes. This bug caused regression of about 8-10% on certain syscall intensive workloads. Signed-off-by: Ravikiran Thirumalai Acked-by: Mike Travis Cc: Signed-off-by: Ingo Molnar commit b16aabc9374217fa2d28e72fd9a6e6d60905e1b9 Author: Borislav Petkov Date: Fri Jan 2 16:12:56 2009 +0100 ide-atapi: start dma in a drive-specific way There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 06cc2778a1744b79edcfa394ce2d41f09134b2b1 Author: Borislav Petkov Date: Fri Jan 2 16:12:56 2009 +0100 ide-atapi: put the rest of non-ide-cd code into the else-clause of ide_transfer_pc There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 28ad91db77755f1c49d79652de11b28ee2cfbf03 Author: Borislav Petkov Date: Fri Jan 2 16:12:56 2009 +0100 ide-atapi: remove timeout arg to ide_issue_pc There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 65a3309e552585c4908e50e3c9736afb764c97c0 Author: Borislav Petkov Date: Fri Jan 2 16:12:55 2009 +0100 ide-cd: remove handler wrappers Remove cdrom_do_newpc_cont and cdrom_start_rw_cont wrappers and pass cdrom_transfer_packet_command to ide_execute_command directly. There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov [bart: don't move cdrom_start_packet_command() around, remove newlines] Signed-off-by: Bartlomiej Zolnierkiewicz commit 563d993153ab16d829ba373c5c070a118eb1eba4 Author: Borislav Petkov Date: Fri Jan 2 16:12:55 2009 +0100 ide-cd: remove xferlen arg to cdrom_start_packet_command There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit d77612ab0ad7515623b084b952dfefd547073ada Author: Borislav Petkov Date: Fri Jan 2 16:12:55 2009 +0100 ide-atapi: split drive-specific functionality in ide_issue_pc There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit def860d061d0fcab7fbbe193c0b8b8f0b9b4c828 Author: Borislav Petkov Date: Fri Jan 2 16:12:55 2009 +0100 ide-atapi: assign expiry and timeout based on device type There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8c662852d1aa35ed370942ef2740759cd334d2d5 Author: Borislav Petkov Date: Fri Jan 2 16:12:54 2009 +0100 ide-atapi: compute cmd_len based on device type in ide_transfer_pc There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov [bart: move cmd_len check closer to ->output_data() call] Signed-off-by: Bartlomiej Zolnierkiewicz commit 5317464dccd0c03026d60f1e9968de4f9cd23f69 Author: Borislav Petkov Date: Fri Jan 2 16:12:54 2009 +0100 ide: remove the last ide-scsi remnants Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5d655a03b847fbe5353a8a74bbeb75e18708dca3 Author: Borislav Petkov Date: Fri Jan 2 16:12:54 2009 +0100 ide-atapi: remove ide-scsi remnants from ide_pc_intr() As a result, remove now unused ide_scsi_get_timeout and ide_scsi_expiry. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5fe3110431ccf437607bdc11ac3677bf3eeee6e3 Author: Borislav Petkov Date: Fri Jan 2 16:12:53 2009 +0100 ide-atapi: remove ide-scsi remnants from ide_transfer_pc() Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 152fe1cc38ebebb81724663e3b1e1e10272a729e Author: Borislav Petkov Date: Fri Jan 2 16:12:53 2009 +0100 ide-atapi: remove ide-scsi remnants from ide_issue_pc Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4cad085efbce8dcc5006b0d1034089758b4fc7ba Author: Borislav Petkov Date: Fri Jan 2 16:12:53 2009 +0100 ide-cd: move cdrom_timer_expiry to ide-atapi.c - cdrom_timer_expiry -> ide_cd_expiry - remove expiry-arg to ide_issue_pc as it is redundant now - ide_debug_log -> debug_log Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5f25843fa79b7c35097b0ffe8b2c5cc2428d6495 Author: Borislav Petkov Date: Fri Jan 2 16:12:53 2009 +0100 ide-atapi: teach ide atapi about drive->waiting_for_dma In addition, we wait for DRQ to be asserted by repeatedly polling device status no matter what DRQ type each device implements. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 392de1d53dd40e2eebee3a0a26aa647a3865ca78 Author: Borislav Petkov Date: Fri Jan 2 16:12:52 2009 +0100 ide-atapi: accomodate transfer length calculation for ide-cd ... by factoring it out of ide_cd_do_request() into a helper, as suggested by Bart. There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov [bart: BLK_DEV_IDECD needs to select IDE_ATAPI now] Signed-off-by: Bartlomiej Zolnierkiewicz commit 4f02ff06b4d33aba50ce5157c23e99cd21d447ee Author: Borislav Petkov Date: Fri Jan 2 16:12:52 2009 +0100 ide-atapi: setup dma for ide-cd There should be no functional change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit ed48554fad7091b9613b967462f082bf1a9cb035 Author: Borislav Petkov Date: Fri Jan 2 16:12:52 2009 +0100 ide-atapi: combine drive-specific assignments There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 991cb26a6ad287c3bc6555c41e830590a23910c4 Author: Borislav Petkov Date: Fri Jan 2 16:12:52 2009 +0100 ide-atapi: add a dev_is_idecd-inline There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 93c164af19f608c5f737eb9bed8cb4de3a872329 Author: FUJITA Tomonori Date: Fri Jan 2 16:12:51 2009 +0100 remove ide-scsi As planed, this removes ide-scsi. The 2.6 kernel supports direct writing to ide CD drives, which eliminates the need for ide-scsi. ide-scsi has been unmaintained and marked as deprecated. Signed-off-by: FUJITA Tomonori Cc: James.Bottomley@HansenPartnership.com Signed-off-by: Bartlomiej Zolnierkiewicz commit 07bd3f4731f9c7ebcbab90905ca4ad6fc6825f96 Author: Linus Torvalds Date: Fri Jan 2 16:12:51 2009 +0100 ide-floppy: allocate only toplevel packet commands This makes the top-level function just allocate a single pc entry, and then pass it down as a pointer to all the helper functions that also need one of those "struct ide_atapi_pc" things. As far as I can tell, the use of these things never overlaps each other, BUT I DID NOT CHECK VERY CLOSELY! So I'm not guaranteeing this is correct, and I don't have the hardware. It would be good for somebody who knows the code more, and has the hardware, could please test this? With this, ide-floppy still has fairly big stack usage, but instead of idefloppy_ioctl [vmlinux]: 1208 ide_floppy_get_capacity [vmlinux]: 872 idefloppy_release [vmlinux]: 408 idefloppy_open [vmlinux]: 408 where those two first ones are at the very top of the list of stack users for me, it's now ide_floppy_get_capacity [vmlinux]: 404 ide_floppy_ioctl [vmlinux]: 364 ie they are still high, but they are no longer at the top. Borislav: Since ide_floppy_get_capacity is passed as a function pointer to other parts of the kernel (e.g., block layer) we need that ide_atapi_pc to be created on stack. Also, redid stack users numbers above. The two functions missing from Linus' original 'make stackusage' output are due to ide being rewritten/reorganized atm. Signed-off-by: Linus Torvalds Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit bf64741fe89280bd81a9e3a1beadec1570861848 Author: Borislav Petkov Date: Fri Jan 2 16:12:50 2009 +0100 ide: make IDE_AFLAG_.. numbering continuous again Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 0f38aaa4980fdf5de215e0a8bf6d6032164a6c4b Author: Borislav Petkov Date: Fri Jan 2 16:12:50 2009 +0100 ide-cd: move debug defines into header While at it: - disable compiling-in debug support by default Signed-off-by: Borislav Petkov [bart: fixup patch description] Signed-off-by: Bartlomiej Zolnierkiewicz commit 201bffa46466b4afdf7d29db8eca3fa5decb39c8 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 2 16:12:50 2009 +0100 ide: use per-device request queue locks (v2) * Move hack for flush requests from choose_drive() to do_ide_request(). * Add ide_plug_device() helper and convert core IDE code from using per-hwgroup lock as a request lock to use the ->queue_lock instead. * Remove no longer needed: - choose_drive() function - WAKEUP() macro - 'sleeping' flag from ide_hwif_t - 'service_{start,time}' fields from ide_drive_t This patch results in much simpler and more maintainable code (besides being a scalability improvement). v2: * Fixes/improvements based on review from Elias: - take as many requests off the queue as possible - remove now redundant BUG_ON() Cc: Elias Oltmanns Signed-off-by: Bartlomiej Zolnierkiewicz commit 631de3708d595d153e8a510a3608689290f4c0ed Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 2 16:12:50 2009 +0100 ide: add ide_[un]lock_hwgroup() helpers Add ide_[un]lock_hwgroup() inline helpers for obtaining exclusive access to the given hwgroup and update the core code accordingly. [ This change besides making code saner results in more efficient use of ide_{get,release}_lock(). ] Cc: Michael Schmitz Cc: Geert Uytterhoeven Cc: Elias Oltmanns Signed-off-by: Bartlomiej Zolnierkiewicz commit b2cfb05a701809abee591265a198afa029d68bff Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 2 16:12:49 2009 +0100 ide: remove "paranoia" checks for hwgroup->busy Remove "paranoia" checks for hwgroup->busy from ide_timer_expiry() and ide_intr(). This is a preparation for future changes. Cc: Michael Schmitz Cc: Geert Uytterhoeven Cc: Elias Oltmanns Signed-off-by: Bartlomiej Zolnierkiewicz commit 2fb211502e2c0513e12d677ed4d7891f3c5e1413 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 2 16:12:49 2009 +0100 ide: remove IDE PM hack from do_ide_request() We now tell block layer that there is still work to do using blk_plug_device() so hack for IDE Power Management can be removed (it was buggy for hwgroups having more than 4 devices anyway). Signed-off-by: Bartlomiej Zolnierkiewicz commit 295f00042aaf6b553b5f37348f89bab463d4a469 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 2 16:12:48 2009 +0100 ide: don't execute the next queued command from the hard-IRQ context (v2) * Tell the block layer that we are not done handling requests by using blk_plug_device() in ide_do_request() (request handling function) and ide_timer_expiry() (timeout handler) if the queue is not empty. * Remove optimization which directly calls ide_do_request() for the next queued command from the ide_intr() (IRQ handler) and ide_timer_expiry(). * Remove no longer needed IRQ masking from ide_do_request() - in case of IDE ports needing serialization disable_irq_nosync()/enable_irq() was used for the (possibly shared) IRQ of the other IDE port. * Put the misplaced comment in the right place in ide_do_request(). * Drop no longer needed 'int masked_irq' argument from ide_do_request(). * Merge ide_do_request() into do_ide_request(). * Remove no longer needed IDE_NO_IRQ define. While at it: * Don't use HWGROUP() macro in do_ide_request(). * Use __func__ in ide_intr(). This patch reduces IRQ hadling latency for IDE and improves the system-wide handling of shared IRQs (which should result in more timeout resistant and stable IDE systems). It also makes it possible to do some further changes later (i.e. replace some busy-waiting delays with sleeping equivalents). v2: Changes per review from Elias Oltmanns: - fix wrong goto statement in 'if (startstop == ide_stopped)' block - use spin_unlock_irq() - don't use obsolete HWIF() macro Cc: Elias Oltmanns Signed-off-by: Bartlomiej Zolnierkiewicz commit ebdab07dad3d3a008e519b0a028e1e1ad5ecaef0 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 2 16:12:48 2009 +0100 ide: move sysfs support to ide-sysfs.c While at it: - media_string() -> ide_media_string() There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 24630dc68a499baec367d24285bc6b92207cc100 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 2 16:12:47 2009 +0100 ide: factor out device type classifying from do_identify() Factor out device type classifying from do_identify() to ide_classify_ata_dev() and ide_classify_atapi_dev(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 96d40941236722777c259775640b8880b7dc6f33 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 2 16:12:47 2009 +0100 ide: small ide_register_port() cleanup Signed-off-by: Bartlomiej Zolnierkiewicz commit b1d249e845efb07975183c62b4f75576c4a8d467 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 2 16:12:47 2009 +0100 ide: remove chipset type fixup from ide_host_register() * Set chipset type explicitly in tx4938ide and tx4939ide host drivers (all other host drivers were updated already). * Remove no longer used chipset type fixup from ide_host_register(). Acked-by: Atsushi Nemoto Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3ee86dcdd273aa91cb9b4fe1e3d4f69035750a12 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 2 16:12:46 2009 +0100 tx493x: fix indentation Trivial CodingStyle fixup for tx4938ide and tx4939ide drivers. Acked-by: Atsushi Nemoto Acked-by: Sergei Shtyltov Signed-off-by: Bartlomiej Zolnierkiewicz commit a9067d537615d534dcef06c0d819472e43a0d152 Author: Ingo Brueckl Date: Fri Jan 2 14:42:00 2009 +0100 x86: convert permanent_kmaps_init() from macro to inline Impact: cleanup This compiler warning: arch/x86/mm/init_32.c:515: warning: unused variable 'pgd_base' triggers because permanent_kmaps_init() is a CPP macro in the !CONFIG_HIGHMEM case, that does not tell the compiler that the 'pgd_base' parameter is used. Convert permanent_kmaps_init() (and set_highmem_pages_init()) to C inline functions - which gives the parameter a proper type and which gets rid of the compiler warning as well. Signed-off-by: Ingo Brueckl Signed-off-by: Ingo Molnar commit b21a207141d83a06abc5f492b80204602e02ca44 Merge: 3af3730... b58602a... Author: David Vrabel Date: Fri Jan 2 13:17:13 2009 +0000 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-upstream Conflicts: drivers/uwb/wlp/eda.c commit c64d8996bd758cedc2ddc04b86ca66fa1d8599cf Author: Cyrill Gorcunov Date: Fri Jan 2 11:27:18 2009 +0300 x86: early_printk - use sizeof instead of hardcoded number Impact: cleanup Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit b58602a4bac012b5f4fc12fe6b46ab237b610d5d Merge: db200df... 1f3403f... Author: Linus Torvalds Date: Wed Dec 31 15:57:56 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (34 commits) nfsd race fixes: jfs nfsd race fixes: reiserfs nfsd race fixes: ext4 nfsd race fixes: ext3 nfsd race fixes: ext2 nfsd/create race fixes, infrastructure filesystem notification: create fs/notify to contain all fs notification fs/block_dev.c: __read_mostly improvement and sb_is_blkdev_sb utilization kill ->dir_notify() filp_cachep can be static in fs/file_table.c fix f_count description in Documentation/filesystems/files.txt make INIT_FS use the __RW_LOCK_UNLOCKED initialization take init_fs to saner place kill vfs_permission pass a struct path * to may_open kill walk_init_root remove incorrect comment in inode_permission expand some comments (d_path / seq_path) correct wrong function name of d_put in kernel document and source comment fix switch_names() breakage in short-to-short case ... commit 8c384cdee3e04d6194a2c2b192b624754f990835 Author: Rusty Russell Date: Thu Jan 1 10:12:30 2009 +1030 cpumask: CONFIG_DISABLE_OBSOLETE_CPUMASK_FUNCTIONS Impact: new debug CONFIG options This helps find unconverted code. It currently breaks compile horribly, but we never wanted a flag day so that's expected. Signed-off-by: Rusty Russell commit 2a53008033189ed09bfe241c6b33811ba4ce980d Author: Rusty Russell Date: Thu Jan 1 10:12:30 2009 +1030 cpumask: zero extra bits in alloc_cpumask_var_node Impact: extra safety checks during transition When CONFIG_CPUMASKS_OFFSTACK is set, the new cpumask_ operators only use bits up to nr_cpu_ids, not NR_CPUS. Using the old cpus_ operators on these masks can mean accessing undefined bits. After some discussion, Mike and I decided to err on the side of caution; we zero the "undefined" bits in alloc_cpumask_var_node() until all the old cpumask functions are removed. Signed-off-by: Rusty Russell commit 5db0e1e9e0f30f160b832a0b5cd1131954bf4f6e Author: Rusty Russell Date: Thu Jan 1 10:12:29 2009 +1030 cpumask: replace for_each_cpu_mask_nr with for_each_cpu in kernel/time/ Impact: cleanup Simple replacement, now the _nr is redundant. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Cc: Ingo Molnar commit 174596a0b9f21e8844d70566a6bb29bf48a87750 Author: Rusty Russell Date: Thu Jan 1 10:12:29 2009 +1030 cpumask: convert mm/ Impact: Use new API Convert kernel mm functions to use struct cpumask. We skip include/linux/percpu.h and mm/allocpercpu.c, which are in flux. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Reviewed-by: Christoph Lameter commit 41c7bb9588904eb060a95bcad47bd3804a1ece25 Author: Rusty Russell Date: Thu Jan 1 10:12:28 2009 +1030 cpumask: convert rest of files in kernel/ Impact: Reduce stack usage, use new cpumask API. Mainly changing cpumask_t to 'struct cpumask' and similar simple API conversion. Two conversions worth mentioning: 1) we use cpumask_any_but to avoid a temporary in kernel/softlockup.c, 2) Use cpumask_var_t in taskstats_user_cmd(). Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Cc: Balbir Singh Cc: Ingo Molnar commit e0b582ec56f1a1d8b30ebf340a7b91fb09f26c8c Author: Rusty Russell Date: Thu Jan 1 10:12:28 2009 +1030 cpumask: convert kernel/cpu.c Impact: Reduce kernel stack and memory usage, use new cpumask API. Use cpumask_var_t for take_cpu_down() stack var, and frozen_cpus. Note that notify_cpu_starting() can be called before core_initcall allocates frozen_cpus, but the NULL check is optimized out by gcc for the CONFIG_CPUMASK_OFFSTACK=n case. Signed-off-by: Rusty Russell commit c309b917cab55799ea489d7b5f1b77025d9f8462 Author: Rusty Russell Date: Thu Jan 1 10:12:27 2009 +1030 cpumask: convert kernel/profile.c Impact: Reduce kernel memory usage, use new cpumask API. Avoid a static cpumask_t for prof_cpu_mask, and an on-stack cpumask_t in prof_cpu_mask_write_proc. Both become cpumask_var_t. prof_cpu_mask is only allocated when profiling is on, but the NULL checks are optimized out by gcc for the !CPUMASK_OFFSTACK case. Also removed some strange and unnecessary casts. Signed-off-by: Rusty Russell commit bd232f97b30f6bb630efa136a777647545db3039 Author: Rusty Russell Date: Thu Jan 1 10:12:26 2009 +1030 cpumask: convert RCU implementations Impact: use new cpumask API. rcu_ctrlblk contains a cpumask, and it's highly optimized so I don't want a cpumask_var_t (ie. a pointer) for the CONFIG_CPUMASK_OFFSTACK case. It could use a dangling bitmap, and be allocated in __rcu_init to save memory, but for the moment we use a bitmap. (Eventually 'struct cpumask' will be undefined for CONFIG_CPUMASK_OFFSTACK, so we use a bitmap here to show we really mean it). We remove on-stack cpumasks, using cpumask_var_t for rcu_torture_shuffle_tasks() and for_each_cpu_and in force_quiescent_state(). Signed-off-by: Rusty Russell commit d036e67b40f52bdd95392390108defbac7e53837 Author: Rusty Russell Date: Thu Jan 1 10:12:26 2009 +1030 cpumask: convert kernel/irq Impact: Reduce stack usage, use new cpumask API. ALPHA mod! Main change is that irq_default_affinity becomes a cpumask_var_t, so treat it as a pointer (this effects alpha). Signed-off-by: Rusty Russell commit 6b954823c24f04ed026a8517f6bab5abda279db8 Author: Rusty Russell Date: Thu Jan 1 10:12:25 2009 +1030 cpumask: convert kernel time functions Impact: Use new APIs Convert kernel/time functions to use struct cpumask *. Note the ugly bitmap declarations in tick-broadcast.c. These should be cpumask_var_t, but there was no obvious initialization function to put the alloc_cpumask_var() calls in. This was safe. (Eventually 'struct cpumask' will be undefined for CONFIG_CPUMASK_OFFSTACK, so we use a bitmap here to show we really mean it). Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit e7577c50f2fb2d1c167e2c04a4b4c2cc042acb82 Author: Rusty Russell Date: Thu Jan 1 10:12:25 2009 +1030 cpumask: convert kernel/workqueue.c Impact: Reduce memory usage, use new cpumask API. cpu_populated_map becomes a cpumask_var_t, and cpu_singlethread_map is simply a cpumask pointer: it's simply the cpumask containing the first possible CPU anyway. Signed-off-by: Rusty Russell commit a45185d2d7108b01b90b9e0293377be4d6346dde Author: Rusty Russell Date: Thu Jan 1 10:12:24 2009 +1030 cpumask: convert kernel/compat.c Impact: Reduce stack usage, use new cpumask API. Straightforward conversion; cpumasks' size is given by cpumask_size() (now a variable rather than fixed) and on-stack cpu masks use cpumask_var_t. Signed-off-by: Rusty Russell commit 3e597945384dee1457240158eb81e3afb90b68c2 Author: Rusty Russell Date: Thu Jan 1 10:12:24 2009 +1030 cpumask: remove any_online_cpu() users: mm/ Impact: Remove obsolete API usage any_online_cpu() is a good name, but it takes a cpumask_t, not a pointer. There are several places where any_online_cpu() doesn't really want a mask arg at all. Replace all callers with cpumask_any() and cpumask_any_and(). Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit f1fc057c79cb2d27602fb3ad08a031f13459ef27 Author: Rusty Russell Date: Thu Jan 1 10:12:23 2009 +1030 cpumask: remove any_online_cpu() users: kernel/ Impact: Remove obsolete API usage any_online_cpu() is a good name, but it takes a cpumask_t, not a pointer. There are several places where any_online_cpu() doesn't really want a mask arg at all. Replace all callers with cpumask_any() and cpumask_any_and(). Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit 4462344ee9ea9224d026801b877887f2f39774a3 Author: Rusty Russell Date: Thu Jan 1 10:12:23 2009 +1030 cpumask: convert kernel trace functions further Impact: Reduce future memory usage, use new cpumask API. Since the last patch was created and acked, more old cpumask users slipped into kernel/trace. Mostly trivial conversions, except struct trace_iterator's "started" member becomes a cpumask_var_t. Signed-off-by: Rusty Russell commit 9e01c1b74c9531e301c900edaa92a99fcb7738f2 Author: Rusty Russell Date: Thu Jan 1 10:12:22 2009 +1030 cpumask: convert kernel trace functions Impact: Reduce future memory usage, use new cpumask API. (Eventually, cpumask_var_t will be allocated based on nr_cpu_ids, not NR_CPUS). Convert kernel trace functions to use struct cpumask API: 1) Use cpumask_copy/cpumask_test_cpu/for_each_cpu. 2) Use cpumask_var_t and alloc_cpumask_var/free_cpumask_var everywhere. 3) Use on_each_cpu instead of playing with current->cpus_allowed. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Acked-by: Steven Rostedt commit 333af15341b2f6cd813c054e1b441d7b6d8e9318 Author: Rusty Russell Date: Thu Jan 1 10:12:21 2009 +1030 cpumask: Introduce topology_core_cpumask()/topology_thread_cpumask(): ia64 Impact: New API The old topology_core_siblings() and topology_thread_siblings() return a cpumask_t; these new ones return a (const) struct cpumask *. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit 9150641dd17fe9e213ab3391c8ebfc228daa2d9d Author: Rusty Russell Date: Thu Jan 1 10:12:21 2009 +1030 cpumask: Introduce topology_core_cpumask()/topology_thread_cpumask(): powerpc Impact: New API The old topology_core_siblings() and topology_thread_siblings() return a cpumask_t; these new ones return a (const) struct cpumask *. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit 2bb23a63f22f0e2d91fee93ff5ca9c29e180b146 Author: Rusty Russell Date: Thu Jan 1 10:12:20 2009 +1030 cpumask: Introduce topology_core_cpumask()/topology_thread_cpumask(): s390 Impact: New API The old topology_core_siblings() and topology_thread_siblings() return a cpumask_t; these new ones return a (const) struct cpumask *. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit 78fd744f827586615da5b387fa9f0af1888601b6 Author: Rusty Russell Date: Thu Jan 1 10:12:20 2009 +1030 cpumask: Introduce topology_core_cpumask()/topology_thread_cpumask(): sparc Impact: New API The old topology_core_siblings() and topology_thread_siblings() return a cpumask_t; these new ones return a (const) struct cpumask *. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit e0c0ba736547e81c4f986ce192307c549d214167 Author: Rusty Russell Date: Thu Jan 1 10:12:19 2009 +1030 cpumask: Use find_last_bit() Impact: cleanup There's one obvious place to use it: to find the highest possible cpu. Signed-off-by: Rusty Russell commit ab53d472e785e51fdfc08fc1d66252c1153e6c0f Author: Rusty Russell Date: Thu Jan 1 10:12:19 2009 +1030 bitmap: find_last_bit() Impact: New API As the name suggests. For the moment everyone uses the generic one. Signed-off-by: Rusty Russell commit 0db5d3d2f58804edb394e8008c7d9744110338a2 Author: Rusty Russell Date: Thu Jan 1 10:12:18 2009 +1030 m68knommu: define __fls Like fls, but can't be handed 0 and returns the bit number. (I broke this arch in linux-next by using __fls in generic code). Signed-off-by: Rusty Russell commit 434ae514c23047db87a8bbf39cebc9e1767aea44 Author: Rusty Russell Date: Thu Jan 1 10:12:18 2009 +1030 m68k: define __fls Like fls, but can't be handed 0 and returns the bit number. (I broke this arch in linux-next by using __fls in generic code). Signed-off-by: Rusty Russell commit ccec25ff69d5f48c7a088c16fe2dc7e11d9e87fe Author: Rusty Russell Date: Thu Jan 1 10:12:17 2009 +1030 blackfin: define __fls Like fls, but can't be handed 0 and returns the bit number. (I broke this arch in linux-next by using __fls in generic code). Signed-off-by: Rusty Russell Acked-by: Mike Frysinger commit 96b8d4c19d797200b973caab57ca842531184c13 Author: Rusty Russell Date: Thu Jan 1 10:12:16 2009 +1030 avr32: define __fls Like fls, but can't be handed 0 and returns the bit number. (I broke this arch in linux-next by using __fls in generic code). Signed-off-by: Rusty Russell commit 165ac433fa3f01ba99b29972f3adc283d03b0f17 Author: Rusty Russell Date: Thu Jan 1 10:12:16 2009 +1030 parisc: remove gratuitous cpu_online_map declaration. This is defined in linux/cpumask.h (included in this file already), and this is now defined differently. Signed-off-by: Rusty Russell Cc: linux-parisc@vger.kernel.org commit 915441b601e6662e79f6c958e7be307967a96977 Author: Rusty Russell Date: Thu Jan 1 10:12:15 2009 +1030 cpumask: Use accessors code in core Impact: use new API cpu_*_map are going away in favour of cpu_*_mask, but const pointers. So we have accessors where we really do want to frob them. Archs will also need the (trivial) conversion before we can finally remove cpu_*_map. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit 4f4b6c1a94a8735bbdc030a2911cf395495645b6 Author: Rusty Russell Date: Thu Jan 1 10:12:15 2009 +1030 cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.: core Impact: cleanup In future, all cpumask ops will only be valid (in general) for bit numbers < nr_cpu_ids. So use that instead of NR_CPUS in iterators and other comparisons. This is always safe: no cpu number can be >= nr_cpu_ids, and nr_cpu_ids is initialized to NR_CPUS at boot. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Acked-by: Ingo Molnar Acked-by: James Morris Cc: Eric Biederman commit 9e2f913df70b378379a358a44e7d286f7b765e8e Author: Rusty Russell Date: Thu Jan 1 10:12:14 2009 +1030 percpu: fix percpu accessors to potentially !cpu_possible() cpus: m32r Impact: CPU iterator bugfixes Percpu areas are only allocated for possible cpus. In general, you shouldn't access random cpu's percpu areas. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Acked-by: Ingo Molnar Acked-by: Hirokazu Takata commit 6aaa8ce523c7ce954b81b8c0b3e32c8be599af8d Author: Rusty Russell Date: Thu Jan 1 10:12:14 2009 +1030 percpu: fix percpu accessors to potentially !cpu_possible() cpus: pnpbios Impact: CPU iterator bugfixes Percpu areas are only allocated for possible cpus. In general, you shouldn't access random cpu's percpu areas. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Acked-by: Ingo Molnar Cc: Adam Belay commit e9690a6e4b1615cb0102e425e04b7ce29e7858e2 Author: Li Zefan Date: Wed Dec 31 16:45:50 2008 +0800 cpumask: fix bogus kernel-doc Impact: fix kernel-doc alloc_bootmem_cpumask_var() returns avoid. Signed-off-by: Li Zefan Signed-off-by: Rusty Russell commit f320786063a9d1f885d2cf34ab44aa69c1d88f43 Author: Rusty Russell Date: Thu Jan 1 10:12:13 2009 +1030 cpumask: Remove IA64 definition of total_cpus now it's in core code Impact: fix IA64 compile Fortunately, they have exactly the same semantics. Signed-off-by: Rusty Russell commit 1f3403fa640f9f7b135dee79f2d39d01c8ad4a08 Author: Dave Kleikamp Date: Tue Dec 30 22:08:37 2008 -0600 nfsd race fixes: jfs jfs version of Al Viro's nfsd race patches Signed-off-by: Dave Kleikamp Signed-off-by: Al Viro commit c1eaa26b671299b3ec01d40c6c71ee19a4f81517 Author: Al Viro Date: Tue Dec 30 02:03:58 2008 -0500 nfsd race fixes: reiserfs ... and the same for reiserfs. The difference here is that we need insert_inode_locked4() to match iget5_locked(). Signed-off-by: Al Viro commit 6b38e842bb832a3dbeb17e382404aef3c40ac5f9 Author: Al Viro Date: Tue Dec 30 02:03:31 2008 -0500 nfsd race fixes: ext4 Signed-off-by: Al Viro commit c38012daa7ad902a39a4213ba2b3fe50e81157ea Author: Al Viro Date: Tue Dec 30 02:02:50 2008 -0500 nfsd race fixes: ext3 ext3 analog of the previous patch Signed-off-by: Al Viro commit 41080b5a240113328c607f22b849f653373db0ce Author: Al Viro Date: Tue Dec 30 01:52:35 2008 -0500 nfsd race fixes: ext2 * make ext2_new_inode() put the inode into icache in locked state * do not unlock until the inode is fully set up; otherwise nfsd might pick it in half-baked state. * make sure that ext2_new_inode() does *not* lead to two inodes with the same inumber hashed at the same time; otherwise a bogus fhandle coming from nfsd might race with inode creation: nfsd: iget_locked() creates inode nfsd: try to read from disk, block on that. ext2_new_inode(): allocate inode with that inumber ext2_new_inode(): insert it into icache, set it up and dirty ext2_write_inode(): get the relevant part of inode table in cache, set the entry for our inode (and start writing to disk) nfsd: get CPU again, look into inode table, see nice and sane on-disk inode, set the in-core inode from it oops - we have two in-core inodes with the same inumber live in icache, both used for IO. Welcome to fs corruption... Signed-off-by: Al Viro commit 261bca86ed4f7f391d1938167624e78da61dcc6b Author: Al Viro Date: Tue Dec 30 01:48:21 2008 -0500 nfsd/create race fixes, infrastructure new helpers - insert_inode_locked() and insert_inode_locked4(). Hash new inode, making sure that there's no such inode in icache already. If there is and it does not end up unhashed (as would happen if we have nfsd trying to resolve a bogus fhandle), fail. Otherwise insert our inode into hash and succeed. In either case have i_state set to new+locked; cleanup ends up being simpler with such calling conventions. Signed-off-by: Al Viro commit 272eb01485dda98e3b8910c7c1a53d597616b0a0 Author: Eric Paris Date: Wed Dec 17 13:59:41 2008 -0500 filesystem notification: create fs/notify to contain all fs notification Creating a generic filesystem notification interface, fsnotify, which will be used by inotify, dnotify, and eventually fanotify is really starting to clutter the fs directory. This patch simply moves inotify and dnotify into fs/notify/inotify and fs/notify/dnotify respectively to make both current fs/ and future notification tidier. Signed-off-by: Eric Paris Signed-off-by: Al Viro commit c2acf7b90821785fe812cc0aa05148e5a1f84204 Author: Denis ChengRq Date: Mon Dec 1 14:34:56 2008 -0800 fs/block_dev.c: __read_mostly improvement and sb_is_blkdev_sb utilization - iget5_locked in bdget really needs blockdev_superblock, instead of bd_mnt, so bd_mnt could be just a local variable; - blockdev_superblock really needs __read_mostly, while local var bd_mnt not; - make use of sb_is_blkdev_sb in bd_forget, instead of direct reference to blockdev_superblock. Signed-off-by: Denis ChengRq Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 6badd79bd002788aaec27b50a74ab69ef65ab8ee Author: Al Viro Date: Fri Dec 26 00:57:40 2008 -0500 kill ->dir_notify() Remove the hopelessly misguided ->dir_notify(). The only instance (cifs) has been broken by design from the very beginning; the objects it creates are never destroyed, keep references to struct file they can outlive, nothing that could possibly evict them exists on close(2) path *and* no locking whatsoever is done to prevent races with close(), should the previous, er, deficiencies someday be dealt with. Signed-off-by: Al Viro commit b6b3fdead251d432f32f2cfce2a893ab8a658110 Author: Eric Dumazet Date: Wed Dec 10 09:35:45 2008 -0800 filp_cachep can be static in fs/file_table.c Instead of creating the "filp" kmem_cache in vfs_caches_init(), we can do it a litle be later in files_init(), so that filp_cachep is static to fs/file_table.c Acked-by: Paul E. McKenney Signed-off-by: Eric Dumazet Signed-off-by: Al Viro commit fd659fd6275d3426d7967da1f0e3638bbbd2fedb Author: Eric Dumazet Date: Wed Dec 10 09:35:45 2008 -0800 fix f_count description in Documentation/filesystems/files.txt Documentation/filesystems/files.txt was not updated when f_count became an atomic_long_t. atomic_long_inc_not_zero() is now used instead of atomic_inc_not_zero() Signed-off-by: Al Viro commit 1239f26c05899f1f3c541b41e719c59d58038786 Author: Steven Rostedt Date: Wed Dec 10 18:37:28 2008 -0500 make INIT_FS use the __RW_LOCK_UNLOCKED initialization [AV: rediffed on top of unification of init_fs] Initialization of init_fs still uses the deprecated RW_LOCK_UNLOCKED macro. This patch updates it to use the __RW_LOCK_UNLOCKED(lock) macro. Signed-off-by: Steven Rostedt Signed-off-by: Al Viro commit 18d8fda7c3c9439be04d7ea2e82da2513b121acb Author: Al Viro Date: Fri Dec 26 00:35:37 2008 -0500 take init_fs to saner place Signed-off-by: Al Viro commit cb23beb55100171646e69e248fb45f10db6e99a4 Author: Christoph Hellwig Date: Fri Oct 24 09:59:29 2008 +0200 kill vfs_permission With all the nameidata removal there's no point anymore for this helper. Of the three callers left two will go away with the next lookup series anyway. Also add proper kerneldoc to inode_permission as this is the main permission check routine now. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 3fb64190aa3c23c10e6e9fd0124ac030115c99bf Author: Christoph Hellwig Date: Fri Oct 24 09:58:10 2008 +0200 pass a struct path * to may_open No need for the nameidata in may_open - a struct path is enough. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit b4091d5f6fde28ab762e1094a1a26d81f3badfa5 Author: Christoph Hellwig Date: Wed Nov 5 15:07:21 2008 +0100 kill walk_init_root walk_init_root is a tiny helper that is marked __always_inline, has just one caller and an unused argument. Just merge it into the caller. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 66f221875dc10813aa2f06c83ad60d0eb1356406 Author: Christoph Hellwig Date: Wed Nov 5 15:04:29 2008 +0100 remove incorrect comment in inode_permission We now pass on all MAY_ flags to the filesystems permission routines, so remove the comment stating the contrary. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 52afeefb9dac9287429642189996426a2bfd6a25 Author: Arjan van de Ven Date: Mon Dec 1 14:35:00 2008 -0800 expand some comments (d_path / seq_path) Explain that you really need to use the return value of d_path rather than the buffer you passed into it. Also fix the comment for seq_path(), the function arguments changed recently but the comment hadn't been updated in sync. Signed-off-by: Arjan van de Ven Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit be42c4c433c2c0d3f1583c08908fead00d36d222 Author: Zhaolei Date: Mon Dec 1 14:34:58 2008 -0800 correct wrong function name of d_put in kernel document and source comment no function named d_put(), it should be dput(). Impact: fix document and comment, no functionality changed Signed-off-by: Zhao Lei Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit dc711ca35f9d95a1eec02118e0c298b5e3068315 Author: Al Viro Date: Mon Nov 3 15:03:50 2008 -0500 fix switch_names() breakage in short-to-short case We want ->name.len to match the resulting name on *both* source and target Signed-off-by: Al Viro commit 7df5fa06de89a4ac311957e0cb9c1d87552b4325 Author: Duane Griffin Date: Fri Dec 19 20:47:18 2008 +0000 befs: ensure fast symlinks are NUL-terminated Ensure fast symlink targets are NUL-terminated, even if corrupted on-disk. Cc: Sergey S. Kostyliov Signed-off-by: Duane Griffin Signed-off-by: Al Viro commit a63d0ff31a136bdf52350c4e6c2929eaf47ea2b2 Author: Duane Griffin Date: Fri Dec 19 20:47:17 2008 +0000 freevxfs: ensure fast symlinks are NUL-terminated Ensure fast symlink targets are NUL-terminated, even if corrupted on-disk. Cc: Christoph Hellwig Signed-off-by: Duane Griffin Signed-off-by: Al Viro commit 21acaf8e8da00235be59a3e489d5fa2a8721cafc Author: Duane Griffin Date: Fri Dec 19 20:47:16 2008 +0000 sysv: ensure fast symlinks are NUL-terminated Ensure fast symlink targets are NUL-terminated, even if corrupted on-disk. Cc: Christoph Hellwig Cc: Al Viro Signed-off-by: Duane Griffin Signed-off-by: Al Viro commit e83c1397cafc4e44f868289db5e417463c0d09a4 Author: Duane Griffin Date: Fri Dec 19 20:47:15 2008 +0000 ext4: ensure fast symlinks are NUL-terminated Ensure fast symlink targets are NUL-terminated, even if corrupted on-disk. Cc: Andrew Morton Cc: Theodore Ts'o Cc: adilger@sun.com Cc: linux-ext4@vger.kernel.org Signed-off-by: Duane Griffin Signed-off-by: Al Viro commit b5ed3112b5f74c8ec1c7aa03a76c596635e85197 Author: Duane Griffin Date: Fri Dec 19 20:47:14 2008 +0000 ext3: ensure fast symlinks are NUL-terminated Ensure fast symlink targets are NUL-terminated, even if corrupted on-disk. Cc: Andrew Morton Cc: Stephen Tweedie Cc: linux-ext4@vger.kernel.org Signed-off-by: Duane Griffin Signed-off-by: Al Viro commit 8d6d0c4da2dbbe0a69fea3692146af39f139f8b4 Author: Duane Griffin Date: Fri Dec 19 20:47:13 2008 +0000 ext2: ensure fast symlinks are NUL-terminated Ensure fast symlink targets are NUL-terminated, even if corrupted on-disk. Cc: Andrew Morton Signed-off-by: Duane Griffin Signed-off-by: Al Viro commit ebd09abbd9699f328165aee50a070403fbf55a37 Author: Duane Griffin Date: Fri Dec 19 20:47:12 2008 +0000 vfs: ensure page symlinks are NUL-terminated On-disk data corruption could cause a page link to have its i_size set to PAGE_SIZE (or a multiple thereof) and its contents all non-NUL. NUL-terminate the link name to ensure this doesn't cause further problems for the kernel. Cc: Al Viro Cc: Andrew Morton Signed-off-by: Duane Griffin Signed-off-by: Al Viro commit 035146851cfa2fe24c1d9dc7637bb009ad06b2f7 Author: Duane Griffin Date: Fri Dec 19 20:47:11 2008 +0000 vfs: introduce helper function to safely NUL-terminate symlinks A number of filesystems were potentially triggering kernel bugs due to corrupted symlink names on disk. This function helps safely terminate the names. Cc: Al Viro Cc: Andrew Morton Signed-off-by: Duane Griffin Signed-off-by: Al Viro commit a17d5232de7b53d34229de79ec22f4bb04adb7e4 Author: Duane Griffin Date: Fri Dec 19 20:47:10 2008 +0000 eCryptfs: check readlink result was not an error before using it The result from readlink is being used to index into the link name buffer without checking whether it is a valid length. If readlink returns an error this will fault or cause memory corruption. Cc: Tyler Hicks Cc: Dustin Kirkland Cc: ecryptfs-devel@lists.launchpad.net Signed-off-by: Duane Griffin Acked-by: Michael Halcrow Acked-by: Tyler Hicks Signed-off-by: Al Viro commit 5cc4a0341a1295ea56b2e62eb70d96d8fdb94ded Author: Julia Lawall Date: Mon Dec 1 14:34:51 2008 -0800 fs/namespace.c: drop code after return The extra semicolon serves no purpose. Signed-off-by: Julia Lawall Reviewed-by: Richard Genoud Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit dded4f4d5048e64a01cf52eed4d27c8cb2600525 Author: Jan Engelhardt Date: Mon Dec 1 14:34:50 2008 -0800 include: linux/fs.h: put declarations in __KERNEL__ include/linux/fs.h contains externs for a bunch of variables. That obviously belongs under ifdef __KERNEL__. Signed-off-by: Jan Engelhardt Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit c2452f32786159ed85f0e4b21fec09258f822fc8 Author: Nick Piggin Date: Mon Dec 1 09:33:43 2008 +0100 shrink struct dentry struct dentry is one of the most critical structures in the kernel. So it's sad to see it going neglected. With CONFIG_PROFILING turned on (which is probably the common case at least for distros and kernel developers), sizeof(struct dcache) == 208 here (64-bit). This gives 19 objects per slab. I packed d_mounted into a hole, and took another 4 bytes off the inline name length to take the padding out from the end of the structure. This shinks it to 200 bytes. I could have gone the other way and increased the length to 40, but I'm aiming for a magic number, read on... I then got rid of the d_cookie pointer. This shrinks it to 192 bytes. Rant: why was this ever a good idea? The cookie system should increase its hash size or use a tree or something if lookups are a problem. Also the "fast dcookie lookups" in oprofile should be moved into the dcookie code -- how can oprofile possibly care about the dcookie_mutex? It gets dropped after get_dcookie() returns so it can't be providing any sort of protection. At 192 bytes, 21 objects fit into a 4K page, saving about 3MB on my system with ~140 000 entries allocated. 192 is also a multiple of 64, so we get nice cacheline alignment on 64 and 32 byte line systems -- any given dentry will now require 3 cachelines to touch all fields wheras previously it would require 4. I know the inline name size was chosen quite carefully, however with the reduction in cacheline footprint, it should actually be just about as fast to do a name lookup for a 36 character name as it was before the patch (and faster for other sizes). The memory footprint savings for names which are <= 32 or > 36 bytes long should more than make up for the memory cost for 33-36 byte names. Performance is a feature... Signed-off-by: Al Viro commit e2b689d82c0394e5239a3557a217f19e2f47f1be Author: Richard Kennedy Date: Thu Dec 4 11:17:47 2008 +0000 fs: reorder struct inotify_device on 64bits to remove padding Reorder struct inotify_device to remove 8 bytes of padding on 64bit builds, reducing size to 128 bytes . Therefore allocating from a smaller slab & using one fewer cachelines. Signed-off-by: Richard Kennedy ---- Hi, patch against 2.6.28-rc7. built & tested on AMDX2 desktop. I've not been able to send this to the listed inotify maintainers, I just get mail failures. So I guessed filesystem was the best home for it, hope that's ok. regards Richard Signed-off-by: Al Viro commit be6d3e56a6b9b3a4ee44a0685e39e595073c6f0d Author: Kentaro Takeda Date: Wed Dec 17 13:24:15 2008 +0900 introduce new LSM hooks where vfsmount is available. Add new LSM hooks for path-based checks. Call them on directory-modifying operations at the points where we still know the vfsmount involved. Signed-off-by: Kentaro Takeda Signed-off-by: Tetsuo Handa Signed-off-by: Toshiharu Harada Signed-off-by: Al Viro commit 418f19ea17a99421b22a64e101e14b6a16bed66d Merge: 98444d3... f6e10b8... Author: Pierre Ossman Date: Wed Dec 31 19:56:05 2008 +0100 Merge branch 'master' of ../mmc commit f6e10b865c3ea56bdaa8c6ecfee313b997900dbb Author: David Brownell Date: Wed Dec 31 09:50:30 2008 -0800 mmc: warn about voltage mismatches Get rid of a silent failure mode when the MMC/SD host doesn't support the voltages needed to operate a given card, by adding a warning. A 3.3V host and a 3.0V card, for example, no longer need to mysteriously just not work at all. This isn't the best diagnostic; ideally it would also tell what voltage the card and host support (and not just by dumping the bitmasks). Signed-off-by: David Brownell Signed-off-by: Pierre Ossman commit 9c43df57910bbba540a6cb5c9132302a9ea5f41a Author: Anton Vorontsov Date: Tue Dec 30 18:15:28 2008 +0300 mmc_spi: Add support for OpenFirmware bindings The support is implemented via platform data accessors, new module (of_mmc_spi) will be created automatically when the driver compiles on OpenFirmware platforms. Link-time dependency will load the module automatically. Signed-off-by: Anton Vorontsov Signed-off-by: Pierre Ossman commit c00a46abd4d45a67ff62f4ff6d4f839dff38b877 Author: Vernon Sauder Date: Mon Dec 29 19:21:28 2008 -0500 pxamci: fix dma_unmap_sg length dma_unmap_sg should be given the same length as dma_map_sg, not the value returned from dma_map_sg Signed-off-by: Vernon Sauder Signed-off-by: Pierre Ossman commit 6a79e391df295bd7c2aa1309ea5031f361c197fd Author: Adrian Hunter Date: Wed Dec 31 18:21:17 2008 +0100 mmc_block: ensure all sectors that do not have errors are read If a card encounters an ECC error while reading a sector it will timeout. Instead of reporting the entire I/O request as having an error, redo the I/O one sector at a time so that all readable sectors are provided to the upper layers. Signed-off-by: Adrian Hunter Signed-off-by: Pierre Ossman commit a0d045cac9bcb3e9a9796d596415f7ffb64852e2 Author: Julia Lawall Date: Tue Dec 16 16:13:09 2008 +0100 drivers/mmc: Move a dereference below a NULL test In each case, if the NULL test is necessary, then the dereference should be moved below the NULL test. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ type T; expression E; identifier i,fld; statement S; @@ - T i = E->fld; + T i; ... when != E when != i if (E == NULL) S + i = E->fld; // Signed-off-by: Julia Lawall Signed-off-by: Pierre Ossman commit f9134319c81c6c56e0ddf38e7adac2492b243d9b Author: Pierre Ossman Date: Sun Dec 21 17:01:48 2008 +0100 sdhci: handle built-in sdhci with modular leds class As reported by Randy Dunlap, having sdhci built-in and LEDs class as a module resulted in undefined symbols. Change the code to handle that case properly (by not having LEDs class support in sdhci). Signed-off-by: Pierre Ossman commit ca4f10563929b932ed8970fda41a7f99385e4b0b Author: Roel Kluin Date: Sat Dec 13 21:21:33 2008 +0100 mmc: balanc pci_iomap with pci_iounmap balance pci_iomap with pci_iounmap, not iounmap Signed-off-by: Roel Kluin Signed-off-by: Pierre Ossman commit 504f191f25b1671802246bac06c9f59f94f0b7de Author: Adrian Hunter Date: Thu Oct 16 12:55:25 2008 +0300 mmc_block: print better error messages Add command response and card status to error messages. Signed-off-by: Adrian Hunter Signed-off-by: Pierre Ossman commit 86e8286a0e48663e1e86a5884b30a6d05de2993a Author: Anton Vorontsov Date: Wed Nov 26 22:54:17 2008 +0300 mmc: Add mmc_vddrange_to_ocrmask() helper function This function sets the OCR mask bits according to provided voltage ranges. Will be used by the mmc_spi OpenFirmware bindings. Signed-off-by: Anton Vorontsov Signed-off-by: Pierre Ossman commit 0527a60c2b6bd7ab20e82cc5e488659e20eaaacd Author: philipl@overt.org Date: Sun Nov 30 20:27:50 2008 -0500 ricoh_mmc: Handle newer models of Ricoh controllers The latest generation of laptops are shipping with a newer model of Ricoh chip where the firewire controller is the primary PCI function but a cardbus controller is also present. The existing code assumes that if a cardbus controller is, present, then it must be the one to manipulate - but the real rule is that you manipulate PCI function 0. This patch adds an additional constraint that the target must be function 0. Signed-off-by: Philip Langdale Signed-off-by: Pierre Ossman commit b30f8af3358b5c66be223e3a9f3d11b3d02b4a8f Author: Jarkko Lavinen Date: Mon Nov 17 14:35:21 2008 +0200 mmc: Add 8-bit bus width support Signed-off-by: Jarkko Lavinen Signed-off-by: Pierre Ossman commit 35ff8554d12ecc80a46ea0d9bce34fe28733ff38 Author: Éric Piel Date: Sat Nov 22 19:29:29 2008 +0100 sdhci: activate led support also when module CONFIG_LEDS_CLASS is defined only if led-class is built-in, otherwise when it is a module the option is called CONFIG_LEDS_CLASS_MODULE. Led support should also be activated in this case. Signed-off-by: Eric Piel Signed-off-by: Pierre Ossman commit b7a03210b7b381e06f71751cb9addfae7704489c Author: Harvey Harrison Date: Wed Oct 22 17:09:00 2008 -0700 mmc: trivial annotation of 'blocks' sg_init_one is reading a be32, annotate as such. Signed-off-by: Harvey Harrison Signed-off-by: Pierre Ossman commit 092f82edbe96d0a08e1d10436927e89fa101fe0d Author: Arjan van de Ven Date: Sun Sep 28 16:15:56 2008 -0700 pci: use pci_ioremap_bar() in drivers/mmc Use the new pci_ioremap_bar() function in drivers/mmc. pci_ioremap_bar() just takes a pci device and a bar number, with the goal of making it really hard to get wrong, while also having a central place to stick sanity checks. Signed-off-by: Arjan van de Ven Signed-off-by: Pierre Ossman commit db200df0b3530f673d8e9f5bd535e9e10305842a Merge: ec270e5... 43a2563... Author: Linus Torvalds Date: Wed Dec 31 09:00:59 2008 -0800 Merge branch 'irq-fixes-for-linus-4' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-fixes-for-linus-4' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sparseirq: move __weak symbols into separate compilation unit sparseirq: work around __weak alias bug sparseirq: fix hang with !SPARSE_IRQ sparseirq: set lock_class for legacy irq when sparse_irq is selected sparseirq: work around compiler optimizing away __weak functions sparseirq: fix desc->lock init sparseirq: do not printk when migrating IRQ descriptors sparseirq: remove duplicated arch_early_irq_init() irq: simplify for_each_irq_desc() usage proc: remove ifdef CONFIG_SPARSE_IRQ from stat.c irq: for_each_irq_desc() move to irqnr.h hrtimer: remove #include commit 006948bafece27265dce72d3158b12af3ff67fce Author: Mark Brown Date: Thu Nov 6 10:56:21 2008 +0000 [WATCHDOG] Add support for the WM8350 watchdog This driver implements support for the watchdog functionality provided by the Wolfson Microelectronics WM8350, a multi-function audio and power management subsystem intended for use in embedded systems. It is based on a driver originally written by Graeme Gregory, though it has been extensively modified since then. Use of a GPIO to kick the watchdog is not yet supported. Signed-off-by: Mark Brown Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit 4c6e63bd177a28ca9154ae8c1bab00a387c350c4 Author: Wim Van Sebroeck Date: Wed Oct 22 08:59:25 2008 +0000 [WATCHDOG] Add SMSC SCH311x Watchdog Timer. Add a watchdog driver for the hardware watchdog timer on the SMSC SCH3112, SCH3114 and SCH3116 Super IO chipset. Tested-by: Marco Chiappero Signed-off-by: Wim Van Sebroeck commit 794db26f20b7dbb879f4e1911221e1959818dfdb Author: Wim Van Sebroeck Date: Wed Oct 15 11:44:40 2008 +0000 [WATCHDOG] ib700wdt - add timeout parameter Add the timeout module parameter to ib700wdt.c Signed-off-by: Wim Van Sebroeck commit 87917239204d67a316cb89751750f86c9ed3640b Author: Marcelo Tosatti Date: Mon Dec 22 18:49:30 2008 -0200 KVM: MMU: handle large host sptes on invlpg/resync The invlpg and sync walkers lack knowledge of large host sptes, descending to non-existant pagetable level. Stop at directory level in such case. Fixes SMP Windows XP with hugepages. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 3f353858c98dbe0240dac558a89870f4600f81bb Author: Avi Kivity Date: Sun Dec 21 22:48:32 2008 +0200 KVM: Add locking to virtual i8259 interrupt controller While most accesses to the i8259 are with the kvm mutex taken, the call to kvm_pic_read_irq() is not. We can't easily take the kvm mutex there since the function is called with interrupts disabled. Fix by adding a spinlock to the virtual interrupt controller. Since we can't send an IPI under the spinlock (we also take the same spinlock in an irq disabled context), we defer the IPI until the spinlock is released. Similarly, we defer irq ack notifications until after spinlock release to avoid lock recursion. Signed-off-by: Avi Kivity commit 25e2343246fe135fce672f41abe61e9d2c38caac Author: Avi Kivity Date: Sun Dec 21 18:31:10 2008 +0200 KVM: MMU: Don't treat a global pte as such if cr4.pge is cleared The pte.g bit is meaningless if global pages are disabled; deferring mmu page synchronization on these ptes will lead to the guest using stale shadow ptes. Fixes Vista x86 smp bootloader failure. Signed-off-by: Avi Kivity commit fe634fd46ff643d98fdbcd153847e08c3c076e6e Author: Xiantao Zhang Date: Wed Dec 17 09:38:14 2008 +0800 MAINTAINERS: Maintainership changes for kvm/ia64 Anthony Xu no longer works on kvm. Cc: "Luck, Tony" Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 042b26edf0bc1b0f03238a71aed71cca4593848c Author: Jes Sorensen Date: Tue Dec 16 16:45:47 2008 +0100 KVM: ia64: Fix kvm_arch_vcpu_ioctl_[gs]et_regs() Fix kvm_arch_vcpu_ioctl_[gs]et_regs() to do something meaningful on ia64. Old versions could never have worked since they required pointers to be set in the ioctl payload which were never being set by the ioctl handler for get_regs. In addition reserve extra space for future extensions. The change of layout of struct kvm_regs doesn't require adding a new CAP since get/set regs never worked on ia64 until now. This version doesn't support copying the KVM kernel stack in/out of the kernel. This should be implemented in a seperate ioctl call if ever needed. Signed-off-by: Jes Sorensen Acked-by : Xiantao Zhang Signed-off-by: Avi Kivity commit 4531220b71f0399e71cda0c4cf749e7281a7416a Author: Jan Kiszka Date: Thu Dec 11 16:54:54 2008 +0100 KVM: x86: Rework user space NMI injection as KVM_CAP_USER_NMI There is no point in doing the ready_for_nmi_injection/ request_nmi_window dance with user space. First, we don't do this for in-kernel irqchip anyway, while the code path is the same as for user space irqchip mode. And second, there is nothing to loose if a pending NMI is overwritten by another one (in contrast to IRQs where we have to save the number). Actually, there is even the risk of raising spurious NMIs this way because the reason for the held-back NMI might already be handled while processing the first one. Therefore this patch creates a simplified user space NMI injection interface, exporting it under KVM_CAP_USER_NMI and dropping the old KVM_CAP_NMI capability. And this time we also take care to provide the interface only on archs supporting NMIs via KVM (right now only x86). Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 264ff01d55b456932cef03082448b41d2edeb6a1 Author: Jan Kiszka Date: Mon Nov 24 12:26:19 2008 +0100 KVM: VMX: Fix pending NMI-vs.-IRQ race for user space irqchip As with the kernel irqchip, don't allow an NMI to stomp over an already injected IRQ; instead wait for the IRQ injection to be completed. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit defaf1587c5d7dff828f6f11c8941e5bcef00f50 Author: Mark McLoughlin Date: Tue Dec 2 12:16:33 2008 +0000 KVM: fix handling of ACK from shared guest IRQ If an assigned device shares a guest irq with an emulated device then we currently interpret an ack generated by the emulated device as originating from the assigned device leading to e.g. "Unbalanced enable for IRQ 4347" from the enable_irq() in kvm_assigned_dev_ack_irq(). The fix is fairly simple - don't enable the physical device irq unless it was previously disabled. Of course, this can still lead to a situation where a non-assigned device ACK can cause the physical device irq to be reenabled before the device was serviced. However, being level sensitive, the interrupt will merely be regenerated. Signed-off-by: Mark McLoughlin Signed-off-by: Avi Kivity commit eb64f1e8cd5c3cae912db30a77d062367f7a11a6 Author: Marcelo Tosatti Date: Tue Dec 9 16:07:22 2008 +0100 KVM: MMU: check for present pdptr shadow page in walk_shadow walk_shadow assumes the caller verified validity of the pdptr pointer in question, which is not the case for the invlpg handler. Fixes oops during Solaris 10 install. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit ca9edaee1aea34ebd9adb48910aba0b3d64b1b22 Author: Avi Kivity Date: Mon Dec 8 18:29:29 2008 +0200 KVM: Consolidate userspace memory capability reporting into common code Signed-off-by: Avi Kivity commit 1a811b6167089bcdb84284f2dc9fd0b4d0f1899d Author: Avi Kivity Date: Mon Dec 8 18:25:27 2008 +0200 KVM: Advertise the bug in memory region destruction as fixed Userspace might need to act differently. Signed-off-by: Avi Kivity commit 7f59f492da722eb3551bbe1f8f4450a21896f05d Author: Rusty Russell Date: Sun Dec 7 21:25:45 2008 +1030 KVM: use cpumask_var_t for cpus_hardware_enabled This changes cpus_hardware_enabled from a cpumask_t to a cpumask_var_t: equivalent for CONFIG_CPUMASKS_OFFSTACK=n, otherwise dynamically allocated. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 6ef7a1bc45f80fe0a263119d404688c596ea5031 Author: Rusty Russell Date: Mon Dec 8 20:28:04 2008 +1030 KVM: use modern cpumask primitives, no cpumask_t on stack We're getting rid on on-stack cpumasks for large NR_CPUS. 1) Use cpumask_var_t/alloc_cpumask_var. 2) smp_call_function_mask -> smp_call_function_many 3) cpus_clear, cpus_empty, cpu_set -> cpumask_clear, cpumask_empty, cpumask_set_cpu. This actually generates slightly smaller code than the old one with CONFIG_CPUMASKS_OFFSTACK=n. (gcc knows that cpus cannot be NULL in that case, where cpumask_var_t is cpumask_t[1]). Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 498468961ed6f62a306eb90c49125776c526fa40 Author: Rusty Russell Date: Mon Dec 8 20:26:24 2008 +1030 KVM: Extract core of kvm_flush_remote_tlbs/kvm_reload_remote_mmus Avi said: > Wow, code duplication from Rusty. Things must be bad. Something about glass houses comes to mind. But instead, a patch. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 3d3aab1b973b01bd2a1aa46307e94a1380b1d802 Author: Christian Borntraeger Date: Tue Dec 2 11:17:32 2008 +0100 KVM: set owner of cpu and vm file operations There is a race between a "close of the file descriptors" and module unload in the kvm module. You can easily trigger this problem by applying this debug patch: >--- kvm.orig/virt/kvm/kvm_main.c >+++ kvm/virt/kvm/kvm_main.c >@@ -648,10 +648,14 @@ void kvm_free_physmem(struct kvm *kvm) > kvm_free_physmem_slot(&kvm->memslots[i], NULL); > } > >+#include > static void kvm_destroy_vm(struct kvm *kvm) > { > struct mm_struct *mm = kvm->mm; > >+ printk("off1\n"); >+ msleep(5000); >+ printk("off2\n"); > spin_lock(&kvm_lock); > list_del(&kvm->vm_list); > spin_unlock(&kvm_lock); and killing the userspace, followed by an rmmod. The problem is that kvm_destroy_vm can run while the module count is 0. That means, you can remove the module while kvm_destroy_vm is running. But kvm_destroy_vm is part of the module text. This causes a kerneloops. The race exists without the msleep but is much harder to trigger. This patch requires the fix for anon_inodes (anon_inodes: use fops->owner for module refcount). With this patch, we can set the owner of all anonymous KVM inodes file operations. The VFS will then control the KVM module refcount as long as there is an open file. kvm_destroy_vm will be called by the release function of the last closed file - before the VFS drops the module refcount. Signed-off-by: Christian Borntraeger Signed-off-by: Avi Kivity commit e3a2a0d4e5ace731e60e2eff4fb7056ecb34adc1 Author: Christian Borntraeger Date: Tue Dec 2 11:16:03 2008 +0100 anon_inodes: use fops->owner for module refcount There is an imbalance for anonymous inodes. If the fops->owner field is set, the module reference count of owner is decreases on release. ("filp_close" --> "__fput" ---> "fops_put") On the other hand, anon_inode_getfd does not increase the module reference count of owner. This causes two problems: - if owner is set, the module refcount goes negative - if owner is not set, the module can be unloaded while code is running This patch changes anon_inode_getfd to be symmetric regarding fops->owner handling. I have checked all existing users of anon_inode_getfd. Noone sets fops->owner, thats why nobody has seen the module refcount negative. The refcounting was tested with a patched and unpatched KVM module.(see patch 2/2) I also did an epoll_open/close test. Signed-off-by: Christian Borntraeger Reviewed-by: Davide Libenzi Signed-off-by: Avi Kivity commit e93353c93a3ba4215633ce930784f40a4e94e3f9 Author: Eduardo Habkost Date: Fri Dec 5 18:36:45 2008 -0200 x86: KVM guest: kvm_get_tsc_khz: return khz, not lpj kvm_get_tsc_khz() currently returns the previously-calculated preset_lpj value, but it is in loops-per-jiffy, not kHz. The current code works correctly only when HZ=1000. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit ad218f85e388e8ca816ff09d91c246cd014c53a8 Author: Marcelo Tosatti Date: Mon Dec 1 22:32:05 2008 -0200 KVM: MMU: prepopulate the shadow on invlpg If the guest executes invlpg, peek into the pagetable and attempt to prepopulate the shadow entry. Also stop dirty fault updates from interfering with the fork detector. 2% improvement on RHEL3/AIM7. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 6cffe8ca4a2adf1ac5003d9cad08fe4434d6eee0 Author: Marcelo Tosatti Date: Mon Dec 1 22:32:04 2008 -0200 KVM: MMU: skip global pgtables on sync due to cr3 switch Skip syncing global pages on cr3 switch (but not on cr4/cr0). This is important for Linux 32-bit guests with PAE, where the kmap page is marked as global. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit b1a368218ad5b6e62380c8f206f16e6f18bf154c Author: Marcelo Tosatti Date: Mon Dec 1 22:32:03 2008 -0200 KVM: MMU: collapse remote TLB flushes on root sync Collapse remote TLB flushes on root sync. kernbench is 2.7% faster on 4-way guest. Improvements have been seen with other loads such as AIM7. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 60c8aec6e2c9923492dabbd6b67e34692bd26c20 Author: Marcelo Tosatti Date: Mon Dec 1 22:32:02 2008 -0200 KVM: MMU: use page array in unsync walk Instead of invoking the handler directly collect pages into an array so the caller can work with it. Simplifies TLB flush collapsing. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit fbce554e940a983d005e29849636d0ef54b3eb18 Author: Amit Shah Date: Thu Dec 4 11:11:40 2008 +0000 KVM: x86 emulator: Fix handling of VMMCALL instruction The VMMCALL instruction doesn't get recognised and isn't processed by the emulator. This is seen on an Intel host that tries to execute the VMMCALL instruction after a guest live migrates from an AMD host. Signed-off-by: Amit Shah Signed-off-by: Avi Kivity commit 9bf8ea42fe22d7d1c48044148fa658cb9083d49c Author: Guillaume Thouvenin Date: Thu Dec 4 14:30:13 2008 +0100 KVM: x86 emulator: add the emulation of shld and shrd instructions Add emulation of shld and shrd instructions Signed-off-by: Guillaume Thouvenin Signed-off-by: Avi Kivity commit d175226a5f54817ba427368c6b739aefa7780fb2 Author: Guillaume Thouvenin Date: Thu Dec 4 14:29:00 2008 +0100 KVM: x86 emulator: add the assembler code for three operands Add the assembler code for instruction with three operands and one operand is stored in ECX register Signed-off-by: Guillaume Thouvenin Signed-off-by: Avi Kivity commit bfcadf83ec5aafe600e73dd427d997db7bcc1d12 Author: Guillaume Thouvenin Date: Thu Dec 4 14:27:38 2008 +0100 KVM: x86 emulator: add a new "implied 1" Src decode type Add SrcOne operand type when we need to decode an implied '1' like with regular shift instruction Signed-off-by: Guillaume Thouvenin Signed-off-by: Avi Kivity commit 0dc8d10f7d848b63c8d32cf6fd31ba7def792ac9 Author: Guillaume Thouvenin Date: Thu Dec 4 14:26:42 2008 +0100 KVM: x86 emulator: add Src2 decode set Instruction like shld has three operands, so we need to add a Src2 decode set. We start with Src2None, Src2CL, and Src2ImmByte, Src2One to support shld/shrd and we will expand it later. Signed-off-by: Guillaume Thouvenin Signed-off-by: Avi Kivity commit 45ed60b371aeae6ed80f7e9d594a5e6412edc176 Author: Guillaume Thouvenin Date: Thu Dec 4 14:25:38 2008 +0100 KVM: x86 emulator: Extend the opcode descriptor Extend the opcode descriptor to 32 bits. This is needed by the introduction of a new Src2 operand type. Signed-off-by: Guillaume Thouvenin Signed-off-by: Avi Kivity commit 6f89724829cfd4ad6771a92fd4b8d59c90c7220c Author: Glauber Costa Date: Wed Dec 3 13:40:51 2008 -0200 KVM: Really remove a slot when a user ask us so Right now, KVM does not remove a slot when we do a register ioctl for size 0 (would be the expected behaviour). Instead, we only mark it as empty, but keep all bitmaps and allocated data structures present. It completely nullifies our chances of reusing that same slot again for mapping a different piece of memory. In this patch, we destroy rmaps, and vfree() the pointers that used to hold the dirty bitmap, rmap and lpage_info structures. Signed-off-by: Glauber Costa Signed-off-by: Avi Kivity commit 7b7015914b30ad8d9136d41412c5129b9bc9af70 Author: Hollis Blanchard Date: Tue Dec 2 15:51:58 2008 -0600 KVM: ppc: mostly cosmetic updates to the exit timing accounting code The only significant changes were to kvmppc_exit_timing_write() and kvmppc_exit_timing_show(), both of which were dramatically simplified. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 73e75b416ffcfa3a84952d8e389a0eca080f00e1 Author: Hollis Blanchard Date: Tue Dec 2 15:51:57 2008 -0600 KVM: ppc: Implement in-kernel exit timing statistics Existing KVM statistics are either just counters (kvm_stat) reported for KVM generally or trace based aproaches like kvm_trace. For KVM on powerpc we had the need to track the timings of the different exit types. While this could be achieved parsing data created with a kvm_trace extension this adds too much overhead (at least on embedded PowerPC) slowing down the workloads we wanted to measure. Therefore this patch adds a in-kernel exit timing statistic to the powerpc kvm code. These statistic is available per vm&vcpu under the kvm debugfs directory. As this statistic is low, but still some overhead it can be enabled via a .config entry and should be off by default. Since this patch touched all powerpc kvm_stat code anyway this code is now merged and simplified together with the exit timing statistic code (still working with exit timing disabled in .config). Signed-off-by: Christian Ehrhardt Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit c5fbdffbda79254047ec83b09c1a61a3655d052a Author: Hollis Blanchard Date: Tue Dec 2 15:51:56 2008 -0600 KVM: ppc: save and restore guest mappings on context switch Store shadow TLB entries in memory, but only use it on host context switch (instead of every guest entry). This improves performance for most workloads on 440 by reducing the guest TLB miss rate. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 7924bd41097ae8991c6d38cef8b1e4058e30d198 Author: Hollis Blanchard Date: Tue Dec 2 15:51:55 2008 -0600 KVM: ppc: directly insert shadow mappings into the hardware TLB Formerly, we used to maintain a per-vcpu shadow TLB and on every entry to the guest would load this array into the hardware TLB. This consumed 1280 bytes of memory (64 entries of 16 bytes plus a struct page pointer each), and also required some assembly to loop over the array on every entry. Instead of saving a copy in memory, we can just store shadow mappings directly into the hardware TLB, accepting that the host kernel will clobber these as part of the normal 440 TLB round robin. When we do that we need less than half the memory, and we have decreased the exit handling time for all guest exits, at the cost of increased number of TLB misses because the host overwrites some guest entries. These savings will be increased on processors with larger TLBs or which implement intelligent flush instructions like tlbivax (which will avoid the need to walk arrays in software). In addition to that and to the code simplification, we have a greater chance of leaving other host userspace mappings in the TLB, instead of forcing all subsequent tasks to re-fault all their mappings. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit c0ca609c5f874f7d6ae8e180afe79317e1943d22 Author: Hollis Blanchard Date: Tue Dec 2 15:51:54 2008 -0600 powerpc/44x: declare tlb_44x_index for use in C code KVM currently ignores the host's round robin TLB eviction selection, instead maintaining its own TLB state and its own round robin index. However, by participating in the normal 44x TLB selection, we can drop the alternate TLB processing in KVM. This results in a significant performance improvement, since that processing currently must be done on *every* guest exit. Accordingly, KVM needs to be able to access and increment tlb_44x_index. (KVM on 440 cannot be a module, so there is no need to export this symbol.) Signed-off-by: Hollis Blanchard Acked-by: Josh Boyer Signed-off-by: Avi Kivity commit 891686188f69d330f7eeeec8e6642ccfb7453106 Author: Hollis Blanchard Date: Tue Dec 2 15:51:53 2008 -0600 KVM: ppc: support large host pages KVM on 440 has always been able to handle large guest mappings with 4K host pages -- we must, since the guest kernel uses 256MB mappings. This patch makes KVM work when the host has large pages too (tested with 64K). Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 4a643be8c9b8d3c1ae8f5ccd377daaa85bd57e0c Author: Mark McLoughlin Date: Mon Dec 1 13:57:49 2008 +0000 KVM: split out kvm_free_assigned_irq() Split out the logic corresponding to undoing assign_irq() and clean it up a bit. Signed-off-by: Mark McLoughlin Signed-off-by: Avi Kivity commit 61552367b2ce5e9bea6b6af670ec80aea386f34e Author: Mark McLoughlin Date: Mon Dec 1 13:57:48 2008 +0000 KVM: add KVM_USERSPACE_IRQ_SOURCE_ID assertions Make sure kvm_request_irq_source_id() never returns KVM_USERSPACE_IRQ_SOURCE_ID. Likewise, check that kvm_free_irq_source_id() never accepts KVM_USERSPACE_IRQ_SOURCE_ID. Signed-off-by: Mark McLoughlin Signed-off-by: Avi Kivity commit f29b2673d3fc7ae38ec22922e9cdc75ee37386b5 Author: Mark McLoughlin Date: Mon Dec 1 13:57:47 2008 +0000 KVM: don't free an unallocated irq source id Set assigned_dev->irq_source_id to -1 so that we can avoid freeing a source ID which we never allocated. Signed-off-by: Mark McLoughlin Signed-off-by: Avi Kivity commit fdd897e6b5253a45b633f7d334cf3e150bbaf386 Author: Mark McLoughlin Date: Mon Dec 1 13:57:46 2008 +0000 KVM: make kvm_unregister_irq_ack_notifier() safe We never pass a NULL notifier pointer here, but we may well pass a notifier struct which hasn't previously been registered. Guard against this by using hlist_del_init() which will not do anything if the node hasn't been added to the list and, when removing the node, will ensure that a subsequent call to hlist_del_init() will be fine too. Fixes an oops seen when an assigned device is freed before and IRQ is assigned to it. Signed-off-by: Mark McLoughlin Signed-off-by: Avi Kivity commit 844c7a9ff404d8fc88bb77b06461644621d2c985 Author: Mark McLoughlin Date: Mon Dec 1 13:57:45 2008 +0000 KVM: remove the IRQ ACK notifier assertions We will obviously never pass a NULL struct kvm_irq_ack_notifier* to this functions. They are always embedded in the assigned device structure, so the assertion add nothing. The irqchip_in_kernel() assertion is very out of place - clearly this little abstraction needs to know nothing about the upper layer details. Signed-off-by: Mark McLoughlin Signed-off-by: Avi Kivity commit efff9e538f6bfa8ee2ca03f7e9a55d98df115186 Author: Hannes Eder Date: Fri Nov 28 17:02:06 2008 +0100 KVM: VMX: fix sparse warning Impact: make global function static arch/x86/kvm/vmx.c:134:3: warning: symbol 'vmx_capability' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: Avi Kivity commit e8ba5d311d0c4420e84f40ff50f83981f5864a9a Author: Hannes Eder Date: Fri Nov 28 17:02:42 2008 +0100 KVM: fix sparse warning Impact: make global function static virt/kvm/kvm_main.c:85:6: warning: symbol 'kvm_rebooting' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: Avi Kivity commit f3fd92fbdb7663bd889c136842afc3851351ea8f Author: Avi Kivity Date: Sat Nov 29 20:38:12 2008 +0200 KVM: Remove extraneous semicolon after do/while Notices by Guillaume Thouvenin. Signed-off-by: Avi Kivity commit 2b48cc75b21431037d6f902b9d583b1aff198490 Author: Avi Kivity Date: Sat Nov 29 20:36:13 2008 +0200 KVM: x86 emulator: fix popf emulation Set operand type and size to get correct writeback behavior. Signed-off-by: Avi Kivity commit cf5de4f886116871c2ae2eee53524edd741a68ae Author: Avi Kivity Date: Fri Nov 28 00:14:07 2008 +0200 KVM: x86 emulator: fix ret emulation 'ret' did not set the operand type or size for the destination, so writeback ignored it. Signed-off-by: Avi Kivity commit 8a09b6877f3100207b3572e7e12ea796493fe914 Author: Avi Kivity Date: Thu Nov 27 18:06:33 2008 +0200 KVM: x86 emulator: switch 'pop reg' instruction to emulate_pop() Signed-off-by: Avi Kivity commit 781d0edc5fc5cfe7491a0c5081734e62f6dc66ee Author: Avi Kivity Date: Thu Nov 27 18:00:28 2008 +0200 KVM: x86 emulator: allow pop from mmio Signed-off-by: Avi Kivity commit faa5a3ae39483aefc46a78299c811194f953af27 Author: Avi Kivity Date: Thu Nov 27 17:36:41 2008 +0200 KVM: x86 emulator: Extract 'pop' sequence into a function Switch 'pop r/m' instruction to use the new function. Signed-off-by: Avi Kivity commit b82091824ee4970adf92d5cd6d57b12273171625 Author: Wu Fengguang Date: Wed Nov 26 19:59:06 2008 +0800 KVM: Prevent trace call into unloaded module text Add marker_synchronize_unregister() before module unloading. This prevents possible trace calls into unloaded module text. Signed-off-by: Wu Fengguang Signed-off-by: Avi Kivity commit 6692cef30b7caf7525ae99670cddbaf28f1f9d40 Author: Christian Borntraeger Date: Wed Nov 26 14:51:08 2008 +0100 KVM: s390: Fix memory leak of vcpu->run The s390 backend of kvm never calls kvm_vcpu_uninit. This causes a memory leak of vcpu->run pages. Lets call kvm_vcpu_uninit in kvm_arch_vcpu_destroy to free the vcpu->run. Signed-off-by: Christian Borntraeger Acked-by: Carsten Otte Signed-off-by: Avi Kivity commit d329c035e754156ffabcb64ff75d05bb8e2ddbf5 Author: Christian Borntraeger Date: Wed Nov 26 14:50:27 2008 +0100 KVM: s390: Fix refcounting and allow module unload Currently it is impossible to unload the kvm module on s390. This patch fixes kvm_arch_destroy_vm to release all cpus. This make it possible to unload the module. In addition we stop messing with the module refcount in arch code. Signed-off-by: Christian Borntraeger Acked-by: Carsten Otte Signed-off-by: Avi Kivity commit 6b7ad61ffb9ca110add6f7fb36cc8a4dd89696a4 Author: Avi Kivity Date: Wed Nov 26 15:30:45 2008 +0200 KVM: x86 emulator: consolidate emulation of two operand instructions No need to repeat the same assembly block over and over. Signed-off-by: Avi Kivity commit dda96d8f1b3de692cce09969ce28fe22e58e5acf Author: Avi Kivity Date: Wed Nov 26 15:14:10 2008 +0200 KVM: x86 emulator: reduce duplication in one operand emulation thunks Signed-off-by: Avi Kivity commit ecc5589f19a52e7e6501fe449047b19087ae11bb Author: Marcelo Tosatti Date: Tue Nov 25 15:58:07 2008 +0100 KVM: MMU: optimize set_spte for page sync The write protect verification in set_spte is unnecessary for page sync. Its guaranteed that, if the unsync spte was writable, the target page does not have a write protected shadow (if it had, the spte would have been write protected under mmu_lock by rmap_write_protect before). Same reasoning applies to mark_page_dirty: the gfn has been marked as dirty via the pagefault path. The cost of hash table and memslot lookups are quite significant if the workload is pagetable write intensive resulting in increased mmu_lock contention. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 5319c662522db8995ff9276ba9d80549c64b294a Author: Sheng Yang Date: Mon Nov 24 14:32:57 2008 +0800 KVM: MSI to INTx translate Now we use MSI as default one, and translate MSI to INTx when guest need INTx rather than MSI. For legacy device, we provide support for non-sharing host IRQ. Provide a parameter msi2intx for this method. The value is true by default in x86 architecture. We can't guarantee this mode can work on every device, but for most of us tested, it works. If your device encounter some trouble with this mode, you can try set msi2intx modules parameter to 0. If the device is OK with msi2intx=0, then please report it to KVM mailing list or me. We may prepare a blacklist for the device that can't work in this mode. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 6b9cc7fd469869bed38831c5adac3f59dc25eaf5 Author: Sheng Yang Date: Mon Nov 24 14:32:56 2008 +0800 KVM: Enable MSI for device assignment We enable guest MSI and host MSI support in this patch. The userspace want to enable MSI should set KVM_DEV_IRQ_ASSIGN_ENABLE_MSI in the assigned_irq's flag. Function would return -ENOTTY if can't enable MSI, userspace shouldn't set MSI Enable bit when KVM_ASSIGN_IRQ return -ENOTTY with KVM_DEV_IRQ_ASSIGN_ENABLE_MSI. Userspace can tell the support of MSI device from #ifdef KVM_CAP_DEVICE_MSI. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit f64769eb05565c74d7fce6fa75d65924f9cdaf79 Author: Sheng Yang Date: Mon Nov 24 14:32:55 2008 +0800 KVM: Add assigned_device_msi_dispatch() The function is used to dispatch MSI to lapic according to MSI message address and message data. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 68b76f51675809c8ce200a86276c3c7266f17a64 Author: Sheng Yang Date: Mon Nov 24 14:32:54 2008 +0800 KVM: Export ioapic_get_delivery_bitmask It would be used for MSI in device assignment, for MSI dispatch. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 0937c48d075ddd59ae2c12a6fa8308b9c7a63753 Author: Sheng Yang Date: Mon Nov 24 14:32:53 2008 +0800 KVM: Add fields for MSI device assignment Prepared for kvm_arch_assigned_device_msi_dispatch(). Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit fbac7818d8fba7e1df9f4b209777f3b67b953dd3 Author: Sheng Yang Date: Mon Nov 24 14:32:52 2008 +0800 KVM: Clean up assigned_device_update_irq Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 4f906c19ae29397409bedabf7bbe5cb42ad90332 Author: Sheng Yang Date: Mon Nov 24 14:32:51 2008 +0800 KVM: Replace irq_requested with more generic irq_requested_type Separate guest irq type and host irq type, for we can support guest using INTx with host using MSI (but not opposite combination). Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 00e3ed39e2e25ffb3417ce1bec8f4b78ed4b85e7 Author: Sheng Yang Date: Mon Nov 24 14:32:50 2008 +0800 KVM: Separate update irq to a single function Separate INTx enabling part to a independence function, so that we can add MSI enabling part easily. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 342ffb93006e537fb8cb215b923ce69943a1e820 Author: Sheng Yang Date: Mon Nov 24 14:32:49 2008 +0800 KVM: Move ack notifier register and IRQ sourcd ID request Distinguish common part for device assignment and INTx part, perparing for refactor later. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 423cd25a5ade17b8a5cc85e6f0a0f37028d2c4a2 Author: Glauber Costa Date: Mon Nov 24 15:45:23 2008 -0200 x86: KVM guest: sign kvmclock as paravirt Currently, we only set the KVM paravirt signature in case of CONFIG_KVM_GUEST. However, it is possible to have it turned off, while CONFIG_KVM_CLOCK is turned on. This is also a paravirt case, and should be shown accordingly. Signed-off-by: Glauber Costa Signed-off-by: Avi Kivity commit df203ec9a77a7236cb90456664d714423b98a977 Author: Avi Kivity Date: Sun Nov 23 18:08:57 2008 +0200 KVM: VMX: Conditionally request interrupt window after injecting irq If we're injecting an interrupt, and another one is pending, request an interrupt window notification so we don't have excess latency on the second interrupt. This shouldn't happen in practice since an EOI will be issued, giving a second chance to request an interrupt window, but... Signed-off-by: Avi Kivity commit 8fe0736763a07fbea56213ea105a0c2ee098e6fc Author: Xiantao Zhang Date: Fri Nov 21 21:04:37 2008 +0800 KVM: ia64: Clean up vmm_ivt.S using tab to indent every line Using tab for indentation for vmm_ivt.S. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 9f7d5bb5e2abf5316bb17eb3e7751dbafa09e5cf Author: Xiantao Zhang Date: Fri Nov 21 17:16:07 2008 +0800 KVM: ia64: Add handler for crashed vmm Since vmm runs in an isolated address space and it is just a copy of host's kvm-intel module, so once vmm crashes, we just crash all guests running on it instead of crashing whole kernel. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 5e2be19832ccf93bf731a1758ec9fabf48414584 Author: Xiantao Zhang Date: Fri Nov 21 10:46:12 2008 +0800 KVM: ia64: Add some debug points to provide crash infomation Use printk infrastructure to print out some debug info once VM crashes. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 7d637978151511148912fe2ea2bac9f9c64f5c35 Author: Xiantao Zhang Date: Fri Nov 21 20:58:11 2008 +0800 KVM: ia64: Define printk function for kvm-intel module kvm-intel module is relocated to an isolated address space with kernel, so it can't call host kernel's printk for debug purpose. In the module, we implement the printk to output debug info of vmm. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit d176720d34c72f7a8474a12204add93e54fe3ef1 Author: Eduardo Habkost Date: Mon Nov 17 19:03:24 2008 -0200 x86: disable VMX on all CPUs on reboot On emergency_restart, we may need to use an NMI to disable virtualization on all CPUs. We do that using nmi_shootdown_cpus() if VMX is enabled. Note: With this patch, we will run the NMI stuff only when the CPU where emergency_restart() was called has VMX enabled. This should work on most cases because KVM enables VMX on all CPUs, but we may miss the small window where KVM is doing that. Also, I don't know if all code using VMX out there always enable VMX on all CPUs like KVM does. We have two other alternatives for that: a) Have an API that all code that enables VMX on any CPU should use to tell the kernel core that it is going to enable VMX on the CPUs. b) Always call nmi_shootdown_cpus() if the CPU supports VMX. This is a bit intrusive and more risky, as it would run nmi_shootdown_cpus() on emergency_reboot() even on systems where virtualization is never enabled. Finding a proper point to hook the nmi_shootdown_cpus() call isn't trivial, as the non-emergency machine_restart() (that doesn't need the NMI tricks) uses machine_emergency_restart() directly. The solution to make this work without adding a new function or argument to machine_ops was setting a 'reboot_emergency' flag that tells if native_machine_emergency_restart() needs to do the virt cleanup or not. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit 2340b62f77c782c305e6ae7748675a638436d1ef Author: Eduardo Habkost Date: Mon Nov 17 19:03:23 2008 -0200 kdump: forcibly disable VMX and SVM on machine_crash_shutdown() We need to disable virtualization extensions on all CPUs before booting the kdump kernel, otherwise the kdump kernel booting will fail, and rebooting after the kdump kernel did its task may also fail. We do it using cpu_emergency_vmxoff() and cpu_emergency_svm_disable(), that should always work, because those functions check if the CPUs support SVM or VMX before doing their tasks. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit 0f3e9eeba0ea212bbea88790729d054b700ab91e Author: Eduardo Habkost Date: Mon Nov 17 19:03:22 2008 -0200 x86: cpu_emergency_svm_disable() function This function can be used by the reboot or kdump code to forcibly disable SVM on the CPU. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit 2c8dceebb238680d5577500f8283397d41ca5590 Author: Eduardo Habkost Date: Mon Nov 17 19:03:21 2008 -0200 KVM: SVM: move svm_hardware_disable() code to asm/virtext.h Create cpu_svm_disable() function. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit 63d1142f8f69e39468bc6079ab2239e902828134 Author: Eduardo Habkost Date: Mon Nov 17 19:03:20 2008 -0200 KVM: SVM: move has_svm() code to asm/virtext.h Use a trick to keep the printk()s on has_svm() working as before. gcc will take care of not generating code for the 'msg' stuff when the function is called with a NULL msg argument. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit 6aa07a0d77f6aafbe69e4e8609ffaf2b7ee1b591 Author: Eduardo Habkost Date: Mon Nov 17 19:03:19 2008 -0200 x86: cpu_emergency_vmxoff() function Add cpu_emergency_vmxoff() and its friends: cpu_vmx_enabled() and __cpu_emergency_vmxoff(). Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit 710ff4a855d0f3bf74b5b4a20328e2858a8a2968 Author: Eduardo Habkost Date: Mon Nov 17 19:03:18 2008 -0200 KVM: VMX: extract kvm_cpu_vmxoff() from hardware_disable() Along with some comments on why it is different from the core cpu_vmxoff() function. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit 1e9931146c748420343aeefadb3bb17bd1c14a37 Author: Eduardo Habkost Date: Mon Nov 17 19:03:17 2008 -0200 x86: asm/virtext.h: add cpu_vmxoff() inline function Unfortunately we can't use exactly the same code from vmx hardware_disable(), because the KVM function uses the __kvm_handle_fault_on_reboot() tricks. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit 6210e37b122583643da335c0389f74098713e5ca Author: Eduardo Habkost Date: Mon Nov 17 19:03:16 2008 -0200 KVM: VMX: move cpu_has_kvm_support() to an inline on asm/virtext.h It will be used by core code on kdump and reboot, to disable vmx if needed. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit eca70fc5671b226966dfb7ee9953d59199288566 Author: Eduardo Habkost Date: Mon Nov 17 19:03:15 2008 -0200 KVM: VMX: move ASM_VMX_* definitions from asm/kvm_host.h to asm/vmx.h Those definitions will be used by code outside KVM, so move it outside of a KVM-specific source file. Those definitions are used only on kvm/vmx.c, that already includes asm/vmx.h, so they can be moved safely. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit c2cedf7be2017e3264c93a4c0d75b1d96d0d7104 Author: Eduardo Habkost Date: Mon Nov 17 19:03:14 2008 -0200 KVM: SVM: move svm.h to include/asm svm.h will be used by core code that is independent of KVM, so I am moving it outside the arch/x86/kvm directory. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit 13673a90f1cf88296f726265cc7cf3ec76ecba30 Author: Eduardo Habkost Date: Mon Nov 17 19:03:13 2008 -0200 KVM: VMX: move vmx.h to include/asm vmx.h will be used by core code that is independent of KVM, so I am moving it outside the arch/x86/kvm directory. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit fe4e771d5c37f0949047faf95d16a512b21406bf Author: Hollis Blanchard Date: Mon Nov 10 14:57:36 2008 -0600 KVM: ppc: fix userspace mapping invalidation on context switch We used to defer invalidating userspace TLB entries until jumping out of the kernel. This was causing MMU weirdness most easily triggered by using a pipe in the guest, e.g. "dmesg | tail". I believe the problem was that after the guest kernel changed the PID (part of context switch), the old process's mappings were still present, and so copy_to_user() on the "return to new process" path ended up using stale mappings. Testing with large pages (64K) exposed the problem, probably because with 4K pages, pressure on the TLB faulted all process A's mappings out before the guest kernel could insert any for process B. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit df9b856c454e331bc394c80903fcdea19cae2a33 Author: Hollis Blanchard Date: Mon Nov 10 14:57:35 2008 -0600 KVM: ppc: use prefetchable mappings for guest memory Bare metal Linux on 440 can "overmap" RAM in the kernel linear map, so that it can use large (256MB) mappings even if memory isn't a multiple of 256MB. To prevent the hardware prefetcher from loading from an invalid physical address through that mapping, it's marked Guarded. However, KVM must ensure that all guest mappings are backed by real physical RAM (since a deliberate access through a guarded mapping could still cause a machine check). Accordingly, we don't need to make our mappings guarded, so let's allow prefetching as the designers intended. Curiously this patch didn't affect performance at all on the quick test I tried, but it's clearly the right thing to do anyways and may improve other workloads. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit bf5d4025c9fe8a64c5905c00bf4292319d634903 Author: Hollis Blanchard Date: Mon Nov 10 14:57:34 2008 -0600 KVM: ppc: use MMUCR accessor to obtain TID We have an accessor; might as well use it. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit e7cacd40d20849f69c908f1290c714145073685a Author: Sheng Yang Date: Tue Nov 11 15:30:40 2008 +0800 KVM: Fix kernel allocated memory slot Commit 7fd49de9773fdcb7b75e823b21c1c5dc1e218c14 "KVM: ensure that memslot userspace addresses are page-aligned" broke kernel space allocated memory slot, for the userspace_addr is invalid. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 30ed5bb685ab03c9bdf812502900b65087d61490 Author: Xiantao Zhang Date: Fri Oct 24 11:47:57 2008 +0800 KVM: ia64: Remove some macro definitions in asm-offsets.c. Use kernel's corresponding macro instead. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 74ef740da64fd82a14dbab6d7f43d798ecc1b6cc Author: Hollis Blanchard Date: Fri Nov 7 13:15:13 2008 -0600 KVM: ppc: fix Kconfig constraints Make sure that CONFIG_KVM cannot be selected without processor support (currently, 440 is the only processor implementation available). Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 78749809222be5083e21bfe697b44ab797e5c0a8 Author: Hollis Blanchard Date: Fri Nov 7 13:32:12 2008 -0600 KVM: ensure that memslot userspace addresses are page-aligned Bad page translation and silent guest failure ensue if the userspace address is not page-aligned. I hit this problem using large (host) pages with qemu, because qemu currently has a hardcoded 4096-byte alignment for guest memory allocations. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 0fdf8e59faa5c60e9d77c8e14abe3a0f8bfcf586 Author: Nitin A Kamble Date: Wed Nov 5 15:56:21 2008 -0800 KVM: Fix cpuid iteration on multiple leaves per eac The code to traverse the cpuid data array list for counting type of leaves is currently broken. This patches fixes the 2 things in it. 1. Set the 1st counting entry's flag KVM_CPUID_FLAG_STATE_READ_NEXT. Without it the code will never find a valid entry. 2. Also the stop condition in the for loop while looking for the next unflaged entry is broken. It needs to stop when it find one matching entry; and in the case of count of 1, it will be the same entry found in this iteration. Signed-Off-By: Nitin A Kamble Signed-off-by: Avi Kivity commit 0853d2c1d849ef69884d2447d90d04007590b72b Author: Nitin A Kamble Date: Wed Nov 5 15:37:36 2008 -0800 KVM: Fix cpuid leaf 0xb loop termination For cpuid leaf 0xb the bits 8-15 in ECX register define the end of counting leaf. The previous code was using bits 0-7 for this purpose, which is a bug. Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit fcfdbd266a41d3e41d17666de410a24995fde03a Author: Hollis Blanchard Date: Wed Nov 5 09:36:24 2008 -0600 KVM: ppc: improve trap emulation set ESR[PTR] when emulating a guest trap. This allows Linux guests to properly handle WARN_ON() (i.e. detect that it's a non-fatal trap). Also remove debugging printk in trap emulation. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit d4cf3892e50b8e35341086a4fe2bb8a3989b55d4 Author: Hollis Blanchard Date: Wed Nov 5 09:36:23 2008 -0600 KVM: ppc: optimize irq delivery path In kvmppc_deliver_interrupt is just one case left in the switch and it is a rare one (less than 8%) when looking at the exit numbers. Therefore we can at least drop the switch/case and if an if. I inserted an unlikely too, but that's open for discussion. In kvmppc_can_deliver_interrupt all frequent cases are in the default case. I know compilers are smart but we can make it easier for them. By writing down all options and removing the default case combined with the fact that ithe values are constants 0..15 should allow the compiler to write an easy jump table. Modifying kvmppc_can_deliver_interrupt pointed me to the fact that gcc seems to be unable to reduce priority_exception[x] to a build time constant. Therefore I changed the usage of the translation arrays in the interrupt delivery path completely. It is now using priority without translation to irq on the full irq delivery path. To be able to do that ivpr regs are stored by their priority now. Additionally the decision made in kvmppc_can_deliver_interrupt is already sufficient to get the value of interrupt_msr_mask[x]. Therefore we can replace the 16x4byte array used here with a single 4byte variable (might still be one miss, but the chance to find this in cache should be better than the right entry of the whole array). Signed-off-by: Christian Ehrhardt Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 9ab80843c01ac25139e635d018467e528729a317 Author: Hollis Blanchard Date: Wed Nov 5 09:36:22 2008 -0600 KVM: ppc: optimize find first bit Since we use a unsigned long here anyway we can use the optimized __ffs. Signed-off-by: Christian Ehrhardt Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 1b6766c7f3533c5d03668e11dd5617ae4a52e5a8 Author: Hollis Blanchard Date: Wed Nov 5 09:36:21 2008 -0600 KVM: ppc: optimize kvm stat handling Currently we use an unnecessary if&switch to detect some cases. To be honest we don't need the ligh_exits counter anyway, because we can calculate it out of others. Sum_exits can also be calculated, so we can remove that too. MMIO, DCR and INTR can be counted on other places without these additional control structures (The INTR case was never hit anyway). The handling of BOOKE_INTERRUPT_EXTERNAL/BOOKE_INTERRUPT_DECREMENTER is similar, but we can avoid the additional if when copying 3 lines of code. I thought about a goto there to prevent duplicate lines, but rewriting three lines should be better style than a goto cross switch/case statements (its also not enough code to justify a new inline function). Signed-off-by: Christian Ehrhardt Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit b8fd68ac8db1f926fdb2c7f196598a279461de53 Author: Hollis Blanchard Date: Wed Nov 5 09:36:20 2008 -0600 KVM: ppc: fix set regs to take care of msr change When changing some msr bits e.g. problem state we need to take special care of that. We call the function in our mtmsr emulation (not needed for wrtee[i]), but we don't call kvmppc_set_msr if we change msr via set_regs ioctl. It's a corner case we never hit so far, but I assume it should be kvmppc_set_msr in our arch set regs function (I found it because it is also a corner case when using pv support which would miss the update otherwise). Signed-off-by: Christian Ehrhardt Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 5cf8ca22146fa106f3bb865631ec04f5b499508f Author: Hollis Blanchard Date: Wed Nov 5 09:36:19 2008 -0600 KVM: ppc: adjust vcpu types to support 64-bit cores However, some of these fields could be split into separate per-core structures in the future. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit db93f5745d836f81cef0b4101a7c2685eeb55efb Author: Hollis Blanchard Date: Wed Nov 5 09:36:18 2008 -0600 KVM: ppc: create struct kvm_vcpu_44x and introduce container_of() accessor This patch doesn't yet move all 44x-specific data into the new structure, but is the first step down that path. In the future we may also want to create a struct kvm_vcpu_booke. Based on patch from Liu Yu . Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 5cbb5106f50b4515815cd32cf944958c0d4da83f Author: Hollis Blanchard Date: Wed Nov 5 09:36:17 2008 -0600 KVM: ppc: Move the last bits of 44x code out of booke.c Needed to port to other Book E processors. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 75f74f0dbe086c239b4b0cc5ed75b903ea3e663f Author: Hollis Blanchard Date: Wed Nov 5 09:36:16 2008 -0600 KVM: ppc: refactor instruction emulation into generic and core-specific pieces Cores provide 3 emulation hooks, implemented for example in the new 4xx_emulate.c: kvmppc_core_emulate_op kvmppc_core_emulate_mtspr kvmppc_core_emulate_mfspr Strictly speaking the last two aren't necessary, but provide for more informative error reporting ("unknown SPR"). Long term I'd like to have instruction decoding autogenerated from tables of opcodes, and that way we could aggregate universal, Book E, and core-specific instructions more easily and without redundant switch statements. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit c381a04313e7c0fb04246b1ff711e0b5726de6c0 Author: Hollis Blanchard Date: Wed Nov 5 09:36:15 2008 -0600 ppc: Create disassemble.h to extract instruction fields This is used in a couple places in KVM, but isn't KVM-specific. However, this patch doesn't modify other in-kernel emulation code: - xmon uses a direct copy of ppc_opc.c from binutils - emulate_instruction() doesn't need it because it can use a series of mask tests. Signed-off-by: Hollis Blanchard Acked-by: Paul Mackerras Signed-off-by: Avi Kivity commit 9dd921cfea734409a931ccc6eafd7f09850311e9 Author: Hollis Blanchard Date: Wed Nov 5 09:36:14 2008 -0600 KVM: ppc: Refactor powerpc.c to relocate 440-specific code This introduces a set of core-provided hooks. For 440, some of these are implemented by booke.c, with the rest in (the new) 44x.c. Note that these hooks are link-time, not run-time. Since it is not possible to build a single kernel for both e500 and 440 (for example), using function pointers would only add overhead. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit d9fbd03d240380826c0ec16f927242be24ff6265 Author: Hollis Blanchard Date: Wed Nov 5 09:36:13 2008 -0600 KVM: ppc: combine booke_guest.c and booke_host.c The division was somewhat artificial and cumbersome, and had no functional benefit anyways: we can only guests built for the real host processor. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 0f55dc481ea5c4f87fc0161cb1b8c6e2cafae8fc Author: Hollis Blanchard Date: Wed Nov 5 09:36:12 2008 -0600 KVM: ppc: Rename "struct tlbe" to "struct kvmppc_44x_tlbe" This will ease ports to other cores. Also remove unused "struct kvm_tlb" while we're at it. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit a0d7b9f246074fab1f42678d203ef4ba281505f2 Author: Hollis Blanchard Date: Wed Nov 5 09:36:11 2008 -0600 KVM: ppc: Move 440-specific TLB code into 44x_tlb.c This will make it easier to provide implementations for other cores. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 2843099fee32a6020e1caa95c6026f28b5d43bff Author: Izik Eidus Date: Fri Oct 3 17:40:32 2008 +0300 KVM: MMU: Fix aliased gfns treated as unaliased Some areas of kvm x86 mmu are using gfn offset inside a slot without unaliasing the gfn first. This patch makes sure that the gfn will be unaliased and add gfn_to_memslot_unaliased() to save the calculating of the gfn unaliasing in case we have it unaliased already. Signed-off-by: Izik Eidus Acked-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 6eb55818c043b097c83828da8430fcb9a02fdb89 Author: Sheng Yang Date: Fri Oct 31 12:37:41 2008 +0800 KVM: Enable Function Level Reset for assigned device Ideally, every assigned device should in a clear condition before and after assignment, so that the former state of device won't affect later work. Some devices provide a mechanism named Function Level Reset, which is defined in PCI/PCI-e document. We should execute it before and after device assignment. (But sadly, the feature is new, and most device on the market now don't support it. We are considering using D0/D3hot transmit to emulate it later, but not that elegant and reliable as FLR itself.) [Update: Reminded by Xiantao, execute FLR after we ensure that the device can be assigned to the guest.] Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 853dafb62b386a3a75808483a120998e734eb6e1 Author: Xiantao Zhang Date: Thu Oct 23 15:03:38 2008 +0800 KVM: ia64: Remove lock held by halted vcpu Remove the lock protection for kvm halt logic, otherwise, once other vcpus want to acquire the lock, and they have to wait all vcpus are waken up from halt. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit a917f7af3905953329361d29b6db78eb17b4d44c Author: Xiantao Zhang Date: Thu Oct 23 14:56:44 2008 +0800 KVM: ia64: Re-organize data sturure of guests' data area 1. Increase the size of data area to 64M 2. Support more vcpus and memory, 128 vcpus and 256G memory are supported for guests. 3. Add the boundary check for memory and vcpu allocation. With this patch, kvm guest's data area looks as follow: * * +----------------------+ ------- KVM_VM_DATA_SIZE * | vcpu[n]'s data | | ___________________KVM_STK_OFFSET * | | | / | * | .......... | | /vcpu's struct&stack | * | .......... | | /---------------------|---- 0 * | vcpu[5]'s data | | / vpd | * | vcpu[4]'s data | |/-----------------------| * | vcpu[3]'s data | / vtlb | * | vcpu[2]'s data | /|------------------------| * | vcpu[1]'s data |/ | vhpt | * | vcpu[0]'s data |____________________________| * +----------------------+ | * | memory dirty log | | * +----------------------+ | * | vm's data struct | | * +----------------------+ | * | | | * | | | * | | | * | | | * | | | * | | | * | | | * | vm's p2m table | | * | | | * | | | * | | | | * vm's data->| | | | * +----------------------+ ------- 0 * To support large memory, needs to increase the size of p2m. * To support more vcpus, needs to ensure it has enough space to * hold vcpus' data. */ Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 1d5a4d9b92028d9fe77da34037bd5a1ebfecc733 Author: Guillaume Thouvenin Date: Wed Oct 29 09:39:42 2008 +0100 KVM: VMX: Handle mmio emulation when guest state is invalid If emulate_invalid_guest_state is enabled, the emulator is called when guest state is invalid. Until now, we reported an mmio failure when emulate_instruction() returned EMULATE_DO_MMIO. This patch adds the case where emulate_instruction() failed and an MMIO emulation is needed. Signed-off-by: Guillaume Thouvenin Signed-off-by: Avi Kivity commit e93f36bcfaa9e899c595e1c446c784a69021854a Author: Guillaume Thouvenin Date: Tue Oct 28 10:51:30 2008 +0100 KVM: allow emulator to adjust rip for emulated pio instructions If we call the emulator we shouldn't call skip_emulated_instruction() in the first place, since the emulator already computes the next rip for us. Thus we move ->skip_emulated_instruction() out of kvm_emulate_pio() and into handle_io() (and the svm equivalent). We also replaced "return 0" by "break" in the "do_io:" case because now the shadow register state needs to be committed. Otherwise eip will never be updated. Signed-off-by: Guillaume Thouvenin Signed-off-by: Avi Kivity commit c0d09828c870f90c6bc72070ada281568f89c63b Author: Amit Shah Date: Mon Oct 27 09:04:18 2008 +0000 KVM: SVM: Set the 'busy' flag of the TR selector The busy flag of the TR selector is not set by the hardware. This breaks migration from amd hosts to intel hosts. Signed-off-by: Amit Shah Signed-off-by: Avi Kivity commit 25022acc3dd5f0b54071c7ba7c371860f2971b52 Author: Amit Shah Date: Mon Oct 27 09:04:17 2008 +0000 KVM: SVM: Set the 'g' bit of the cs selector for cross-vendor migration The hardware does not set the 'g' bit of the cs selector and this breaks migration from amd hosts to intel hosts. Set this bit if the segment limit is beyond 1 MB. Signed-off-by: Amit Shah Signed-off-by: Avi Kivity commit b8222ad2e52fd2c0c4e5e1c53e65d131f911b767 Author: Amit Shah Date: Wed Oct 22 16:39:47 2008 +0530 KVM: x86: Fix typo in function name get_segment_descritptor_dtable() contains an obvious type. Signed-off-by: Amit Shah Signed-off-by: Avi Kivity commit e19e30effac03f5a005a8e42ed941a2a5dc62654 Author: Sheng Yang Date: Mon Oct 20 16:07:10 2008 +0800 KVM: IRQ ACK notifier should be used with in-kernel irqchip Also remove unnecessary parameter of unregister irq ack notifier. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit cc6e462cd54e64858ea25816df87d033229efe56 Author: Jan Kiszka Date: Mon Oct 20 10:20:03 2008 +0200 KVM: x86: Optimize NMI watchdog delivery As suggested by Avi, this patch introduces a counter of VCPUs that have LVT0 set to NMI mode. Only if the counter > 0, we push the PIT ticks via all LAPIC LVT0 lines to enable NMI watchdog support. Signed-off-by: Jan Kiszka Acked-by: Sheng Yang Signed-off-by: Avi Kivity commit 8fdb2351d51b040146f10a624387bbd102d851c0 Author: Jan Kiszka Date: Mon Oct 20 10:20:02 2008 +0200 KVM: x86: Fix and refactor NMI watchdog emulation This patch refactors the NMI watchdog delivery patch, consolidating tests and providing a proper API for delivering watchdog events. An included micro-optimization is to check only for apic_hw_enabled in kvm_apic_local_deliver (the test for LVT mask is covering the soft-disabled case already). Signed-off-by: Jan Kiszka Acked-by: Sheng Yang Signed-off-by: Avi Kivity commit 291fd39bfc2089c2dae79cf2d7cfca81b14ca769 Author: Guillaume Thouvenin Date: Mon Oct 20 13:11:58 2008 +0200 KVM: x86 emulator: Add decode entries for 0x04 and 0x05 opcodes (add acc, imm) Add decode entries for 0x04 and 0x05 (ADD) opcodes, execution is already implemented. Signed-off-by: Guillaume Thouvenin Signed-off-by: Avi Kivity commit 6fe639792c7b8e462baeaac39ecc33541fd5da6e Author: Sheng Yang Date: Thu Oct 16 17:30:58 2008 +0800 KVM: VMX: Move private memory slot position PCI device assignment would map guest MMIO spaces as separate slot, so it is possible that the device has more than 2 MMIO spaces and overwrite current private memslot. The patch move private memory slot to the top of userspace visible memory slots. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 291f26bc0f89518ad7ee3207c09eb8a743ac8fcc Author: Sheng Yang Date: Thu Oct 16 17:30:57 2008 +0800 KVM: MMU: Extend kvm_mmu_page->slot_bitmap size Otherwise set_bit() for private memory slot(above KVM_MEMORY_SLOTS) would corrupted memory in 32bit host. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit d73fa29a9b75b2af7f69dae276d2c602a23b329b Author: Sheng Yang Date: Tue Oct 14 15:59:10 2008 +0800 KVM: Clean up kvm_x86_emulate.h Remove one left improper comment of removed CR2. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 64d4d521757117aa5c1cfe79d3baa6cf57703f81 Author: Sheng Yang Date: Thu Oct 9 16:01:57 2008 +0800 KVM: Enable MTRR for EPT The effective memory type of EPT is the mixture of MSR_IA32_CR_PAT and memory type field of EPT entry. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 74be52e3e6285fc6e872a2a7baea544106f399ea Author: Sheng Yang Date: Thu Oct 9 16:01:56 2008 +0800 KVM: Add local get_mtrr_type() to support MTRR For EPT memory type support. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 468d472f3f65100d5fb88c8d45043c85b874c294 Author: Sheng Yang Date: Thu Oct 9 16:01:55 2008 +0800 KVM: VMX: Add PAT support for EPT GUEST_PAT support is a new feature introduced by Intel Core i7 architecture. With this, cpu would save/load guest and host PAT automatically, for EPT memory type in guest depends on MSR_IA32_CR_PAT. Also add save/restore for MSR_IA32_CR_PAT. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 0bed3b568b68e5835ef5da888a372b9beabf7544 Author: Sheng Yang Date: Thu Oct 9 16:01:54 2008 +0800 KVM: Improve MTRR structure As well as reset mmu context when set MTRR. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 932d27a7913fc6b3c64c6e6082628b0a1561dec9 Author: Sheng Yang Date: Thu Oct 9 16:01:53 2008 +0800 x86: Export some definition of MTRR For KVM can reuse the type define, and need them to support shadow MTRR. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit b558bc0a25c82ef2a9d2683b0beb3e4b87cea20b Author: Sheng Yang Date: Thu Oct 9 16:01:52 2008 +0800 x86: Rename mtrr_state struct and macro names Prepare for exporting them. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 5f179287fa02723215eecf681d812b303c243973 Author: Gleb Natapov Date: Tue Oct 7 15:42:33 2008 +0200 KVM: call kvm_arch_vcpu_reset() instead of the kvm_x86_ops callback Call kvm_arch_vcpu_reset() instead of directly using arch callback. The function does additional things. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 3b86cd9967242f3f3d775ee015fb814a349ed5e6 Author: Jan Kiszka Date: Fri Sep 26 09:30:57 2008 +0200 KVM: VMX: work around lacking VNMI support Older VMX supporting CPUs do not provide the "Virtual NMI" feature for tracking the NMI-blocked state after injecting such events. For now KVM is unable to inject NMIs on those CPUs. Derived from Sheng Yang's suggestion to use the IRQ window notification for detecting the end of NMI handlers, this patch implements virtual NMI support without impact on the host's ability to receive real NMIs. The downside is that the given approach requires some heuristics that can cause NMI nesting in vary rare corner cases. The approach works as follows: - inject NMI and set a software-based NMI-blocked flag - arm the IRQ window start notification whenever an NMI window is requested - if the guest exits due to an opening IRQ window, clear the emulated NMI-blocked flag - if the guest net execution time with NMI-blocked but without an IRQ window exceeds 1 second, force NMI-blocked reset and inject anyway This approach covers most practical scenarios: - succeeding NMIs are seperated by at least one open IRQ window - the guest may spin with IRQs disabled (e.g. due to a bug), but leaving the NMI handler takes much less time than one second - the guest does not rely on strict ordering or timing of NMIs (would be problematic in virtualized environments anyway) Successfully tested with the 'nmi n' monitor command, the kgdbts testsuite on smp guests (additional patches required to add debug register support to kvm) + the kernel's nmi_watchdog=1, and a Siemens- specific board emulation (+ guest) that comes with its own NMI watchdog mechanism. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 487b391d6ea9b1d0e2e0440466fb3130e78c98d9 Author: Jan Kiszka Date: Fri Sep 26 09:30:56 2008 +0200 KVM: VMX: Provide support for user space injected NMIs This patch adds the required bits to the VMX side for user space injected NMIs. As with the preexisting in-kernel irqchip support, the CPU must provide the "virtual NMI" feature for proper tracking of the NMI blocking state. Based on the original patch by Sheng Yang. Signed-off-by: Jan Kiszka Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit c4abb7c9cde24b7351a47328ef866e6a2bbb1ad0 Author: Jan Kiszka Date: Fri Sep 26 09:30:55 2008 +0200 KVM: x86: Support for user space injected NMIs Introduces the KVM_NMI IOCTL to the generic x86 part of KVM for injecting NMIs from user space and also extends the statistic report accordingly. Based on the original patch by Sheng Yang. Signed-off-by: Jan Kiszka Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 26df99c6c5807115f06d4e1abae397b7f5f3e00c Author: Jan Kiszka Date: Fri Sep 26 09:30:54 2008 +0200 KVM: Kick NMI receiving VCPU Kick the NMI receiving VCPU in case the triggering caller runs in a different context. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 0496fbb973ccc9477082e859ed0faab5acb805ba Author: Jan Kiszka Date: Fri Sep 26 09:30:53 2008 +0200 KVM: x86: VCPU with pending NMI is runnabled Ensure that a VCPU with pending NMIs is considered runnable. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 23930f9521c9c4d4aa96cdb9d1e1703f3782bb94 Author: Jan Kiszka Date: Fri Sep 26 09:30:52 2008 +0200 KVM: x86: Enable NMI Watchdog via in-kernel PIT source LINT0 of the LAPIC can be used to route PIT events as NMI watchdog ticks into the guest. This patch aligns the in-kernel irqchip emulation with the user space irqchip with already supports this feature. The trick is to route PIT interrupts to all LAPIC's LVT0 lines. Rebased and slightly polished patch originally posted by Sheng Yang. Signed-off-by: Jan Kiszka Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 66a5a347c2690db4c0756524a8eb5a05e0437aa8 Author: Jan Kiszka Date: Fri Sep 26 09:30:51 2008 +0200 KVM: VMX: fix real-mode NMI support Fix NMI injection in real-mode with the same pattern we perform IRQ injection. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit f460ee43e250b675376246b1c4c9fe9b9af4ab16 Author: Jan Kiszka Date: Fri Sep 26 09:30:50 2008 +0200 KVM: VMX: refactor IRQ and NMI window enabling do_interrupt_requests and vmx_intr_assist go different way for achieving the same: enabling the nmi/irq window start notification. Unify their code over enable_{irq|nmi}_window, get rid of a redundant call to enable_intr_window instead of direct enable_nmi_window invocation and unroll enable_intr_window for both in-kernel and user space irq injection accordingly. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 33f089ca5a61f7aead26e8e1866dfc961dd88a9e Author: Jan Kiszka Date: Fri Sep 26 09:30:49 2008 +0200 KVM: VMX: refactor/fix IRQ and NMI injectability determination There are currently two ways in VMX to check if an IRQ or NMI can be injected: - vmx_{nmi|irq}_enabled and - vcpu.arch.{nmi|interrupt}_window_open. Even worse, one test (at the end of vmx_vcpu_run) uses an inconsistent, likely incorrect logic. This patch consolidates and unifies the tests over {nmi|interrupt}_window_open as cache + vmx_update_window_states for updating the cache content. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 448fa4a9c5dbc6941dd19ed09692c588d815bb06 Author: Jan Kiszka Date: Fri Sep 26 09:30:48 2008 +0200 KVM: x86: Reset pending/inject NMI state on CPU reset CPU reset invalidates pending or already injected NMIs, therefore reset the related state variables. Based on original patch by Gleb Natapov. Signed-off-by: Gleb Natapov Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 60637aacfd95c368e1fbc2157275d1b621b5dcdd Author: Jan Kiszka Date: Fri Sep 26 09:30:47 2008 +0200 KVM: VMX: Support for NMI task gates Properly set GUEST_INTR_STATE_NMI and reset nmi_injected when a task-switch vmexit happened due to a task gate being used for handling NMIs. Also avoid the false warning about valid vectoring info in kvm_handle_exit. Based on original patch by Gleb Natapov. Signed-off-by: Gleb Natapov Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit e4a41889ece6c95f390a7fa3a94255ab62470968 Author: Jan Kiszka Date: Fri Sep 26 09:30:46 2008 +0200 KVM: VMX: Use INTR_TYPE_NMI_INTR instead of magic value Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit a26bf12afb608eb5a96192eaee35fc08ffbf85aa Author: Jan Kiszka Date: Fri Sep 26 09:30:45 2008 +0200 KVM: VMX: include all IRQ window exits in statistics irq_window_exits only tracks IRQ window exits due to user space requests, nmi_window_exits include all exits. The latter makes more sense, so let's adjust irq_window_exits accounting. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 2786b014ec893c301ea52ef9962e7cc60f89f9b3 Author: Guillaume Thouvenin Date: Mon Sep 22 16:08:06 2008 +0200 KVM: x86 emulator: consolidate push reg This patch consolidate the emulation of push reg instruction. Signed-off-by: Guillaume Thouvenin Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit c742b31c03f37c5c499178f09f57381aa6c70131 Author: Martin Schwidefsky Date: Wed Dec 31 15:11:42 2008 +0100 [PATCH] fast vdso implementation for CLOCK_THREAD_CPUTIME_ID The extract cpu time instruction (ectg) instruction allows the user process to get the current thread cputime without calling into the kernel. The code that uses the instruction needs to switch to the access registers mode to get access to the per-cpu info page that contains the two base values that are needed to calculate the current cputime from the CPU timer with the ectg instruction. Signed-off-by: Martin Schwidefsky commit 9cfb9b3c3a7361c793c031e9c3583b177ac5debd Author: Martin Schwidefsky Date: Wed Dec 31 15:11:41 2008 +0100 [PATCH] improve idle cputime accounting Distinguish the cputime of the idle process where idle is actually using cpu cycles from the cputime where idle is sleeping on an enabled wait psw. The former is accounted as system time, the later as idle time. Signed-off-by: Martin Schwidefsky commit 6f43092441bda528dd38f2dc6c1e2522c5079fb7 Author: Martin Schwidefsky Date: Wed Dec 31 15:11:40 2008 +0100 [PATCH] improve precision of idle time detection. Increase the precision of the idle time calculation that is exported to user space via /sys/devices/system/cpu/cpu/idle_time_us Signed-off-by: Martin Schwidefsky commit aa5e97ce4bbc9d5daeec16b1d15bb3f6b7b4f4d4 Author: Martin Schwidefsky Date: Wed Dec 31 15:11:39 2008 +0100 [PATCH] improve precision of process accounting. The unit of the cputime accouting values that are stored per process is currently a microsecond. The CPU timer has a maximum granularity of 2**-12 microseconds. There is no benefit in storing the per process values in the lesser precision and there is the disadvantage that the backend has to do the rounding to microseconds. The better solution is to use the maximum granularity of the CPU timer as cputime unit. Signed-off-by: Martin Schwidefsky commit 79741dd35713ff4f6fd0eafd59fa94e8a4ba922d Author: Martin Schwidefsky Date: Wed Dec 31 15:11:38 2008 +0100 [PATCH] idle cputime accounting The cpu time spent by the idle process actually doing something is currently accounted as idle time. This is plain wrong, the architectures that support VIRT_CPU_ACCOUNTING=y can do better: distinguish between the time spent doing nothing and the time spent by idle doing work. The first is accounted with account_idle_time and the second with account_system_time. The architectures that use the account_xxx_time interface directly and not the account_xxx_ticks interface now need to do the check for the idle process in their arch code. In particular to improve the system vs true idle time accounting the arch code needs to measure the true idle time instead of just testing for the idle process. To improve the tick based accounting as well we would need an architecture primitive that can tell us if the pt_regs of the interrupted context points to the magic instruction that halts the cpu. In addition idle time is no more added to the stime of the idle process. This field now contains the system time of the idle process as it should be. On systems without VIRT_CPU_ACCOUNTING this will always be zero as every tick that occurs while idle is running will be accounted as idle time. This patch contains the necessary common code changes to be able to distinguish idle system time and true idle time. The architectures with support for VIRT_CPU_ACCOUNTING need some changes to exploit this. Signed-off-by: Martin Schwidefsky commit 457533a7d3402d1d91fbc125c8bd1bd16dcd3cd4 Author: Martin Schwidefsky Date: Wed Dec 31 15:11:37 2008 +0100 [PATCH] fix scaled & unscaled cputime accounting The utimescaled / stimescaled fields in the task structure and the global cpustat should be set on all architectures. On s390 the calls to account_user_time_scaled and account_system_time_scaled never have been added. In addition system time that is accounted as guest time to the user time of a process is accounted to the scaled system time instead of the scaled user time. To fix the bugs and to prevent future forgetfulness this patch merges account_system_time_scaled into account_system_time and account_user_time_scaled into account_user_time. Cc: Benjamin Herrenschmidt Cc: Hidetoshi Seto Cc: Tony Luck Cc: Jeremy Fitzhardinge Cc: Chris Wright Cc: Michael Neuling Acked-by: Paul Mackerras Signed-off-by: Martin Schwidefsky commit 2ca1a615835d9f4990f42102ab1f2ef434e7e89c Merge: e12f010... 6a94cb7... Author: Rusty Russell Date: Wed Dec 31 23:05:57 2008 +1030 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: arch/x86/kernel/io_apic.c commit 8e5033adc78ff4fbeab7052134e7af1f6ff04187 Author: Artem Bityutskiy Date: Tue Dec 30 18:37:45 2008 +0200 UBIFS: add more useful debugging prints Print node sizes and maximum node sizes. Signed-off-by: Artem Bityutskiy commit 5d38b3ac78e0e0e420fba134716fc3d20e6b978a Author: Artem Bityutskiy Date: Tue Dec 30 17:58:42 2008 +0200 UBIFS: print debugging messages properly We cannot use ubifs_err() macro with DBGKEY() and DBGKEY1(), because this is racy and holding dbg_lock is needed. Use dbg_err() instead, which does have the lock held. Signed-off-by: Artem Bityutskiy commit 80736d41f895bc472b2433a1c27fa6d4afe6ca35 Author: Artem Bityutskiy Date: Tue Dec 30 17:44:02 2008 +0200 UBIFS: fix numerous spelling mistakes Signed-off-by: Artem Bityutskiy commit 57a450e95932f7798677885b8a01443aca72fdc7 Author: Artem Bityutskiy Date: Tue Dec 30 16:23:34 2008 +0200 UBIFS: allow mounting when short of space It is fine if there is not free space - we should still allow mounting this FS. This patch relaxes the free space requirements and adds info dumps. Signed-off-by: Artem Bityutskiy commit a9f2fc0e251e71a51deb8059b181c375a4a5e979 Author: Artem Bityutskiy Date: Tue Dec 23 14:39:14 2008 +0200 UBIFS: fix writing uncompressed files UBIFS does not disable compression if ui->flags is non-zero, e.g. if the file has "sync" flag. This is because of the typo which is fixed by this patch. The patch also adds a couple of useful debugging prints. Signed-off-by: Artem Bityutskiy commit f92b982680e4b4149c559789a54e1e9db190752a Author: Artem Bityutskiy Date: Sun Dec 28 11:34:26 2008 +0200 UBIFS: fix checkpatch.pl warnings These are mostly long lines and wrong indentation warning fixes. But also there are two volatile variables and checkpatch.pl complains about them: WARNING: Use of volatile is usually wrong: see Documentation/volatile-considered-harmful.txt + volatile int gc_seq; WARNING: Use of volatile is usually wrong: see Documentation/volatile-considered-harmful.txt + volatile int gced_lnum; Well, we anyway use smp_wmb() for c->gc_seq and c->gced_lnum, so these 'volatile' modifiers can be just dropped. Signed-off-by: Artem Bityutskiy commit 6a4a9b438fe43397f4652853838f284cddd629b5 Author: Artem Bityutskiy Date: Sun Dec 28 11:00:55 2008 +0200 UBIFS: fix sparse warnings fs/ubifs/compress.c:111:8: warning: incorrect type in argument 5 (different signedness) fs/ubifs/compress.c:111:8: expected unsigned int *dlen fs/ubifs/compress.c:111:8: got int *out_len fs/ubifs/compress.c:175:10: warning: incorrect type in argument 5 (different signedness) fs/ubifs/compress.c:175:10: expected unsigned int *dlen fs/ubifs/compress.c:175:10: got int *out_len Fix this by adding a cast to (unsigned int *). We guarantee that our lengths are small and no overflow is possible. Signed-off-by: Artem Bityutskiy commit 2acf80675800d5e6775990d1280cca5c2ffb30e6 Author: Artem Bityutskiy Date: Tue Dec 9 11:04:40 2008 -0500 UBIFS: simplify make_free_space The 'make_free_space()' function was too complex and this patch simplifies it. It also fixes a bug - the freespace test failed straight away on UBI volumes with 512 bytes LEB size. Signed-off-by: Artem Bityutskiy commit 2edc2025c2583a18eafe5cdbc7deb36e320aaec5 Author: Artem Bityutskiy Date: Mon Dec 22 11:21:03 2008 +0200 UBIFS: do not lie about used blocks Do not force UBIFS return 0 used space when it is empty. It leads to a situation when creating any file immediately produces tens of used blocks, which looks very weird. It is better to be honest and say that some blocks are used even if the FS is empty. And ext2 does the same. Signed-off-by: Artem Bityutskiy commit 6edbfafda682b30ad984964cc432da6fa1c8fab5 Author: Artem Bityutskiy Date: Tue Dec 30 20:06:49 2008 +0200 UBIFS: restore budg_uncommitted_idx UBIFS stores uncommitted index size in c->budg_uncommitted_idx, and this affect budgeting calculations. When mounting and replaying, this variable is not updated, so we may end up with "over-budgeting". This patch fixes the issue. Signed-off-by: Artem Bityutskiy commit 26d05777b0a23062a39e83c369c0a3583918f164 Author: Artem Bityutskiy Date: Sun Dec 28 09:11:02 2008 +0200 UBIFS: always commit on unmount UBIFS commits on unmount to make the next mount faster. Currently, it commits only if there is more than LEB size bytes in the journal. This is not very good, because journal size may be large (512KiB). And there may be few deletions in the journal which do not take much journal space, but which do introduce a lot of TNC changes and make mount slow. Thus, jurt remove this condition and always commit. Signed-off-by: Artem Bityutskiy commit cb5c6a2b2be59b480a3746c5113cb3411c053bff Author: Artem Bityutskiy Date: Sun Dec 28 08:18:43 2008 +0200 UBIFS: use ubi_sync UBI now has (fake for now, though) synchronization call - use it. Signed-off-by: Artem Bityutskiy commit f10383006c26b33539820759b9dc8656497b02a4 Author: Artem Bityutskiy Date: Sun Dec 28 08:16:32 2008 +0200 UBIFS: always commit in sync_fs Always run commit in sync_fs, because even if the journal seems to be almost empty, there may be a deletion which removes a large file, which affects the index greatly. And because we want better free space predictions after 'sync_fs()', we have to commit. Signed-off-by: Artem Bityutskiy commit 304d427cd99eb645b44b08d77e70ce308e6bcd8c Author: Artem Bityutskiy Date: Sun Dec 28 08:04:17 2008 +0200 UBIFS: fix file-system synchronization Argh. The ->sync_fs call is called _before_ all inodes are flushed. This means we first sync write buffers and commit, then all inodes are synced, and we end up with unflushed write buffers! Fix this by forcing synching all indoes from 'ubifs_sync_fs()'. Signed-off-by: Artem Bityutskiy commit 79807d075ab8d1ca3574f5f52421e0047c1f1256 Author: Artem Bityutskiy Date: Sat Dec 27 19:18:00 2008 +0200 UBIFS: fix constants initialization The c->min_idx_lebs constant depends on c->old_idx_sz, which is read from the master node. This means that we have to initialize c->min_idx_lebs only after we have read the master node. Signed-off-by: Artem Bityutskiy commit ec270e59a74eee972006a87c8e12514a20588369 Merge: 6a94cb7... 5a6bb10... Author: Linus Torvalds Date: Tue Dec 30 20:33:34 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6: fat: make sure to set d_ops in fat_get_parent fat: fix duplicate addition of ->llseek handler fat: drop negative dentry on rename() path commit 6a94cb73064c952255336cc57731904174b2c58f Merge: f57fa1d... 0a8c539... Author: Linus Torvalds Date: Tue Dec 30 17:48:25 2008 -0800 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs * 'for-linus' of git://oss.sgi.com/xfs/xfs: (184 commits) [XFS] Fix race in xfs_write() between direct and buffered I/O with DMAPI [XFS] handle unaligned data in xfs_bmbt_disk_get_all [XFS] avoid memory allocations in xfs_fs_vcmn_err [XFS] Fix speculative allocation beyond eof [XFS] Remove XFS_BUF_SHUT() and friends [XFS] Use the incore inode size in xfs_file_readdir() [XFS] set b_error from bio error in xfs_buf_bio_end_io [XFS] use inode_change_ok for setattr permission checking [XFS] add a FMODE flag to make XFS invisible I/O less hacky [XFS] resync headers with libxfs [XFS] simplify projid check in xfs_rename [XFS] replace b_fspriv with b_mount [XFS] Remove unused tracing code [XFS] Remove unnecessary assertion [XFS] Remove unused variable in ktrace_free() [XFS] Check return value of xfs_buf_get_noaddr() [XFS] Fix hang after disallowed rename across directory quota domains [XFS] Fix compile with CONFIG_COMPAT enabled move inode tracing out of xfs_vnode. move vn_iowait / vn_iowake into xfs_aops.c ... commit f57fa1d6a6b3414e853d3d17e339ac48816e4406 Merge: 6094c85... 08cc36c... Author: Linus Torvalds Date: Tue Dec 30 17:45:45 2008 -0800 Merge git://git.linux-nfs.org/projects/trondmy/nfs-2.6 * git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (70 commits) fs/nfs/nfs4proc.c: make nfs4_map_errors() static rpc: add service field to new upcall rpc: add target field to new upcall nfsd: support callbacks with gss flavors rpc: allow gss callbacks to client rpc: pass target name down to rpc level on callbacks nfsd: pass client principal name in rsc downcall rpc: implement new upcall rpc: store pointer to pipe inode in gss upcall message rpc: use count of pipe openers to wait for first open rpc: track number of users of the gss upcall pipe rpc: call release_pipe only on last close rpc: add an rpc_pipe_open method rpc: minor gss_alloc_msg cleanup rpc: factor out warning code from gss_pipe_destroy_msg rpc: remove unnecessary assignment NFS: remove unused status from encode routines NFS: increment number of operations in each encode routine NFS: fix comment placement in nfs4xdr.c NFS: fix tabs in nfs4xdr.c ... commit 6094c85a935f7eadb4c607c6dc6d86c0a9f09a4b Merge: 590cf28... ee48c3d... Author: Linus Torvalds Date: Tue Dec 30 17:45:28 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: IB/mlx4: Fix reading SL field out of cqe->sl_vid RDMA/addr: Fix build breakage when IPv6 is disabled commit 590cf28580c999c8ba70dc39b40bab09d69e2630 Merge: f54a6ec... fb5edd0... Author: Linus Torvalds Date: Tue Dec 30 17:43:10 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (104 commits) [SCSI] fcoe: fix configuration problems [SCSI] cxgb3i: fix select/depend problem [SCSI] fcoe: fix incorrect use of struct module [SCSI] cxgb3i: remove use of skb->sp [SCSI] cxgb3i: Add cxgb3i iSCSI driver. [SCSI] zfcp: Remove unnecessary warning message [SCSI] zfcp: Add support for unchained FSF requests [SCSI] zfcp: Remove busid macro [SCSI] zfcp: remove DID_DID flag [SCSI] zfcp: Simplify mask lookups for incoming RSCNs [SCSI] zfcp: Remove initial device data from zfcp_data [SCSI] zfcp: fix compile warning [SCSI] zfcp: Remove adapter list [SCSI] zfcp: Simplify SBAL allocation to fix sparse warnings [SCSI] zfcp: register with SCSI layer on ccw registration [SCSI] zfcp: Fix message line break [SCSI] qla2xxx: changes in multiq code [SCSI] eata: fix the data buffer accessors conversion regression [SCSI] ibmvfc: Improve async event handling [SCSI] lpfc : correct printk types on PPC compiles ... commit f54a6ec0fd85002d94d05b4bb679508eeb066683 Merge: 5ed1836... 1341798... Author: Linus Torvalds Date: Tue Dec 30 17:41:32 2008 -0800 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (583 commits) V4L/DVB (10130): use USB API functions rather than constants V4L/DVB (10129): dvb: remove deprecated use of RW_LOCK_UNLOCKED in frontends V4L/DVB (10128): modify V4L documentation to be a valid XHTML V4L/DVB (10127): stv06xx: Avoid having y unitialized V4L/DVB (10125): em28xx: Don't do AC97 vendor detection for i2s audio devices V4L/DVB (10124): em28xx: expand output formats available V4L/DVB (10123): em28xx: fix reversed definitions of I2S audio modes V4L/DVB (10122): em28xx: don't load em28xx-alsa for em2870 based devices V4L/DVB (10121): em28xx: remove worthless Pinnacle PCTV HD Mini 80e device profile V4L/DVB (10120): em28xx: remove redundant Pinnacle Dazzle DVC 100 profile V4L/DVB (10119): em28xx: fix corrupted XCLK value V4L/DVB (10118): zoran: fix warning for a variable not used V4L/DVB (10116): af9013: Fix gcc false warnings V4L/DVB (10111a): usbvideo.h: remove an useless blank line V4L/DVB (10111): quickcam_messenger.c: fix a warning V4L/DVB (10110): v4l2-ioctl: Fix warnings when using .unlocked_ioctl = __video_ioctl2 V4L/DVB (10109): anysee: Fix usage of an unitialized function V4L/DVB (10104): uvcvideo: Add support for video output devices V4L/DVB (10102): uvcvideo: Ignore interrupt endpoint for built-in iSight webcams. V4L/DVB (10101): uvcvideo: Fix bulk URB processing when the header is erroneous ... commit 5ed1836814d908f45cafde0e79cb85314ab9d41d Merge: ab70537... eb4dea5... Author: Linus Torvalds Date: Tue Dec 30 17:39:37 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: net: Fix percpu counters deadlock cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits: net drivers/net/usb: use USB API functions rather than constants cls_cgroup: clean up Kconfig cls_cgroup: clean up for cgroup part cls_cgroup: fix an oops when removing a cgroup EtherExpress16: fix printing timed out status mlx4_en: Added "set_ringparam" Ethtool interface implementation mlx4_en: Always allocate RX ring for each interrupt vector mlx4_en: Verify number of RX rings doesn't exceed MAX_RX_RINGS IPVS: Make "no destination available" message more consistent between schedulers net: KS8695: removed duplicated #include tun: Fix SIOCSIFHWADDR error. smsc911x: compile fix re netif_rx signature changes netns: foreach_netdev_safe is insufficient in default_device_exit net: make xfrm_statistics_seq_show use generic snmp_fold_field net: Fix more NAPI interface netdev argument drop fallout. net: Fix unused variable warnings in pasemi_mac.c and spider_net.c commit ab70537c32a3245325b48774664da588904e47f2 Merge: 14a3c4a... bda53cd... Author: Linus Torvalds Date: Tue Dec 30 17:37:25 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: lguest: struct device - replace bus_id with dev_name() lguest: move the initial guest page table creation code to the host kvm-s390: implement config_changed for virtio on s390 virtio_console: support console resizing virtio: add PCI device release() function virtio_blk: fix type warning virtio: block: dynamic maximum segments virtio: set max_segment_size and max_sectors to infinite. virtio: avoid implicit use of Linux page size in balloon interface virtio: hand virtio ring alignment as argument to vring_new_virtqueue virtio: use KVM_S390_VIRTIO_RING_ALIGN instead of relying on pagesize virtio: use LGUEST_VRING_ALIGN instead of relying on pagesize virtio: Don't use PAGE_SIZE for vring alignment in virtio_pci. virtio: rename 'pagesize' arg to vring_init/vring_size virtio: Don't use PAGE_SIZE in virtio_pci.c virtio: struct device - replace bus_id with dev_name(), dev_set_name() virtio-pci queue allocation not page-aligned commit 14a3c4ab0e58d143c7928c9eb2f2610205e13bf2 Merge: 1af237a... 47992cb... Author: Linus Torvalds Date: Tue Dec 30 17:36:49 2008 -0800 Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm * 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (407 commits) [ARM] pxafb: add support for overlay1 and overlay2 as framebuffer devices [ARM] pxafb: cleanup of the timing checking code [ARM] pxafb: cleanup of the color format manipulation code [ARM] pxafb: add palette format support for LCCR4_PAL_FOR_3 [ARM] pxafb: add support for FBIOPAN_DISPLAY by dma braching [ARM] pxafb: allow pxafb_set_par() to start from arbitrary yoffset [ARM] pxafb: allow video memory size to be configurable [ARM] pxa: add document on the MFP design and how to use it [ARM] sa1100_wdt: don't assume CLOCK_TICK_RATE to be a constant [ARM] rtc-sa1100: don't assume CLOCK_TICK_RATE to be a constant [ARM] pxa/tavorevb: update board support (smartpanel LCD + keypad) [ARM] pxa: Update eseries defconfig [ARM] 5352/1: add w90p910-plat config file [ARM] s3c: S3C options should depend on PLAT_S3C [ARM] mv78xx0: implement GPIO and GPIO interrupt support [ARM] Kirkwood: implement GPIO and GPIO interrupt support [ARM] Orion: share GPIO IRQ handling code [ARM] Orion: share GPIO handling code [ARM] s3c: define __io using the typesafe version [ARM] S3C64XX: Ensure CPU_V6 is selected ... commit 1af237a099a3b8ff56aa384f605c6a68af7bf288 Author: Huang Weiyi Date: Tue Dec 30 06:41:44 2008 +0800 tracing: removed duplicated #include Removed duplicated #include in kernel/trace/trace.c. Signed-off-by: Huang Weiyi Signed-off-by: Linus Torvalds commit 74a6d0f064cd9106599ce3f1d924309669e83582 Merge: 14eeee8... 519d680... Author: Linus Torvalds Date: Tue Dec 30 17:34:37 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (33 commits) ide-cd: remove dead dsc_overlap setting ide: push local_irq_{save,restore}() to do_identify() ide: remove superfluous local_irq_{save,restore}() from ide_dump_status() ide: move legacy ISA/VLB ports handling to ide-legacy.c (v2) ide: move Power Management support to ide-pm.c ide: use ATA_DMA_* defines in ide-dma-sff.c ide: checkpatch.pl fixes for ide-lib.c ide: remove inline tags from ide-probe.c ide: remove redundant code from ide_end_drive_cmd() ide: struct device - replace bus_id with dev_name(), dev_set_name() ide: rework handling of serialized ports (v2) cy82c693: remove superfluous ide_cy82c693 chipset type trm290: add IDE_HFLAG_TRM290 host flag ide: add ->max_sectors field to struct ide_port_info rz1000: apply chipset quirks early (v2) ide: always set nIEN on idle devices ide: fix ->quirk_list checking in ide_do_request() gayle: set IDE_HFLAG_SERIALIZE explictly cmd64x: set IDE_HFLAG_SERIALIZE explictly for CMD646 ali14xx: doesn't use shared IRQs ... commit 14eeee88bfb439a3dc9449f94c23a21930cbe35b Merge: 5b8f258... d69e83d... Author: Linus Torvalds Date: Tue Dec 30 17:33:33 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6: jfs: ensure symlinks are NUL-terminated commit 5b8f258758494315b69d568661a2823e24d4ad6f Merge: 526ea06... c7e324f... Author: Linus Torvalds Date: Tue Dec 30 17:32:25 2008 -0800 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: sata_sil: add Large Block Transfer support [libata] ata_piix: cleanup dmi strings checking DMI: add dmi_match libata: blacklist NCQ on OCZ CORE 2 SSD (resend) [libata] Update kernel-doc comments to match source code libata: perform port detach in EH libata: when restoring SControl during detach do the PMP links first libata: beef up iterators commit 526ea064f953fc5ad2fb905b537f490b9374a0f0 Merge: db5e53f... d69d59f... Author: Linus Torvalds Date: Tue Dec 30 17:31:25 2008 -0800 Merge branch 'oprofile-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'oprofile-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: oprofile: select RING_BUFFER ring_buffer: adding EXPORT_SYMBOLs oprofile: fix lost sample counter oprofile: remove nr_available_slots() oprofile: port to the new ring_buffer ring_buffer: add remaining cpu functions to ring_buffer.h oprofile: moving cpu_buffer_reset() to cpu_buffer.h oprofile: adding cpu_buffer_entries() oprofile: adding cpu_buffer_write_commit() oprofile: adding cpu buffer r/w access functions ftrace: remove unused function arg in trace_iterator_increment() ring_buffer: update description for ring_buffer_alloc() oprofile: set values to default when creating oprofilefs oprofile: implement switch/case in buffer_sync.c x86/oprofile: cleanup IBS init/exit functions in op_model_amd.c x86/oprofile: reordering IBS code in op_model_amd.c oprofile: fix typo oprofile: whitspace changes only oprofile: update comment for oprofile_add_sample() oprofile: comment cleanup commit db5e53fbf0abf5cadc83be57032242e5e7c6c394 Merge: 3f4b5c5... 3c506ef... Author: Linus Torvalds Date: Tue Dec 30 17:28:09 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: slub: avoid leaking caches or refcounts on sysfs error slab: Fix comment on #endif slab: remove GFP_THISNODE clearing from alloc_slabmgmt() slub: Add might_sleep_if() to slab_alloc() SLUB: failslab support slub: Fix incorrect use of loose slab: Update the kmem_cache_create documentation regarding the name parameter slub: make early_kmem_cache_node_alloc void slab: unsigned slabp->inuse cannot be less than 0 slub - fix get_object_page comment SLUB: Replace __builtin_return_address(0) with _RET_IP_. SLUB: cleanup - define macros instead of hardcoded numbers commit 3f4b5c5d275608d42ff54c4981307f9a5c75ea4a Merge: a4ba2e9... aa59662... Author: Linus Torvalds Date: Tue Dec 30 17:25:49 2008 -0800 Merge branch 'drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (37 commits) drm/i915: fix modeset devname allocation + agp init return check. drm/i915: Remove redundant test in error path. drm: Add a debug node for vblank state. drm: Avoid use-before-null-test on dev in drm_cleanup(). drm/i915: Don't print to dmesg when taking signal during object_pin. drm: pin new and unpin old buffer when setting a mode. drm/i915: un-EXPORT and make 'intelfb_panic' static drm/i915: Delete unused, pointless i915_driver_firstopen. drm/i915: fix sparse warnings: returning void-valued expression drm/i915: fix sparse warnings: move 'extern' decls to header file drm/i915: fix sparse warnings: make symbols static drm/i915: fix sparse warnings: declare one-bit bitfield as unsigned drm/i915: Don't double-unpin buffers if we take a signal in evict_everything(). drm/i915: Fix fbcon setup to align display pitch to 64b. drm/i915: Add missing userland definitions for gem init/execbuffer. i915/drm: provide compat defines for userspace for certain struct members. drm: drop DRM_IOCTL_MODE_REPLACEFB, add+remove works just as well. drm: sanitise drm modesetting API + remove unused hotplug drm: fix allowing master ioctls on non-master fds. drm/radeon: use locked rmmap to remove sarea mapping. ... commit a4ba2e9e36d10ace6f5ca222c1ff3e5024d75f1a Merge: 6de7148... b854b2a... Author: Linus Torvalds Date: Tue Dec 30 17:25:29 2008 -0800 Merge branch 'agp-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6 * 'agp-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6: agp/intel: Fix broken ® symbol in device name. agp/intel: add support for G41 chipset commit 6de71484cf9561edb45224f659a9db38b6056d5e Merge: 1dff81f... e3c6d4e... Author: Linus Torvalds Date: Tue Dec 30 17:23:31 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6: (98 commits) sparc: move select of ARCH_SUPPORTS_MSI sparc: drop SUN_IO sparc: unify sections.h sparc: use .data.init_task section for init_thread_union sparc: fix array overrun check in of_device_64.c sparc: unify module.c sparc64: prepare module_64.c for unification sparc64: use bit neutral Elf symbols sparc: unify module.h sparc: introduce CONFIG_BITS sparc: fix hardirq.h removal fallout sparc64: do not export pus_fs_struct sparc: use sparc64 version of scatterlist.h sparc: Commonize memcmp assembler. sparc: Unify strlen assembler. sparc: Add asm/asm.h sparc: Kill memcmp_32.S code which has been ifdef'd out for centuries. sparc: replace for_each_cpu_mask_nr with for_each_cpu sparc: fix sparse warnings in irq_32.c sparc: add include guards to kernel.h ... commit 1dff81f20cd55ffa5a8ee984da70ce0b99d29606 Merge: 179475a... d3f7611... Author: Linus Torvalds Date: Tue Dec 30 17:20:05 2008 -0800 Merge branch 'for-2.6.29' of git://git.kernel.dk/linux-2.6-block * 'for-2.6.29' of git://git.kernel.dk/linux-2.6-block: (43 commits) bio: get rid of bio_vec clearing bounce: don't rely on a zeroed bio_vec list cciss: simplify parameters to deregister_disk function cfq-iosched: fix race between exiting queue and exiting task loop: Do not call loop_unplug for not configured loop device. loop: Flush possible running bios when loop device is released. alpha: remove dead BIO_VMERGE_BOUNDARY Get rid of CONFIG_LSF block: make blk_softirq_init() static block: use min_not_zero in blk_queue_stack_limits block: add one-hit cache for disk partition lookup cfq-iosched: remove limit of dispatch depth of max 4 times quantum nbd: tell the block layer that it is not a rotational device block: get rid of elevator_t typedef aio: make the lookup_ioctx() lockless bio: add support for inlining a number of bio_vecs inside the bio bio: allow individual slabs in the bio_set bio: move the slab pointer inside the bio_set bio: only mempool back the largest bio_vec slab cache block: don't use plugging on SSD devices ... commit 179475a3b46f86e2d06f83e2312218ac3f0cf3a7 Merge: bb758e9... 860cf88... Author: Linus Torvalds Date: Tue Dec 30 16:20:19 2008 -0800 Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, sparseirq: clean up Kconfig entry x86: turn CONFIG_SPARSE_IRQ off by default sparseirq: fix numa_migrate_irq_desc dependency and comments sparseirq: add kernel-doc notation for new member in irq_desc, -v2 locking, irq: enclose irq_desc_lock_class in CONFIG_LOCKDEP sparseirq, xen: make sure irq_desc is allocated for interrupts sparseirq: fix !SMP building, #2 x86, sparseirq: move irq_desc according to smp_affinity, v7 proc: enclose desc variable of show_stat() in CONFIG_SPARSE_IRQ sparse irqs: add irqnr.h to the user headers list sparse irqs: handle !GENIRQ platforms sparseirq: fix !SMP && !PCI_MSI && !HT_IRQ build sparseirq: fix Alpha build failure sparseirq: fix typo in !CONFIG_IO_APIC case x86, MSI: pass irq_cfg and irq_desc x86: MSI start irq numbering from nr_irqs_gsi x86: use NR_IRQS_LEGACY sparse irq_desc[] array: core kernel and x86 changes genirq: record IRQ_LEVEL in irq_desc[] irq.h: remove padding from irq_desc on 64bits commit bb758e9637e5ddcff84a97177415499ae1fed498 Merge: 5f34fe1... 32e8d18... Author: Linus Torvalds Date: Tue Dec 30 16:16:21 2008 -0800 Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: hrtimers: fix warning in kernel/hrtimer.c x86: make sure we really have an hpet mapping before using it x86: enable HPET on Fujitsu u9200 linux/timex.h: cleanup for userspace posix-timers: simplify de_thread()->exit_itimers() path posix-timers: check ->it_signal instead of ->it_pid to validate the timer posix-timers: use "struct pid*" instead of "struct task_struct*" nohz: suppress needless timer reprogramming clocksource, acpi_pm.c: put acpi_pm_read_slow() under CONFIG_PCI nohz: no softirq pending warnings for offline cpus hrtimer: removing all ur callback modes, fix hrtimer: removing all ur callback modes, fix hotplug hrtimer: removing all ur callback modes x86: correct link to HPET timer specification rtc-cmos: export second NVRAM bank Fixed up conflicts in sound/drivers/pcsp/pcsp.c and sound/core/hrtimer.c manually. commit 5f34fe1cfc1bdd8b4711bbe37421fba4ed0d1ed4 Merge: eca1bf5... 6638101... Author: Linus Torvalds Date: Tue Dec 30 16:10:19 2008 -0800 Merge branch 'core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (63 commits) stacktrace: provide save_stack_trace_tsk() weak alias rcu: provide RCU options on non-preempt architectures too printk: fix discarding message when recursion_bug futex: clean up futex_(un)lock_pi fault handling "Tree RCU": scalable classic RCU implementation futex: rename field in futex_q to clarify single waiter semantics x86/swiotlb: add default swiotlb_arch_range_needs_mapping x86/swiotlb: add default phys<->bus conversion x86: unify pci iommu setup and allow swiotlb to compile for 32 bit x86: add swiotlb allocation functions swiotlb: consolidate swiotlb info message printing swiotlb: support bouncing of HighMem pages swiotlb: factor out copy to/from device swiotlb: add arch hook to force mapping swiotlb: allow architectures to override phys<->bus<->phys conversions swiotlb: add comment where we handle the overflow of a dma mask on 32 bit rcu: fix rcutorture behavior during reboot resources: skip sanity check of busy resources swiotlb: move some definitions to header swiotlb: allow architectures to override swiotlb pool allocation ... Fix up trivial conflicts in arch/x86/kernel/Makefile arch/x86/mm/init_32.c include/linux/hardirq.h as per Ingo's suggestions. commit ee48c3d7d3afab7b582051ee8f3f8979e6a87766 Merge: 2c4ab62... f781a22... Author: Roland Dreier Date: Tue Dec 30 15:36:58 2008 -0800 Merge branches 'cma' and 'mlx4' into for-linus commit f781a22fa2ec11878a960bc3c2abb0a76f9a8f16 Author: Roland Dreier Date: Tue Dec 30 15:30:26 2008 -0800 IB/mlx4: Fix reading SL field out of cqe->sl_vid Commit f780a9f1 ("mlx4_core: Add ethernet fields to CQE struct") introduced a bug in how wc->sl is set in mlx4_ib_poll_one() -- since cqe->sl_vid is a big-endian value, the shift must be done after converting to host endianness. This bug was found using sparse endianness checking. Signed-off-by: Roland Dreier commit 08cc36cbd1ee7d86422713bb21551eed1326b894 Merge: 3c92ec8... 46f72f5... Author: Trond Myklebust Date: Tue Dec 30 16:51:43 2008 -0500 Merge branch 'devel' into next commit 46f72f57d279688c4524df78edb5738db730eeef Author: WANG Cong Date: Tue Dec 30 16:35:55 2008 -0500 fs/nfs/nfs4proc.c: make nfs4_map_errors() static nfs4_map_errors() can become static. Signed-off-by: WANG Cong Cc: J. Bruce Fields Cc: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Trond Myklebust commit 7820b75643a763abf595c99fab963000ffc8b5f0 Author: Jaswinder Singh Rajput Date: Tue Dec 30 22:05:55 2008 +0530 x86: xsave.c: restore_user_xstate should be static Impact: cleanup, reduce kernel size a bit, avoid sparse warning Fixes sparse warning: arch/x86/kernel/xsave.c:162:5: warning: symbol 'restore_user_xstate' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Signed-off-by: H. Peter Anvin commit fa95826fe0ddbc2a55373134d8d1a21b49d13434 Author: Jaswinder Singh Rajput Date: Tue Dec 30 20:13:49 2008 +0530 x86: uv_bau.h: fix dubious bitfield Impact: cleanup, avoid sparse warnings declare bitfield as unsigned to avoid dubious bitfield issue CHECK arch/x86/kernel/tlb_64.c arch/x86/include/asm/uv/uv_bau.h:136:22: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:138:25: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:140:15: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:143:14: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:146:14: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:149:18: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:151:18: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:155:14: error: dubious one-bit signed bitfield arch/x86/include/asm/uv/uv_bau.h:159:18: error: dubious one-bit signed bitfield arch/x86/include/asm/uv/uv_bau.h:173:19: error: dubious one-bit signed bitfield arch/x86/include/asm/uv/uv_bau.h:181:16: error: dubious one-bit signed bitfield arch/x86/include/asm/uv/uv_bau.h:185:18: error: dubious one-bit signed bitfield arch/x86/include/asm/uv/uv_bau.h:188:16: error: dubious one-bit signed bitfield CHECK arch/x86/kernel/tlb_uv.c arch/x86/include/asm/uv/uv_bau.h:136:22: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:138:25: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:140:15: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:143:14: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:146:14: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:149:18: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:151:18: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:155:14: error: dubious one-bit signed bitfield arch/x86/include/asm/uv/uv_bau.h:159:18: error: dubious one-bit signed bitfield arch/x86/include/asm/uv/uv_bau.h:173:19: error: dubious one-bit signed bitfield arch/x86/include/asm/uv/uv_bau.h:181:16: error: dubious one-bit signed bitfield arch/x86/include/asm/uv/uv_bau.h:185:18: error: dubious one-bit signed bitfield arch/x86/include/asm/uv/uv_bau.h:188:16: error: dubious one-bit signed bitfield Signed-off-by: Jaswinder Singh Rajput Signed-off-by: H. Peter Anvin commit ec8c842a524888fdcccece337d91798e3e8af880 Author: Jaswinder Singh Rajput Date: Tue Dec 30 22:46:36 2008 +0530 x86: apic.c: xapic_icr_read and x2apic_icr_read should be static Impact: cleanup, reduce kernel size a bit, avoid sparse warning Fixes sparse warning: arch/x86/kernel/apic.c:270:5: warning: symbol 'x2apic_icr_read' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Signed-off-by: H. Peter Anvin commit fb5edd020fa0fbe991f4a473611ad530d2237425 Author: James Bottomley Date: Tue Dec 30 09:44:29 2008 -0600 [SCSI] fcoe: fix configuration problems fcoe selects libfc and requires SCSI and PCI (the SCSI requirement is implicitly covered by an enclosing if). Fix them both up so they cannot be configured in an invalid state: make LIBFC select SCSI_FC_ATTRS and make FCOE depend on PCI and select LIBFC. Reported-by: Randy Dunlap Cc: Robert Love Signed-off-by: James Bottomley commit 58daa68a8fd4a373092df9035fdccaa29420f1e6 Author: James Bottomley Date: Tue Dec 30 10:20:24 2008 -0600 [SCSI] cxgb3i: fix select/depend problem cxgb3i requires the cxgb3 net driver, so it selects it. However, cxgb3 has dependencies which the select cannot see. Fix this by separating out the cxgb3 dependencies into a separate hidden config option (CONFIG_CHELSIO_T3_DEPENDS) and make both cxgb3 and cxgb3i depend on it. Reported-by: Randy Dunlap Cc: Karen Xie Signed-off-by: James Bottomley commit 56b854bb314084396d3d3138126496d330943559 Author: James Bottomley Date: Mon Dec 29 15:45:41 2008 -0600 [SCSI] fcoe: fix incorrect use of struct module This structure may not be defined if CONFIG_MODULE=n, so never deref it. Change uses of module->name to module_name(module) and corrects some dyslexic printks and docbook comments. Reported-by: Randy Dunlap Cc: Robert Love Signed-off-by: James Bottomley commit 73c336740362731983bf7fd747cdd3b6ac593cef Author: Karen Xie Date: Mon Dec 29 21:43:25 2008 -0800 [SCSI] cxgb3i: remove use of skb->sp The cxgb3i was using skb->sp pointer for some internal book-keeping which is not related to the secure path. Changed it to use skb->cb[] instead. Reported-by: Randy Dunlap Signed-off-by: Karen Xie Signed-off-by: James Bottomley commit c3673464ebc004a3d82063cd41b9cf74d1b55db2 Author: Karen Xie Date: Tue Dec 9 14:15:32 2008 -0800 [SCSI] cxgb3i: Add cxgb3i iSCSI driver. This patch implements the cxgb3i iscsi connection acceleration for the open-iscsi initiator. The cxgb3i driver offers the iscsi PDU based offload: - digest insertion and verification - payload direct-placement into host memory buffer. Signed-off-by: Karen Xie Signed-off-by: James Bottomley commit 134179823b3ca9c8b98e0631906459dbb022ff9b Author: Julia Lawall Date: Mon Dec 29 21:49:22 2008 -0300 V4L/DVB (10130): use USB API functions rather than constants This set of patches introduces calls to the following set of functions: usb_endpoint_dir_in(epd) usb_endpoint_dir_out(epd) usb_endpoint_is_bulk_in(epd) usb_endpoint_is_bulk_out(epd) usb_endpoint_is_int_in(epd) usb_endpoint_is_int_out(epd) usb_endpoint_is_isoc_in(epd) usb_endpoint_is_isoc_out(epd) usb_endpoint_num(epd) usb_endpoint_type(epd) usb_endpoint_xfer_bulk(epd) usb_endpoint_xfer_control(epd) usb_endpoint_xfer_int(epd) usb_endpoint_xfer_isoc(epd) In some cases, introducing one of these functions is not possible, and it just replaces an explicit integer value by one of the following constants: USB_ENDPOINT_XFER_BULK USB_ENDPOINT_XFER_CONTROL USB_ENDPOINT_XFER_INT USB_ENDPOINT_XFER_ISOC An extract of the semantic patch that makes these changes is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r1@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bmAttributes & \(USB_ENDPOINT_XFERTYPE_MASK\|3\)) == - \(USB_ENDPOINT_XFER_CONTROL\|0\)) + usb_endpoint_xfer_control(epd) @r5@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bEndpointAddress & \(USB_ENDPOINT_DIR_MASK\|0x80\)) == - \(USB_DIR_IN\|0x80\)) + usb_endpoint_dir_in(epd) // Signed-off-by: Julia Lawall Signed-off-by: Mauro Carvalho Chehab commit cec73844a91017f9b84ca1d665feb8fc714c8410 Author: Steven Rostedt Date: Thu Dec 11 23:01:14 2008 -0300 V4L/DVB (10129): dvb: remove deprecated use of RW_LOCK_UNLOCKED in frontends Impact: clean up RW_LOCK_UNLOCKED is deprecated. This patch replaces it with the __RW_LOCK_UNLOCKED(lock) macro. This change was a little trickier than others due to the macro being used in another macro that fills an array. Signed-off-by: Steven Rostedt Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit aa16c10a347e887ec9505de9eacf3675938be722 Author: Németh Márton Date: Mon Dec 29 16:37:14 2008 -0300 V4L/DVB (10128): modify V4L documentation to be a valid XHTML Modify Documentation/video4linux/API.html to be a valid XHTML 1.0 Strict. The result was verified using the http://validator.w3.org/ service. Signed-off-by: Márton Németh Signed-off-by: Mauro Carvalho Chehab commit 1970f14fde9640cc2e238c031498900edbd8ff94 Author: Erik Andrén Date: Tue Dec 30 04:58:36 2008 -0300 V4L/DVB (10127): stv06xx: Avoid having y unitialized As pointed by gcc: drivers/media/video/gspca/stv06xx/stv06xx_hdcs.c: In function ‘hdcs_set_size’: drivers/media/video/gspca/stv06xx/stv06xx_hdcs.c:301: warning: ‘y’ may be used uninitialized in this function Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit de84830e6959b046a99da3be12246458f4ab9825 Author: Devin Heitmueller Date: Tue Dec 30 00:17:09 2008 -0300 V4L/DVB (10125): em28xx: Don't do AC97 vendor detection for i2s audio devices The current code was trying to query the AC97 registers for the vendor information even if it was clearly not a AC97 audio device (resulting in errors in the dmesg output). This was due to a bug in the way we did the check. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 3fbf930951462871848b5b504fa4a10ab06d2fee Author: Devin Heitmueller Date: Mon Dec 29 23:34:37 2008 -0300 V4L/DVB (10124): em28xx: expand output formats available Add additional output formats, which will be useful for the Pinnacle PCTV Ultimate 880e integration with the saa7136. Thanks to Ray Lu from Empia for providing the em2860/em2880 datasheet. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 54d79e339881388cdb6a6888b0f6bcd4911d3582 Author: Devin Heitmueller Date: Mon Dec 29 22:52:37 2008 -0300 V4L/DVB (10123): em28xx: fix reversed definitions of I2S audio modes Noticed when doing the audio support for the Pinnacle PCTV HD Ultimate 808e that the modes were incorrect (the 808e uses I2S in 5 sample mode) Thanks for Ray Lu from Empia for providing the em2860/em2880 datasheet. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 62f3e69bd5ff9db1574356a84895324ab3896e44 Author: Devin Heitmueller Date: Mon Dec 29 22:43:55 2008 -0300 V4L/DVB (10122): em28xx: don't load em28xx-alsa for em2870 based devices Like the em2874, the em2870 does not have any analog support, so don't bother loading the em28xx-alsa module. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 7ed3a7a3113a5399a4591fdf1f2a07c9cd954853 Author: Devin Heitmueller Date: Mon Dec 29 22:39:42 2008 -0300 V4L/DVB (10121): em28xx: remove worthless Pinnacle PCTV HD Mini 80e device profile The Pinnacle 80e cannot be supported since Micronas yanked their driver support for the drx-j chipset at the last minute. Remove the device profile since it cannot work without the drx driver and it being there is only likely to confuse people into thinking the device is supported but not working. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit e890759220759dfe4f3bea91a2deafb565ec10e9 Author: Devin Heitmueller Date: Mon Dec 29 22:34:35 2008 -0300 V4L/DVB (10120): em28xx: remove redundant Pinnacle Dazzle DVC 100 profile The DVC 100 profile is redundant since we already have an existing identical profile named "Pinnacle Dazzle DVC 90/DVC 100" Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit ed14e1c2f419a380c7a1a3483ac2443d20a24355 Author: Devin Heitmueller Date: Mon Dec 29 22:27:30 2008 -0300 V4L/DVB (10119): em28xx: fix corrupted XCLK value Correct problem introduced during the board refactoring where the XCLK frequency would get zero'd out. The sequence of events was as follows: em28xx_pre_card_setup() called em28xx_set_model() em28xx_set_model() would memcpy to dev->board configuration em28xx_pre_card_setup() would set the dev->board.xclk if not set em28xx_pre_card_setup() would set the XCLK register based on dev->board.xclk ... em28xx_card_setup() would call em28xx_set_model() em28xx_set_model() would memcpy to dev->board configuration (clearing out value of dev->board.xclk set in em28xx_pre_card_setup) ... em28xx_audio_analog_set() sets the XCLK register based on dev->board.xclk (which now contains zero) The change sets the default XCLK and I2C Clock fields in the board definition inside of em28xx_set_model() so that subsequent calls do not cause the values to be overwritten. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 60b4bde48b36c0315ef41fd38c339b9c7e68c46f Author: Mauro Carvalho Chehab Date: Mon Dec 29 23:44:20 2008 -0300 V4L/DVB (10118): zoran: fix warning for a variable not used Fix this warning: drivers/media/video/zoran/zoran_card.c:156: warning: ‘zr36067_pci_tbl’ defined but not used Currently, zoran driver relies on a find routine that doesn't use the pci table. Signed-off-by: Mauro Carvalho Chehab commit 4d543096ee743faa52d69506eef73d3cb6208f18 Author: Mauro Carvalho Chehab Date: Mon Dec 29 23:18:31 2008 -0300 V4L/DVB (10116): af9013: Fix gcc false warnings drivers/media/dvb/frontends/af9013.c: In function ‘af9013_set_coeff’: drivers/media/dvb/frontends/af9013.c:231: warning: ‘ns_coeff2_8k’ may be used uninitialized in this function drivers/media/dvb/frontends/af9013.c:230: warning: ‘ns_coeff2_2k’ may be used uninitialized in this function drivers/media/dvb/frontends/af9013.c:229: warning: ‘ns_coeff1_8193nu’ may be used uninitialized in this function drivers/media/dvb/frontends/af9013.c:228: warning: ‘ns_coeff1_8192nu’ may be used uninitialized in this function drivers/media/dvb/frontends/af9013.c:227: warning: ‘ns_coeff1_8191nu’ may be used uninitialized in this function drivers/media/dvb/frontends/af9013.c:226: warning: ‘ns_coeff1_2048nu’ may be used uninitialized in this function drivers/media/dvb/frontends/af9013.c: In function ‘af9013_update_snr’: drivers/media/dvb/frontends/af9013.c:1012: warning: ‘snr_table’ may be used uninitialized in this function Cc: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit ed716dcb862f969e118037ee8830ad28664b4a11 Author: Mauro Carvalho Chehab Date: Mon Dec 29 22:31:13 2008 -0200 V4L/DVB (10111a): usbvideo.h: remove an useless blank line This is needed to sync with the development tree. Probably, a merge conflict were solved by adding this blank line. Signed-off-by: Mauro Carvalho Chehab commit b48413066118ff8c6e44f258fbcd226f4c22aa92 Author: Mauro Carvalho Chehab Date: Mon Dec 29 19:26:17 2008 -0300 V4L/DVB (10111): quickcam_messenger.c: fix a warning drivers/media/video/usbvideo/quickcam_messenger.c: In function ‘qcm_sensor_init’: drivers/media/video/usbvideo/quickcam_messenger.c:450: warning: operation on ‘ret’ may be undefined Signed-off-by: Mauro Carvalho Chehab commit 92ab7886119da6375a983713eedab444e32094f6 Author: Mauro Carvalho Chehab Date: Mon Dec 29 19:15:43 2008 -0300 V4L/DVB (10110): v4l2-ioctl: Fix warnings when using .unlocked_ioctl = __video_ioctl2 This patch fixes this warning: drivers/media/video/gspca/gspca.c:1811: warning: initialization from incompatible pointer type The reason is that the returned argument should be a long, not an integer. Signed-off-by: Mauro Carvalho Chehab commit 902571aaa91263bc27e923e94ddf161c106befee Author: Mauro Carvalho Chehab Date: Mon Dec 29 19:02:24 2008 -0300 V4L/DVB (10109): anysee: Fix usage of an unitialized function drivers/media/dvb/dvb-usb/anysee.c: In function ‘anysee_master_xfer’: drivers/media/dvb/dvb-usb/anysee.c:156: warning: ‘ret’ may be used uninitialized By looking at the function, altrough very unlikely, this might eventually be true if num = 0. So, better to fix the warning by initializing with ret = 0. Cc: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit ff924203c9e4a5bc218143bc37182851185f4e5f Author: Laurent Pinchart Date: Sun Dec 28 22:32:29 2008 -0300 V4L/DVB (10104): uvcvideo: Add support for video output devices Extend the range of supported UVC devices by allowing video output devices matching the following structure: TT_STREAMING -> VC_PROCESSING_UNIT -> VC_EXTENSION_UNIT{0,n} -> OTT_* Video output devices are reported with the V4L2_CAP_VIDEO_OUTPUT capability flag and are subject to the same restrictions as video input devices. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 538e7a004bf960c96c7e9eb836b59989eb5f5b7f Author: Laurent Pinchart Date: Sun Dec 28 20:26:32 2008 -0300 V4L/DVB (10102): uvcvideo: Ignore interrupt endpoint for built-in iSight webcams. Built-in iSight webcams have an interrupt endpoint but spit proprietary data that don't conform to the UVC status endpoint messages. Don't try to handle the interrupt endpoint for those cameras. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit f8dd4af6d44b4b738f125f6a21afa885f3b1d13b Author: Laurent Pinchart Date: Tue Dec 16 10:41:57 2008 -0300 V4L/DVB (10101): uvcvideo: Fix bulk URB processing when the header is erroneous When the first bulk URB of a video payload contains an erroneous header, or when no V4L2 buffer is available, the whole payload must be dropped. Change the skip logic to drop all bulk URBs until the end of the payload instead of the first one only. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 4e96fd088cf6fb95ba4b212e5e72bac1e6d34e79 Author: Guennadi Liakhovetski Date: Mon Dec 29 06:04:59 2008 -0300 V4L/DVB (10099): soc-camera: add support for MT9T031 CMOS camera sensor from Micron This camera is rather similar to MT9M001, but also has a couple of enhanced features, like pixel binning. create mode 100644 drivers/media/video/mt9t031.c Signed-off-by: Guennadi Liakhovetski Acked-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit f82a8569bfa10f32a3123ca0b681ec7c3188d2c0 Author: Kuninori Morimoto Date: Mon Dec 29 06:04:44 2008 -0300 V4L/DVB (10098): ov772x: fix try_fmt calculation method Don't modify driver's state in try_fmt, just verify format acceptability or adjust it to driver's capabilities. Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 77fe3d4a44f76653263eb8671d7909ab0fdafd71 Author: Kuninori Morimoto Date: Mon Dec 29 06:04:37 2008 -0300 V4L/DVB (10097): ov772x: clear i2c client data on error and remove Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 7dcb212eee1d3833073ba0458ca5a603b7b05cc5 Author: Kuninori Morimoto Date: Mon Dec 29 06:04:22 2008 -0300 V4L/DVB (10096): ov772x: change dev_info to dev_dbg Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 6d75611231fb22dbce0019310a9f3dc66918317e Author: Kuninori Morimoto Date: Mon Dec 29 06:04:16 2008 -0300 V4L/DVB (10095): The failure of set_fmt is solved in tw9910 priv->scale is checked in start_capture. Therefore, it should be NULL if failing in set_fmt. This patch resolve this problem. Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit ed922a892e535c14035210b5be328af1f49561c8 Author: Kuninori Morimoto Date: Mon Dec 29 06:04:06 2008 -0300 V4L/DVB (10094): Add tw9910 driver This patch adds tw9910 driver that use soc_camera framework. It was tested on SH Migo-r board and mplayer. create mode 100644 drivers/media/video/tw9910.c create mode 100644 include/media/tw9910.h Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 042d87900217228f865654fa70fade8139bd42cf Author: Guennadi Liakhovetski Date: Fri Dec 19 10:07:49 2008 -0300 V4L/DVB (10093): soc-camera: add new bus width and signal polarity flags In preparation for i.MX31 camera host driver add flags for 4 and 15 bit bus widths and for data lines polarity inversion. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit b6c6173ee8af9e8723b76e12bd92e484dc39353f Author: Kuninori Morimoto Date: Thu Dec 18 13:50:40 2008 -0300 V4L/DVB (10092): Change V4L2 field to ANY from NONE on sh_mobile_ceu_camera.c Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit a85bdace0c5f951ff614aa5b7cf6acb03f7955bf Author: Guennadi Liakhovetski Date: Thu Dec 18 12:54:33 2008 -0300 V4L/DVB (10091): mt9m001 mt9v022: simplify pointer derefernces Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 06daa1af4d207e93c9a8a3e54adef8635ba81c94 Author: Guennadi Liakhovetski Date: Thu Dec 18 12:52:08 2008 -0300 V4L/DVB (10090): soc-camera: let drivers decide upon supported field values sh_mobile_ceu_camera.c is already prepared to support interlaced format, this patch moves the choice of a field type down to host and / or camera drivers. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit ccab8a29040b4b57a45f2150c9b6e6115ebdbc44 Author: Kuninori Morimoto Date: Thu Dec 18 12:51:21 2008 -0300 V4L/DVB (10089): Add interlace support to sh_mobile_ceu_camera.c Signed-off-by: Kuninori Morimoto Acked-by: Magnus Damm Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 7a1a81643f80df3ff3351b1a81e54470dc47681d Author: Magnus Damm Date: Thu Dec 18 12:50:30 2008 -0300 V4L/DVB (10088): video: sh_mobile_ceu cleanups and comments This patch cleans up the sh_mobile_ceu driver and adds comments and constants to clarify the magic sequence in sh_mobile_ceu_capture(). Signed-off-by: Magnus Damm Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 34d359db7d683e227f27595ad3702fb2ae96108a Author: Kuninori Morimoto Date: Thu Dec 18 12:47:46 2008 -0300 V4L/DVB (10087): Add new enum_input function on soc_camera This patch presents new method to be able to select V4L2 input type Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 513791aba6266e0c15d5b697b97e956e83537f5a Author: Kuninori Morimoto Date: Thu Dec 18 12:46:45 2008 -0300 V4L/DVB (10086): Add new set_std function on soc_camera This patch presents new method to be able to check v4l2_std_id Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 9e4a56d27f6150b0c9f8c7cc33ea944749377104 Author: Magnus Damm Date: Thu Dec 18 12:45:33 2008 -0300 V4L/DVB (10085): sh_mobile_ceu: add NV16 and NV61 support This patch adds NV16/NV61 support to the sh_mobile_ceu driver. Signed-off-by: Magnus Damm Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 8be65dc59645d6ec9149fc26dfff7ca01e279e87 Author: Magnus Damm Date: Thu Dec 18 12:38:06 2008 -0300 V4L/DVB (10084): sh_mobile_ceu: add NV12 and NV21 support This patch adds NV12/NV21 support to the sh_mobile_ceu driver. Signed-off-by: Magnus Damm Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 1c3bb7431d16f7486a8523d54380bad89c485dc8 Author: Guennadi Liakhovetski Date: Thu Dec 18 12:28:54 2008 -0300 V4L/DVB (10083): soc-camera: unify locking, play nicer with videobuf locking Move mutex from host drivers to camera device object, take into account videobuf locking. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit bf507158eb27ea94aca300b28ecee60fdbb40007 Author: Guennadi Liakhovetski Date: Thu Dec 18 11:53:51 2008 -0300 V4L/DVB (10081): pxa-camera: call try_fmt() camera device method with correct pixel format With the introduction of the format conversion support in soc-camera, we now also have to take care to pass the correct pixel format to the camera driver when calling its try_fmt() method. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 64f5905ee74906643e22657bd20e2f11443053f0 Author: Guennadi Liakhovetski Date: Thu Dec 18 11:51:55 2008 -0300 V4L/DVB (10080): soc-camera: readability improvements, more strict operations checks Simplify multiple drivers by replacing f->fmt.pix.* with a single pointer dereference, merge some needlessly broken lines, verify host and camera operations pointers on registration. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 9414de39e8e07d90bdb6524be501fae0e013d37b Author: Magnus Damm Date: Thu Dec 18 11:49:06 2008 -0300 V4L/DVB (10079): sh_mobile_ceu: use new pixel format translation code This patch converts the sh_mobile_ceu driver to make use of the new pixel format translation code. Only pass-though mode at this point. Signed-off-by: Magnus Damm Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 91962fa713bd8bf47434b02ac661fdc201365fa5 Author: Magnus Damm Date: Thu Dec 18 11:45:00 2008 -0300 V4L/DVB (10078): video: add NV16 and NV61 pixel formats This patch adds support for NV16 and NV61 pixel formats. These pixel formats use two planes; one for 8-bit Y values and one for interleaved 8-bit U and V values. NV16/NV61 formats are very similar to NV12/NV21 with the exception that NV16/NV61 are using the same number of lines for both planes. The difference between NV16 and NV61 is the U and V byte order. The fourcc values are extrapolated from the NV12/NV21 case. Signed-off-by: Magnus Damm Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit d7f83a5106f2da9eb59bf49e7b48414e27d6618a Author: Mike Rapoport Date: Thu Dec 18 11:44:15 2008 -0300 V4L/DVB (10077): mt9m111: add support for mt9m112 since sensors seem identical Signed-off-by: Mike Rapoport Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 9b9fd6c71fb46a4a710040c8ef28f1e84b88a830 Author: Mike Rapoport Date: Thu Dec 18 11:42:54 2008 -0300 V4L/DVB (10076): v4l: add chip ID for MT9M112 camera sensor from Micron The chip is largely compatible with MT9M111 and is going to be supported by the same driver. Signed-off-by: Mike Rapoport Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit cf34cba78d0e0a7244bd7f11addb4d971293fb30 Author: Guennadi Liakhovetski Date: Thu Dec 18 11:38:03 2008 -0300 V4L/DVB (10075): pxa-camera: setup the FIFO inactivity time-out register Using PXA270's FIFO inactivity time-out register (CITOR) reduces FIFO overruns. The time-out is calculated in CICLK / LCDCLK ticks and has to be longer than one pixel time. For this we have to know the pixel clock frequency, which usually is provided by the camera. We use the struct soc_camera_sense to request PCLK frequency from the camera driver upon each data format change. Tested-by: Robert Jarzmik Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit a9bef518cd78d569a3ff0b1ac2afa5e2d8b3573a Author: Guennadi Liakhovetski Date: Thu Dec 18 11:34:20 2008 -0300 V4L/DVB (10074): soc-camera: add camera sense data Add a struct soc_camera_sense, that can be used by camera host drivers to request additional information from a camera driver, for example, when changing data format. This struct can be extended in the future, its first use is to request the camera driver whether the pixel-clock frequency has changed. Tested-by: Robert Jarzmik Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 39bf372f606448de2df93a90f40efc613cb5c909 Author: Robert Jarzmik Date: Thu Dec 18 11:29:05 2008 -0300 V4L/DVB (10073): mt9m111: Add automatic white balance control Signed-off-by: Robert Jarzmik Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit bd73b36f0c41b0c02ef4b10a307db1c43537e006 Author: Guennadi Liakhovetski Date: Tue Dec 23 05:54:45 2008 -0300 V4L/DVB (10072): soc-camera: Add signal inversion flags to be used by camera drivers As reported by Antonio Ospite two platforms with a mt9m111 camera require opposite pixel clock polarity, which means one of them inverts it. This patch adds support for inversion flags and switches all available camera drivers to using them. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 5ca11fa3e0025864df930d6d97470b87c35919ed Author: Eric Miao Date: Thu Dec 18 11:15:50 2008 -0300 V4L/DVB: pxa-camera: use memory mapped IO access for camera (QCI) registers Signed-off-by: Eric Miao Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 8a787b40ecf29e5d8cc95bf9f12986862d230d8e Author: Mauro Carvalho Chehab Date: Mon Dec 29 18:35:51 2008 -0300 V4L/DVB (10107): More than one driver defines the same var name (dump_bridge). Add "static" on stv06xx for all static functions and parameters to avoid such troubles. Cc: Erik Andren Cc: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit dd9e7c3c42fff48a338f87febee95cd289058bc9 Author: Mauro Carvalho Chehab Date: Mon Dec 29 18:06:09 2008 -0300 V4L/DVB (10106): gscpa - stv06xx: Fix compilation with kernel tree Signed-off-by: Mauro Carvalho Chehab commit 3cac2cab4f5b7eb7d9f7afc42cb251c45b96be36 Author: Kuninori Morimoto Date: Thu Dec 18 11:07:11 2008 -0300 V4L/DVB (10069): Add ov7725 support to ov772x driver Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit aeabc882a3ad9a320783815e0446b12526fd2102 Author: Kuninori Morimoto Date: Thu Dec 18 11:05:49 2008 -0300 V4L/DVB (10068): Change device ID selection method on ov772x driver Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 2d425131d2c44228c4390d2d48d302f3e122bc49 Author: Kuninori Morimoto Date: Wed Dec 17 14:05:45 2008 -0300 V4L/DVB (10067): Remove ov772x_default_regs from ov772x driver Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 297a7ef700ce2e91ed0f941034541d1563ef0a7d Author: Guennadi Liakhovetski Date: Wed Dec 17 14:05:38 2008 -0300 V4L/DVB (10066): mt9m001 mt9v022: fix bus-width switch GPIO availability test Testing for non-NULL platform-data is not enough, we have to check if the GPIO in the platform data is valid or not. Also see my earlier patch: [ARM] pxa/pcm990: use negative number for an invalid GPIO in camera data Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 88f4b8990fd2b4d856f63c3689bb4df18029da06 Author: Robert Jarzmik Date: Wed Dec 17 14:05:31 2008 -0300 V4L/DVB (10065): mt9m111: add all yuv format combinations. The Micron mt9m111 offers 4 byte orders for YCbCr output. This patchs adds all possible outputs capabilities to the mt9m111 driver. Signed-off-by: Robert Jarzmik Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 0f28b79346439ef5db130020aa07be9ca7c2ee84 Author: roel kluin Date: Wed Dec 17 14:01:07 2008 -0300 V4L/DVB (10064): mt9m111: mt9m111_get_global_gain() - unsigned >= 0 is always true unsigned >= 0 is always true and fix formula Signed-off-by: Roel Kluin Acked-by: Robert Jarzmik Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit d25cb6461ac93683ac04b2e181bcaa0cc15c349b Author: Alexey Klimov Date: Sat Dec 27 22:40:57 2008 -0300 V4L/DVB (10062): dsbr100: change return values in 3 functions Patch replace return -1; with return retval; in 3 functions. And we also change if-checks for this returned values. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 6076dbf46a776a666166f8cdad97802334a0083c Author: Alexey Klimov Date: Sat Dec 27 22:35:21 2008 -0300 V4L/DVB (10061): dsbr100: increase driver version Due to a lot of patches for dsbr100 last time we should update version of driver. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit fc55bcb0a04a66465ab13c33f36a290f6e3a3f7d Author: Alexey Klimov Date: Sat Dec 27 22:33:54 2008 -0300 V4L/DVB (10060): dsbr100: fix and add right comments Fix and add right comments. Few empty lines removed. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 7e1ca8491d046d1f01de105add7f2f8f477869ec Author: Alexey Klimov Date: Sat Dec 27 22:31:52 2008 -0300 V4L/DVB (10059): dsbr100: dev_err instead of dev_warn We should use dev_err (not dev_warn) if video_register_device fails. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 417b7953668574ff38d3f2dc76e9fe669f121469 Author: Alexey Klimov Date: Sat Dec 27 22:30:29 2008 -0300 V4L/DVB (10058): dsbr100: fix codingstyle, add dev_err messages We should make if-constructions more clear. Introduce int retval variables in some functions to make it this way. Also a lot of useful dev_err messages added. And now we check every returned value after usb_control_msg. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 290588e067b6710b614da4bd538197dd88158b62 Author: Alexey Klimov Date: Sat Dec 27 21:42:39 2008 -0300 V4L/DVB (10057): dsbr100: place dev_warn instead of printk Remove printk in one line and place dev_warn there. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 5609cfd23233617858d03fab537bc120f7f6fa7f Author: Douglas Schilling Landgraf Date: Sat Dec 27 21:39:35 2008 -0300 V4L/DVB (10056): em28xx: Add snapshot button on Pixelview Prolink PlayTV USB 2.0 Added snapshot feature for Pixelview Prolink PlayTV USB 2.0 Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 1e1addd57bdf56c51dbc292d7760ea3d207fe833 Author: Douglas Schilling Landgraf Date: Sat Dec 27 21:38:14 2008 -0300 V4L/DVB (10055): em28xx: Add entry for PixelView PlayTV Box 4 Added board PixelView PlayTV Box 4 Thanks to Vildenei Negrao Pereira for testing and data collection. Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 3a0efc3200386b9288e1d3d3be0a9f5d6f286906 Author: Alexey Klimov Date: Sat Dec 27 21:32:49 2008 -0300 V4L/DVB (10054): dsbr100: fix unplug oops This patch corrects unplug procedure. Patch adds usb_dsbr100_video_device_release, new macros - videodev_to_radio, mutex lock and a lot of safety checks. Struct video_device videodev is embedded in dsbr100_device structure. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit f2ce9179eab9a1551e91e3c97498e9350a087e39 Author: Alexey Klimov Date: Sat Dec 27 21:31:49 2008 -0300 V4L/DVB (10053): radio-mr800: disable autosuspend support Because this device doesn't provide any powermanagment capabilities(may be they exist but unknown to me yet, so they are not implemented), we should turn them off. Patch sets support_autosuspend equal to 0. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit f4e9043e5a07af789ec902dada50f46d08ff8639 Author: Alexey Klimov Date: Sat Dec 27 21:30:34 2008 -0300 V4L/DVB (10052): radio-mr800: correct unplug, fix to previous patch This patch corrects unplug procedure, that was implemented wrong in previous patch. New function usb_amradio_device_release added. Disconnect lock removed. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit da3bcb5d909925397715dff4a7584f21f9857bfa Author: Jean-Francois Moine Date: Mon Dec 29 09:06:09 2008 -0300 V4L/DVB (10050): gspca - vc032x: Webcam 046d:0897 added. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit cc611b8aef7a8a9a2e614f1bdf3e2b8f066c8c8d Author: Jean-Francois Moine Date: Mon Dec 29 07:49:41 2008 -0300 V4L/DVB (10049): gspca - many subdrivers: Set 'const' the pixel format table. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 4c98834addfee3fdd42c505c37569261bf669d94 Author: Erik Andren Date: Mon Dec 29 07:35:23 2008 -0300 V4L/DVB (10048): gspca - stv06xx: New subdriver. Signed-off-by: Erik Andren Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 15f64864e392612b230bc71d84e4537b80c607b1 Author: Jean-Francois Moine Date: Mon Dec 29 06:19:43 2008 -0300 V4L/DVB (10046): gspca - ov534: Use the gspca usb buf for usb control messages. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit f367b85d9a0bda04c31c5c5598dba758efc6658e Author: Jean-Francois Moine Date: Sun Dec 28 06:51:37 2008 -0300 V4L/DVB (10045): gspca - ov534: Remove empty line in trace. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 71d50f30724c901c3d8cc7a19bdb3c33e1ee5463 Author: Hans de Goede Date: Sat Dec 27 03:43:53 2008 -0300 V4L/DVB (10044): gspca - pac7311: Webcam 093a:2620 added. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 27b1e4ca21d6322a16978127b9f227c432f10ae6 Author: Erik Andrén Date: Tue Dec 23 18:06:37 2008 -0300 V4L/DVB (10041): m5602 - rework parts of the resolution initialization Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 1f614f40b5ab302596374356f7a2065602e80e25 Author: Erik Andrén Date: Tue Dec 23 17:15:19 2008 -0300 V4L/DVB (10040): m5602 - ov9650: Activate variopixel Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 03f46de925b87b26fcdf611b8fda182002627bd1 Author: Erik Andrén Date: Tue Dec 23 17:07:58 2008 -0300 V4L/DVB (10039): m5602 - ov9650: Add CIF mode Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 1b0b27b87fcae1cfbfa74b544bcf452797be7af1 Author: Erik Andrén Date: Tue Dec 23 14:08:07 2008 -0300 V4L/DVB (10038): m5602: tweak the hsync. Remove redundant init sequence Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 3b2f3327ff5af235837bc83c6b788bc560ba23a6 Author: Erik Andrén Date: Mon Dec 22 16:06:29 2008 -0300 V4L/DVB (10037): m5602: add QVGA mode for the ov9650 sensor Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 082aa8937c79a02397981b7543ccc65d2bdeaf97 Author: Erik Andrén Date: Sun Dec 21 18:07:59 2008 -0300 V4L/DVB (10036): m5602 - ov9650: Prepare the sensor to set multiple resolutions Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 3da3dce5afd267d354427042090aaf6370ebc15c Author: Erik Andrén Date: Sun Dec 21 17:25:25 2008 -0300 V4L/DVB (10035): m5602: add a start sending hook in the sensor struct Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 7d292de890a2367ddb605f9a52b015e45c10e322 Author: Erik Andrén Date: Fri Dec 19 13:29:21 2008 -0300 V4L/DVB (10034): m5602: fixup offset in order to align image Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit cedacfec4d8ef97f3df7755c07f79e5b9dcf010b Author: Erik Andrén Date: Fri Dec 19 13:12:04 2008 -0300 V4L/DVB (10033): m5602: add some comments Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 7e08e66a4c198cd7e01e756744d7de47d31e4dd5 Author: Erik Andrén Date: Fri Dec 19 03:29:31 2008 -0300 V4L/DVB (10032): m5602: add vflip quirk for Alienware m9700 Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 0bd7bd79f1cec3e6d142c5bc79b66b36acd9bc3f Author: Erik Andrén Date: Mon Dec 1 03:32:59 2008 -0300 V4L/DVB (10031): m5602: correct the name of the Pascal Stangs library Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 1d07b6f14e39eb613e42ff7fe7e352d6f67a65eb Author: Erik Andrén Date: Thu Nov 27 14:07:24 2008 -0300 V4L/DVB (10030): m5602: Use read/modify/write when toggling vflip on the po1030 Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 48223c88299a10a62ff5f5e40bd07670a21c3de9 Author: Erik Andrén Date: Thu Nov 27 13:58:20 2008 -0300 V4L/DVB (10029): m5602: remove uneeded test on po1030 The po1030 never sends long i2c messages, no need to test for that in the init phase. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 83fdea270ca5a648185525f61d27c9068355215c Author: Erik Andrén Date: Thu Nov 27 13:55:07 2008 -0300 V4L/DVB (10028): mt5602: Remove the s5k83a specific read_sensor function Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 6b9c0a2aad5a64ee7eb605e35bc761d901782d25 Author: Erik Andrén Date: Thu Nov 27 13:54:13 2008 -0300 V4L/DVB (10027): m5602: convert the s5k83a sensor to use the common function Convert the s5k83a sensor to use the common read_sensor function Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 62e856dc2fa49d3fc0b5d0b7b315236ea49c5f34 Author: Erik Andrén Date: Thu Nov 27 13:52:53 2008 -0300 V4L/DVB (10026): m5602: remove the s5k4aa implementation of the read_sensor Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 4feb24fc2643dc612b3c598c5de062cfbb08e6ea Author: Erik Andrén Date: Thu Nov 27 13:51:11 2008 -0300 V4L/DVB (10025): m5602: convert the s5k4aa sensor to use the common function Convert the s5k4aa sensor to use the common read_sensor function Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit f1c6171c4b7b2882a67db6a24c8699fa0efab42f Author: Erik Andrén Date: Thu Nov 27 13:50:17 2008 -0300 V4L/DVB (10024): m5602: Remove the mt9m111 implementation of the read_sensor function. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 4f93c450e8320d906ae50c75f2c8696516b5ccf3 Author: Erik Andrén Date: Thu Nov 27 13:48:33 2008 -0300 V4L/DVB (10023): m5602: Convert the mt9m111 to use the common read_sensor function Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 2f5ded9b99fa2cfa86a0f08993a932c1e6b47560 Author: Erik Andrén Date: Thu Nov 27 13:47:21 2008 -0300 V4L/DVB (10022): m5602: Remove the po1030 read_sensor function Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit c061c97e8db75eb5bab808dcfa93df3767c97b5a Author: Erik Andrén Date: Thu Nov 27 13:46:39 2008 -0300 V4L/DVB (10021): m5602: Let the po1030 use the common read_sensor function Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit b66503e30e9f4dc137128364277a988f8b40fa80 Author: Erik Andrén Date: Thu Nov 27 13:44:19 2008 -0300 V4L/DVB (10020): m5602: Remove the ov9650 implementation of the read sensor function Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 905aabafc4051a8313168b1dd20949b8108fbbb2 Author: Erik Andrén Date: Thu Nov 27 13:42:45 2008 -0300 V4L/DVB (10019): m5602: Let the ov9650 use the common read sensor function Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit edbfbdb3bdcf9ae90ce06b92636a07c05224fe45 Author: Erik Andrén Date: Thu Nov 27 13:41:55 2008 -0300 V4L/DVB (10018): gspca - m5602 - ov9650: Use generic read_sensor function Toggle read sensor sequence depending on type of sensor. Check that no more than max width of a sensor is read. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit e7a7f5103bddf2491760677cdd715a865b889072 Author: Erik Andrén Date: Wed Nov 26 13:15:35 2008 -0300 V4L/DVB (10015): gspca - m5602: Add initial read sensor implementation Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit fce65f6515f049dea9451afaa0e85af01aecd190 Author: Erik Andrén Date: Wed Nov 26 04:12:59 2008 -0300 V4L/DVB (10014): gspca - m5602: Remove all sensor specific write functions. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 6dc4cff0c391c691dae56486f854534658fdfea8 Author: Erik Andrén Date: Wed Nov 26 04:08:10 2008 -0300 V4L/DVB (10013): Convert all sensors to use the unified write sensor function Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 4b8f393391c0492ebec1277d073203392c90677d Author: Erik Andrén Date: Wed Nov 26 04:01:40 2008 -0300 V4L/DVB (10012): m5602: Start to unify read/write sensor functions First step into unifying the read and write sensor functions Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit d58626c21d8cafe56eb8cdf883d1d6710dc3fc81 Author: Erik Andrén Date: Tue Nov 25 03:50:05 2008 -0300 V4L/DVB (10011): m5602: Remove the write and read sensor from the main struct Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 3efb6bda0788796f0086722ceb608c11d945e55f Author: Erik Andrén Date: Tue Nov 25 03:15:15 2008 -0300 V4L/DVB (10010): gspca - m5602: Add vflip quirk for the ASUS A6Ja Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 658efb63e4d0620369c301d9401acde10499def2 Author: Erik Andrén Date: Mon Nov 24 14:21:29 2008 -0300 V4L/DVB (10009): gspca - m5602: Convert some functions to be static Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 082ec3b865f42f722ea304f0d9f05f3124c37388 Author: Erik Andrén Date: Mon Nov 24 14:12:46 2008 -0300 V4L/DVB (10008): gspca - m5602: Checkpatch.pl fixes on m5602_ov9650.c Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 7b2cd079ec8dcc65cdca6621245cfa5e30a8ef9f Author: Erik Andrén Date: Thu Nov 20 14:11:58 2008 -0300 V4L/DVB (10007): gspca - m5602: Refactor the error handling in the s5k83a Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit bac79f37be2944f7a1db7585b347ca57628d57e2 Author: Erik Andrén Date: Thu Nov 20 14:03:22 2008 -0300 V4L/DVB (10006): gspca - m5602: Align some defines Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 32500701e572f07e4d9c8e10c6c26d09c28f48a4 Author: Erik Andrén Date: Thu Nov 20 04:02:44 2008 -0300 V4L/DVB (10005): m5602: Cleanup the s5k4aa error handling, cull some comments Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 7b9f246738869e6a55bf180441598e8daa72a99e Author: Erik Andrén Date: Thu Nov 20 03:59:02 2008 -0300 V4L/DVB (10004): m5602: Cleanup the po1030 sensor error handling Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit e07b14e80be3d93807a6dc01edb80e0cc38040ad Author: Erik Andrén Date: Thu Nov 20 03:54:43 2008 -0300 V4L/DVB (10003): m5602: Simplify the error handling in the ov9650 sensor Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 8bcbc91149bf77dfcc079be911289221f2755b3f Author: Erik Andrén Date: Thu Nov 20 03:46:55 2008 -0300 V4L/DVB (10002): m5602: Simplify error handling in the mt9m111 sensor code Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 619a4d5ca127e80583fb9d269681164363be983e Author: Erik Andrén Date: Thu Nov 20 03:41:44 2008 -0300 V4L/DVB (10001): gspca - m5602: Minor fixes Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 84833a3f4e22907379462e8a7c18970db70d21d8 Author: Erik Andrén Date: Wed Nov 19 17:58:55 2008 -0300 V4L/DVB (10000): gspca - m5602: Add lost ampersand This restores the correct boolean expression Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 88a40cfbf25d82758237250a04d9bed51266215c Author: Fabio Rossi Date: Fri Dec 26 14:41:48 2008 -0300 V4L/DVB (9999): gspca - zc3xx: Webcam 046d:089d added. Signed-off-by: Fabio Rossi Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit c6b6c75e206a4da19ff139ea6b34c80306ebbf06 Author: Jean-Francois Moine Date: Wed Dec 24 05:50:04 2008 -0300 V4L/DVB (9997): gspca - main: Don't lock the kernel on ioctl. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 5c1a15a149504496b25ee3f681893cbe1647ba39 Author: Jean-Francois Moine Date: Sun Dec 21 15:02:54 2008 -0300 V4L/DVB (9995): gspca - ov534 and m5602: Set static some functions/variables. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 97a53a0fd4d877b1c83cf03db1d2a18583a281db Author: Roel Kluin Date: Sun Dec 21 11:58:05 2008 -0300 V4L/DVB (9994): gspca: t613: Bad loop in om6802 reset. Signed-off-by: Roel Kluin Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 87945895bf14b0b4dacbcef6dc08f284177affc8 Author: Hans de Goede Date: Sat Dec 20 14:30:58 2008 -0300 V4L/DVB (9992): gspca - pac207: Webcam 093a:2461 added. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 1edabe71277a394b306fcb9a28a1977f345c8a20 Author: Jean-Francois Moine Date: Fri Dec 19 15:17:25 2008 -0300 V4L/DVB (9991): gspca - main: Check if a buffer has been queued on streamon. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 13752bd9c9db4b9baf847fcb6bb281ba48466dd3 Author: Jean-Francois Moine Date: Fri Dec 19 15:08:51 2008 -0300 V4L/DVB (9990): gspca - main: Remove useless tests of the buffer type. The buffer type is already checked in v4l2-ioctl. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit f8a04a6fc4373001a7f311540dba5e4f4d86300f Author: Jean-Francois Moine Date: Fri Dec 19 07:21:26 2008 -0300 V4L/DVB (9988): gspca - spca561: Separate the bridge and sensor tables of Rev72a Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 5b7ed28ec5deb57f790e38af8d813310b830743c Author: Jean-Francois Moine Date: Thu Dec 18 12:38:15 2008 -0300 V4L/DVB (9987): gspca - spca561: Control changes for Rev72a. - move the rev12a sequence from setcontrast to end of start - add the white balance control for rev72a - adjust the contrast formula Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit f4b59e353239d3c8e2456a986e42f4c87cfcef9f Author: Jean-Francois Moine Date: Wed Dec 17 14:43:05 2008 -0300 V4L/DVB (9986): gspca - spca561: Don't get the control values from the webcam. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 35dc1b4cfa75dc0fa5ed44991b41db814e0f7741 Author: Jean-Francois Moine Date: Wed Dec 17 14:34:53 2008 -0300 V4L/DVB (9985): gspca - spca561: Cleanup source. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit ca8959bb07f27514f811200b4f71669b1783dc54 Author: Jean-Francois Moine Date: Mon Dec 15 04:12:57 2008 -0300 V4L/DVB (9984): gspca - pac7311: Webcam 093a:262c added. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit dc1fe157dd679c7b3036a4808db40862a01d53fe Author: Hans de Goede Date: Sun Dec 14 09:37:02 2008 -0300 V4L/DVB (9982): gspca - pac207: Update my email address. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit d29ca09d50309bb7df5d57aec88efdcd09a56f9f Author: Thomas Reitmayr Date: Mon Dec 29 10:59:29 2008 -0300 V4L/DVB (9981): [PATCH] usb-urb.c: Fix initialization of URB list. Fix the initialization of the URB list for a DVB-USB device to prevent problems on certain platforms (MIPS). Signed-off-by: Thomas Reitmayr Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 2e5ef2dfc45ff1ecebb0d8657b85b3fc716db9bf Author: Mauro Carvalho Chehab Date: Sun Dec 28 22:26:36 2008 -0300 V4L/DVB (9980): em28xx: simplify analog logic Now, just two routines are enough for analog: the first one configs the analog part and register V4L2 devices, and the second one release analog devices. After this patch, it will be easier to transform em28xx-video into an em28xx extension, loaded only on analog devices. Signed-off-by: Mauro Carvalho Chehab commit 1a23f81b7dc3115b29cff0e4f58b5dd04a6242ad Author: Mauro Carvalho Chehab Date: Sun Dec 28 22:18:14 2008 -0300 V4L/DVB (9979): em28xx: move usb probe code to a proper place em28xx-video were holding several code that are not specific to V4L2 interface. This patch moves the core code for em28xx-core, and usb probing code into em28xx-cards. This opens the possibility of breaking em28xx into a core module and a V4L2 module, loaded only on devices that have analog interfaces. Some cleanup may be done at em28xx-cards to optimize the config code. Signed-off-by: Mauro Carvalho Chehab commit 126be90f720d9b23e89c68519022fb806882f42d Author: Jaime Velasco Juan Date: Thu Dec 25 07:04:52 2008 -0300 V4L/DVB (9978): stkwebcam: Implement VIDIOC_ENUM_FRAMESIZES ioctl This patch implements VIDIOC_ENUM_FRAMESIZES, it is used at least by gstreamer. Signed-off-by: Jaime Velasco Juan Signed-off-by: Mauro Carvalho Chehab commit 71050814c21a461fb7950373f2ae2fc625412f20 Author: Mauro Carvalho Chehab Date: Fri Dec 26 07:07:39 2008 -0300 V4L/DVB (9977): Kbuild: fix compilation when dib7000p is not defined dib7000p.h defines a few extern symbols when CONFIG_DVB_DIB7000P is not set. since the header is used on more than one driver, this causes symbol duplication, as pointed by Ingo Molnar : drivers/media/dvb/built-in.o: In function `dib7000p_set_gpio': (.text+0x3f242): multiple definition of `dib7000p_set_gpio' drivers/media/video/built-in.o:(.text+0xb8c1e): first defined here drivers/media/dvb/built-in.o: In function `dib7000p_i2c_enumeration': (.text+0x3f282): multiple definition of `dib7000p_i2c_enumeration' drivers/media/video/built-in.o:(.text+0xb8c3e): first defined here drivers/media/dvb/built-in.o: In function `dib7000p_set_wbd_ref': (.text+0x3f1c1): multiple definition of `dib7000p_set_wbd_ref' drivers/media/video/built-in.o:(.text+0xb8bfe): first defined here LD drivers/net/built-in.o make[2]: *** [drivers/media/built-in.o] Error 1 Cc: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 4efc9abfde232a74ed1a4c2c1f797bdacf7bda53 Author: Hans Verkuil Date: Tue Dec 23 07:35:45 2008 -0300 V4L/DVB (9975): ivtv: set v4l2_dev instead of parent. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9bea3514dd4a44490b53cc52498b2967e48056dd Author: Hans Verkuil Date: Tue Dec 23 07:35:17 2008 -0300 V4L/DVB (9974): v4l2-dev: allow drivers to pass v4l2_device as parent Drivers that use v4l2_device can set that as parent pointer in the v4l2_dev field instead of using the struct device parent field. This allows v4l2-dev.c to check whether this driver is v4l2_device based, and if so then it can offer additional services. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit dc93a70cc7f92e1dbaf29fa7dfd914b0f618fb31 Author: Hans Verkuil Date: Fri Dec 19 21:28:27 2008 -0300 V4L/DVB (9973): v4l2-dev: use the release callback from device instead of cdev Instead of relying on the cdev release callback we should rely on the release callback from the device struct. This requires that we use get_device/put_device to do proper refcounting. In order to do this safely v4l2-dev.c now sets up its own file_operations that call out to the driver's ops. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit be49e368fb6e20c3a90c566b040ac3d248e2ce29 Author: Jiri Slaby Date: Mon Dec 22 22:38:23 2008 -0300 V4L/DVB (9972): v4l: usbvideo, fix module ref count check usbvideo_ClientIncModCount may return value < 0 in the case of error, not > 0. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 14983d8163c78826386404b27ee5bfc72e25a9d4 Author: Mauro Carvalho Chehab Date: Mon Dec 22 20:58:41 2008 -0300 V4L/DVB (9970): em28xx: Allow get/set registers for debug on i2c slave chips Signed-off-by: Mauro Carvalho Chehab commit bc97430510960846b6e8f2d62c503653031991e1 Author: Mauro Carvalho Chehab Date: Mon Dec 22 20:34:18 2008 -0300 V4L/DVB (9969): tvp5150: add support for VIDIOC_G_CHIP_IDENT ioctl Signed-off-by: Mauro Carvalho Chehab commit b3ee7e21f25cdd50cccc906dc09e547f36166372 Author: Hans Verkuil Date: Fri Dec 19 10:34:22 2008 -0300 V4L/DVB (9967): cs5345: convert to v4l2_subdev and fix broken s_ctrl. Converted to v4l2_subdev. While doing that I also discovered a stray 'break' that broke the S_CTRL handling. Fixed that as well. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 12f91a3fac52ea0fb0913b4e0e66e7357f31251c Author: Hans Verkuil Date: Thu Dec 18 13:43:45 2008 -0300 V4L/DVB (9966): tda9875: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 973909e816baa85a969d2edd5ac12a1ca8669cec Author: Hans Verkuil Date: Thu Dec 18 13:21:57 2008 -0300 V4L/DVB (9965): tda9840: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d531305ae148d5a401f34cd64434824f5cb8c2b1 Author: Hans Verkuil Date: Thu Dec 18 13:04:05 2008 -0300 V4L/DVB (9964): tda7432: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 6869ffe80e4d662a99cea70acad087bb71beb21a Author: Hans Verkuil Date: Thu Dec 18 12:43:56 2008 -0300 V4L/DVB (9963): tlv320aic23b: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2a5b828d753de1675497a319cd4fa67f4dfbb46a Author: Hans Verkuil Date: Thu Dec 18 12:33:45 2008 -0300 V4L/DVB (9962): tea6420: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 85d826b01751c17bc70a97bcacc1886f0c79917d Author: Hans Verkuil Date: Thu Dec 18 12:29:07 2008 -0300 V4L/DVB (9961): tea6415c: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 035f8dc1e478c67ea2682fde8f26ee9d0982a2e7 Author: Hans Verkuil Date: Thu Dec 18 12:27:28 2008 -0300 V4L/DVB (9960): v4l2-subdev: ioctl ops should use unsigned for cmd arg. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 64f70e7e30a074d4f0422679eaa994fa52ba84fc Author: Hans Verkuil Date: Thu Dec 18 12:11:32 2008 -0300 V4L/DVB (9959): tvaudio: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 6b8fe02557fcf5edd228ec1e3a6a7f8a86b294a6 Author: Hans Verkuil Date: Thu Dec 18 11:17:25 2008 -0300 V4L/DVB (9958): tvp5150: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1fe2740ff10b3de1aab8f88f2f05547e5f369035 Author: Hans Verkuil Date: Thu Dec 18 11:16:24 2008 -0300 V4L/DVB (9957): v4l2-subdev: add g_sliced_vbi_cap and add NULL pointer checks Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 531c98e71805b32e9ea35a218119100bbd2b7615 Author: Mauro Carvalho Chehab Date: Mon Dec 22 13:18:27 2008 -0300 V4L/DVB (9953): em28xx: Add suport for debugging AC97 anciliary chips The em28xx driver can be coupled to an anciliary AC97 chip. This patch allows read/write AC97 registers directly. Signed-off-by: Mauro Carvalho Chehab commit 4b00eb25340c1a9b9eedaf0bc5b0f0d18eddb028 Author: Hans Verkuil Date: Fri Dec 19 11:17:56 2008 -0300 V4L/DVB (9944): videodev2.h: fix typo. The comment said CX2584X instead of CX2341X. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a47ddf1425554ca0b1e9b16b20a9d631e5daaaa8 Author: Hans Verkuil Date: Fri Dec 19 10:20:22 2008 -0300 V4L/DVB (9943): v4l2: document video_device. Add the missing video_device documentation to v4l2-framework.txt. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 806e5b7cfa96195baadc4cc4663266aaac92e22b Author: Hans Verkuil Date: Fri Dec 19 09:10:56 2008 -0300 V4L/DVB (9942): v4l2-dev: check for parent device in get_index. get_index requires a valid parent device in order to discover which indices are in use. Some drivers (e.g. pvrusb2) do not set the parent device. In that case just return 0. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit cfbd3072890e119639b97a133d84c13d25bba034 Author: Hans Verkuil Date: Fri Dec 19 07:36:46 2008 -0300 V4L/DVB (9941): cx24113: fix compile warnings Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 77587c5627aab50636ea0f93c28d2013cd0b7004 Author: Hans Verkuil Date: Fri Dec 19 07:18:38 2008 -0300 V4L/DVB (9940): bt832: remove this driver The bt832 i2c driver was never used or even compiled and is no longer maintained. It is now removed completely. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 49dd1315fae94ef6161f72c7be961560d3309f17 Author: Hans Verkuil Date: Fri Dec 19 07:07:56 2008 -0300 V4L/DVB (9939): tuner: fix tuner_ioctl compile error if V4L1 ioctls are disabled. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 55d81aa5c11f9da510a72cc48fd59689b3e91e3a Author: Andy Walls Date: Sat Dec 20 23:48:57 2008 -0300 V4L/DVB (9937): cx18: Use a consistent crystal value for computing all PLL parameters Use a consistent crystal value of 28.636360 MHz for computing all PLL parameters so clocks don't have relative error due to assumed crystal value mismatches. Also aimed to have all PLLs run their VOCs at close to 400 MHz to minimze the error of these PLLs as frequency synthesizers. Also set the VDCLK and AIMCLK PLLs to sane values before the APU and CPU firmware are loaded. Also fixed I2S Master clock dividers. Many thanks to Mike Bradley and Jeff Campbell for reporting this problem and suggesting the solution, researching and experimenting, and performing extensive testing to support their suggested solution. Reported-by: Jeff Campbell Reported-by: Mike Bradley Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 57e24b629a5282bee24aaff44977270a3e462041 Author: Andy Walls Date: Sat Dec 20 23:26:38 2008 -0300 V4L/DVB (9936): cx18: Disable locking of Video and Audio PLL for analog captures Disable AV_LOCK, locking of audio PLL to video PLL in the cx18-av-core for analog captures. It seems to have adverse effects on captures from SVideo and CVBS sources with current clock & crystal settings in the driver. Many thanks to Jeff Campbell and Mike Bradley for reporting this problem, and suggesting the solution and performing extensive testing to support their suggestion. Reported-by: Jeff Campbell Reported-by: Mike Bradley Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 15029b39bb95a765b57ad81f5062718b10422072 Author: Hans Verkuil Date: Sun Dec 21 10:44:24 2008 -0300 V4L/DVB (9934): v4l2-compat32: add two additional #ifdef __OLD_VIDIOC_ lines Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 92f45badbbaccdbc1be25085292a1e258948e221 Author: Hans Verkuil Date: Sun Dec 21 10:35:25 2008 -0300 V4L/DVB (9932): v4l2-compat32: fix 32-64 compatibility module Added all missing v4l1/2 ioctls and fix several broken conversions. Partially based on work done by Cody Pisto . Tested-by: Brandon Jenkins Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b6070f0756fe1bccda1c8c67a6bfdfa51022b664 Author: Mauro Carvalho Chehab Date: Mon Dec 22 06:20:32 2008 -0300 V4L/DVB (9931): em28xx: de-obfuscate vidioc_g_ctrl logic vidioc_g_ctrl() were using an uneeded confusing logic. Instead, use the direct approach. Signed-off-by: Mauro Carvalho Chehab commit 5db0b5e1adff92dac54f2dfb1846a42501c8f7d9 Author: Mauro Carvalho Chehab Date: Mon Dec 22 06:14:31 2008 -0300 V4L/DVB (9930): em28xx: Fix bad locks on error condition Signed-off-by: Mauro Carvalho Chehab commit 02ebf23bc20eee5d91d008a9e831e7768d963946 Author: Alan Nisota Date: Sat Dec 20 12:03:06 2008 -0300 V4L/DVB (9928): Convert GP8PSK module to use S2API This patch converts the gp8psk module to use the S2API. It pretends to be DVB-S2 capable in order to allow the various supported modulations (8PSK, QPSK-Turbo, etc), and keep software compatibility with the S2API patches for Mythtv and VDR. Signed-off by: Alan Nisota Signed-off-by: Mauro Carvalho Chehab commit bddcf63313c6a4a85f94db092f45e31f530da691 Author: Mauro Carvalho Chehab Date: Sat Dec 20 09:06:37 2008 -0300 V4L/DVB (9927): em28xx: use a more standard way to specify video formats This patch uses the same code for enumberating video formats that are present on cx88, bttv and saa7134 drivers. Signed-off-by: Mauro Carvalho Chehab commit 381aaba91de9659ccb8c061d6b7248e606903374 Author: Mauro Carvalho Chehab Date: Sat Dec 20 07:43:34 2008 -0300 V4L/DVB (9926): em28xx: Fix a bug that were putting xc2028/3028 tuner to sleep The changeset 78aa52a159cf introduced a bug on em28xx: buffer setup should be awaking xc3028. Instead, since we didn't specify the tuner mode, the device were going to sleep, due to the lack of tuner mode when asking tuner to handle VIDIOC_S_FREQUENCY: xc2028 0-0061: Device is Xceive 3028 version 1.0, firmware version 2.7 xc2028 0-0061: divisor= 00 00 14 d0 (freq=83.250) xc2028 0-0061: Putting xc2028/3028 into poweroff mode. xc2028 0-0061: Printing sleep stack trace: Pid: 10936, comm: mplayer Tainted: P M 2.6.27.8 #1 Call Trace: [] xc2028_sleep+0x89/0x1ab [tuner_xc2028] [] tuner_s_frequency+0xf5/0x165 [tuner] Signed-off-by: Mauro Carvalho Chehab commit 16a5e53d09227a080410b0385a7884bf7b84bc06 Author: Mauro Carvalho Chehab Date: Sat Dec 20 07:17:10 2008 -0300 V4L/DVB (9925): tuner-core: add debug msg's when asking tuner to sleep Signed-off-by: Mauro Carvalho Chehab commit d553cc958aacdc3cdfcecd675b15458aa156c736 Author: Devin Heitmueller Date: Wed Dec 17 02:25:00 2008 -0300 V4L/DVB (9923): xc5000: remove init_fw option The init_fw option was broken for the HVR-950q because we would call the reset callback inside of dvb_attach() and the callback had not been setup yet. Michael Krufky (who added the init_fw feature) says it's no longer required, so just remove the option completely. Thanks to user Zzeiss from #linuxtv chat for reporting the issue and Michael Krufky for proposing the fix. Signed-off-by: Devin Heitmueller Acked-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c665f4dd99a584036c2bd79a6baa25b06cae42f8 Author: Devin Heitmueller Date: Tue Dec 16 23:35:23 2008 -0300 V4L/DVB (9922): em28xx: don't assume every eb1a:2820 reference design is a Prolink PlayTV USB2 Don't operate under the assumption that every device that uses the em2820 default USB ID is a Prolink PlayTV USB. We have an eeprom hash, so use that, since otherwise we cannot support other devices with the 2820 default USB ID (such as the ADS Tech Instant TV USB USBAV-704) Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit b1fa26c66c975bbd3173a45ef673870fd1d52dea Author: Devin Heitmueller Date: Tue Dec 16 23:15:33 2008 -0300 V4L/DVB (9921): em28xx: add chip id for em2874 Add the em2870 to the list of known em28xx chip ids. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 793927372626bae48b32db24dddde40d73923a9c Author: Darron Broad Date: Thu Dec 18 06:28:35 2008 -0300 V4L/DVB (9918): cx88: advise/acquire clean-up for HVR-1300/3000/4000 This cleans-up the advise/acquire methods. This has been tested on the hvr-1300/4000 and assumed to be correct on the hvr-3000. This update also fixes analogue tuning on the hvr-1300 when in blackbird mode. Signed-off-by: Darron Broad Cc: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 6639f1e060c2d2f3331ba6bcefe8f65b623365f3 Author: Darron Broad Date: Thu Dec 18 06:28:18 2008 -0300 V4L/DVB (9917): cx24116: change to ALGO_HW Slow tuning, EG: > szap-s2 -r -c 39.FTATV "1=Pgm1;Net1" reading channels from file '39.FTATV' zapping to 3 '1=Pgm1;Net1': delivery DVB-S, modulation QPSK sat 0, frequency 11140 MHz V, symbolrate 1425000, coderate 5/6, rolloff 0.35 vpid 0x0200, apid 0x0300, sid 0x0001 using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' status 00 | signal c2c0 | snr 0000 | ber 00012d4a | unc 00000000 | status 03 | signal ff80 | snr 0000 | ber 00000000 | unc 00000000 | status 01 | signal ff80 | snr 0000 | ber 00000000 | unc 00000000 | status 01 | signal ff80 | snr 0000 | ber 00000000 | unc 00000000 | status 03 | signal c040 | snr 0000 | ber 00000000 | unc 00000000 | status 03 | signal ff80 | snr 0000 | ber 00000000 | unc 00000000 | status 01 | signal ff80 | snr 0000 | ber 00000000 | unc 00000000 | status 03 | signal c040 | snr 0000 | ber 00000000 | unc 00000000 | status 01 | signal ff80 | snr 0000 | ber 00000000 | unc 00000000 | status 01 | signal ff80 | snr 0000 | ber 00000000 | unc 00000000 | status 01 | signal c040 | snr 0000 | ber 00000000 | unc 00000000 | status 01 | signal ff80 | snr 0000 | ber 00000000 | unc 00000000 | status 01 | signal ff80 | snr 0000 | ber 00000000 | unc 00000000 | status 01 | signal c040 | snr 0000 | ber 00000000 | unc 00000000 | status 03 | signal c040 | snr 0000 | ber 00000000 | unc 00000000 | status 1f | signal c040 | snr bb33 | ber 00000000 | unc 00000000 | FE_HAS_LOCK Appears to be resolved by dropping zig-zag tuning and relying on hardware only: > szap-s2 -r -c 39.FTATV "1=Pgm1;Net1" reading channels from file '39.FTATV' zapping to 3 '1=Pgm1;Net1': delivery DVB-S, modulation QPSK sat 0, frequency 11140 MHz V, symbolrate 1425000, coderate 5/6, rolloff 0.35 vpid 0x0200, apid 0x0300, sid 0x0001 using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' status 01 | signal ff80 | snr 0000 | ber 00000000 | unc 00000000 | status 1f | signal ff80 | snr c199 | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 1f | signal c040 | snr c199 | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 1f | signal ff80 | snr c199 | ber 00000000 | unc 00000000 | FE_HAS_LOCK Tuning to a weaker channel shows that the hardware recovers sync: status 1f | signal fe40 | snr 5199 | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 03 | signal fd40 | snr 5000 | ber 00000000 | unc 00000000 | status 1f | signal fe40 | snr 5000 | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 03 | signal fd80 | snr 5000 | ber 00000000 | unc 00000000 | status 01 | signal fd80 | snr 4e66 | ber 00000000 | unc 00000000 | status 1f | signal fe40 | snr 5000 | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 03 | signal fe40 | snr 5000 | ber 00000000 | unc 00000000 | status 01 | signal fd80 | snr 0000 | ber 00000000 | unc 00000000 | status 1f | signal fe40 | snr 5199 | ber 00000000 | unc 00000000 | FE_HAS_LOCK Also, tuning, moving the dish and then restoring the dish also retunes. Signed-off-by: Darron Broad Cc: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 2fac9a0f44d1950abb0e16f5d43f88866962ca3c Author: Darron Broad Date: Thu Dec 18 06:27:50 2008 -0300 V4L/DVB (9916): dvb-core: don't add an event when in ONE SHOT mode for algo type HW It has been noticed that in HW tuning mode in cx24123.c that a check is made to not alter the status var when in one shot mode, a simpler solution is to not update here for all cards. Cc: Steven Toth Signed-off-by: Darron Broad Signed-off-by: Mauro Carvalho Chehab commit 2fd9339664bc18a5345bbd6b855ff58273049f32 Author: Darron Broad Date: Thu Dec 18 06:27:23 2008 -0300 V4L/DVB (9915): cx24116: fix retune regression introduced in 70ee86a7c630 Thanks to AKPM for spotting this. Cc: Steven Toth Signed-off-by: Darron Broad Signed-off-by: Mauro Carvalho Chehab commit 3569476dcebc7d6154815239ec982dee77511581 Author: Darron Broad Date: Thu Dec 18 06:21:51 2008 -0300 V4L/DVB (9914): cx24116: bugfix: add missing delsys in FEC lookup Delsys was missing when searching for FEC in table. This fixes FEC lookup for DVB-S2 QPSK modulation. Cc: Steven Toth Signed-off-by: Darron Broad Signed-off-by: Mauro Carvalho Chehab commit e278e746bc95dd1e7aa90eb5b858c309266797cd Author: Mauro Carvalho Chehab Date: Thu Dec 18 06:00:25 2008 -0300 V4L/DVB (9913): tuner-xc2028: allow printing stack trace as debug on sleep code tuner-xc3028 can be put to sleep to save power. However, if not properly recovered from sleep, the device won't work. It is noticed that some devices doesn't recover properly, so let's add a dump_stack() as a debug option, to allow us to track when this happens. Signed-off-by: Mauro Carvalho Chehab commit efc52a94840198eb5ba68107812b879d34959dbb Author: Mauro Carvalho Chehab Date: Tue Dec 16 22:04:56 2008 -0300 V4L/DVB (9912): em28xx: fix/improve em28xx locking schema Changes/fixes on em28xx dev->lock: - em28xx_init_dev() were unlocking without a previous lock; - some read ioctls need to lock after the removal of KBL, since a write may be happening at the same time an ioctl is reading; - keep the device locked during all device initialization; - lock/unlock while reading/writing registers. Signed-off-by: Mauro Carvalho Chehab commit cf8c91c3e77cc26c43cfe6fc47e649b685736259 Author: Mauro Carvalho Chehab Date: Tue Dec 16 20:36:13 2008 -0300 V4L/DVB (9911): em28xx: vidioc_try_fmt_vid_cap() doesn't need any lock vidioc_try_fmt_vid_cap() just checks if a given resolution is supported. It doesn't touch on struct em28xx device descriptor. so, there's no need to lock. While there, use unlikely() for those values that aren't likely to occur. Signed-off-by: Mauro Carvalho Chehab commit 29b59417c514a2c5291abb4e3a42e5245ffe6058 Author: Mauro Carvalho Chehab Date: Tue Dec 16 20:19:24 2008 -0300 V4L/DVB (9910): em28xx: move res_get locks to the caller routines Signed-off-by: Mauro Carvalho Chehab commit 7831364f33af9bb7333f333e9a239b1dd2edea1c Author: Mauro Carvalho Chehab Date: Tue Dec 16 20:00:49 2008 -0300 V4L/DVB (9909): em28xx: move dev->lock from res_free to the caller routines Signed-off-by: Mauro Carvalho Chehab commit 7d4f0b8153608fbfdae26887512fa1fb5229cde9 Author: Hans Verkuil Date: Mon Dec 15 07:19:20 2008 -0300 V4L/DVB (9905): v4l2-compat32: add missing newline after kernel message Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 69373f6a9cde6a7683d877ca8ad296112fe032e6 Author: Hans Verkuil Date: Mon Dec 15 07:15:32 2008 -0300 V4L/DVB (9904): v4l: fix compile warning. Fix (bogus) compile warning about uninitialized variable. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9768352ac1f9cc3aae675adb299452bd28a54734 Author: Laurent Pinchart Date: Tue Dec 16 06:46:32 2008 -0300 V4L/DVB (9903): uvcvideo: V4L2 zoom controls support Add support for absolute and continuous zoom controls (mapped to absolute and relative UVC zoom controls). Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 6df126f834c7f6972528cba43604ce0c97329886 Author: Laurent Pinchart Date: Tue Dec 16 06:44:11 2008 -0300 V4L/DVB (9902): uvcvideo: V4L2 privacy control support Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 74980159e75e3a6913d23d1508da57d018fe7436 Author: Laurent Pinchart Date: Sun Dec 14 16:24:04 2008 -0300 V4L/DVB (9899): v4l2: Add missing control names Update v4l2_ctrl_get_name() and v4l2_ctrl_get_menu() with missing control names and menu values. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 046425f8c4ac431db00c09a6d9fba16560b8e5b9 Author: Laurent Pinchart Date: Sun Dec 14 16:22:05 2008 -0300 V4L/DVB (9898): v4l2: Add privacy control The privacy control prevents video from being acquired by the camera. A true value indicates that no image can be captured. Devices that implement the privacy control must support read access and may support write access. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 0877258d98154565def498833ccb208234c85084 Author: Laurent Pinchart Date: Sun Dec 14 16:21:16 2008 -0300 V4L/DVB (9897): v4l2: Add camera zoom controls The zoom controls move the zoom lens group to a an absolute position, as a relative displacement or at a given speed until reaching physical device limits. Positive values move the zoom lens group towards the telephoto direction, negative values towards the wide-angle direction. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit fd6b9c978dc3447b9b4677d8949ef3ea7f946abc Author: Andy Walls Date: Sun Dec 14 21:26:25 2008 -0300 V4L/DVB (9895): cx18: Refine the firmware load and firmware startup process Refine the firmware load and firmware startup process. Significant changes are to ensure the SCB and IPC area are correct before starting up the firmware, and letting the CPU firmware start up the APU firmware for us. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 50b86bac6ae6dda00faa14f7d73ae2412eacc240 Author: Andy Walls Date: Sun Nov 23 19:16:44 2008 -0300 V4L/DVB (9894): cx18: Use a known open task handle when setting stream CX2341x parameters cx18: Use a known open task handle when setting stream CX2341x parameters Sometimes, we might only have VBI or YUV stream open instead of an MPEG stream. Let's make sure we use a valid task handle to perform the CX2341x control settings. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit f6b181ac3bda7aab227e9ee3148bc9b7f1889c57 Author: Andy Walls Date: Sun Dec 14 21:05:36 2008 -0300 V4L/DVB (9893): cx18: Convert some list manipulations to emphasize entries not lists Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit aafc77066f4cc8b6de4af1a7d643c9646e19bad9 Author: Andy Walls Date: Sun Dec 14 19:21:35 2008 -0300 V4L/DVB (9892): cx18: VBI comment corrections and comments about VBI issues VBI comment corrections to avoid future confusion about standards. Comments on cx18 VBI implementation shortcomings that need resolution. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 0ef0289264e8f278312909f1639a7764cc9cf580 Author: Andy Walls Date: Sun Dec 14 18:52:12 2008 -0300 V4L/DVB (9891): cx18 Replace magic number 63 with CX18_MAX_FW_MDLS_PER_STREAM Removed magic number that referred to firmware limit on the number of MDLs the firmware can maintain for any stream at any one time. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 83c3a3c8b6a0e7a54ca9fa18b02c90e2d9a889f9 Author: Patrick Boettcher Date: Sun Dec 14 11:56:28 2008 -0300 V4L/DVB (9889): CX24113: Fixed more typos Uwe Bugla pointed out that there are some more typos in some print-statements. Fixed. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 14811ac911780f029113323a325b7b87f1042194 Author: Uwe Bugla Date: Sun Dec 14 09:11:53 2008 -0300 V4L/DVB (9888): Patch: fix a typo in cx24113.c This patch fixes a typo in cx24113.c. Signed-off-by: Uwe Bugla Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 826c8b6092f3e1c98dd6236ad212a3c0e292d42e Author: Patrick Boettcher Date: Sun Dec 14 08:59:55 2008 -0300 V4L/DVB (9887): Minor fixes for cx24113-driver (codingstyle) Fixed some minor coding style issues and some driver information printed when using the driver on a board. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 1dc87b6e2fb29777f921c733d78df7eea31e6cc8 Author: Jean-Francois Moine Date: Sun Dec 14 05:50:24 2008 -0300 V4L/DVB (9884): gspca - ov534: Fix a warning when compilation without GSPCA_DEBUG. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit e6e483782772994fe42ef9e8b5b4d6f6376b3d45 Author: Antonio Ospite Date: Sun Dec 14 05:48:07 2008 -0300 V4L/DVB (9883): gspca - ov534: Show sensor ID. The original version of sccb_read_reg() is from Jim Paris. NOTE: as it is now reading sensor ID won't work for sensors on different i2c slave address. Signed-off-by: Antonio Ospite Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 15e3209a30c1b4dd52e937388fb3969d06dc33ec Author: Antonio Ospite Date: Sun Dec 14 05:41:56 2008 -0300 V4L/DVB (9882): gspca - ov534: Fix typo. Signed-off-by: Antonio Ospite Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 47a42b0b9cc9c328ce33af9e4bab58e57d643908 Author: Jean-Francois Moine Date: Sat Dec 13 07:45:34 2008 -0300 V4L/DVB (9880): gspca - vc032x: Add V&H flips and sharpness controls for sensor po1200. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit f8ea4af42b03976eb986742957fc7c581b620937 Author: Jean-Francois Moine Date: Fri Dec 12 04:48:06 2008 -0300 V4L/DVB (9879): gspca - vc032x: Remove the unused quality/qindex. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit d473a002399ff8cd168012f831aca7691d5f5086 Author: Hans de Goede Date: Thu Dec 11 05:02:18 2008 -0300 V4L/DVB (9878): gspca - vc032x: Fix frame overflow errors with vc0321. The vc0321 sends some additional data after sending the complete frame, we ignore this. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 11d9f25da89523d19dba3608d51a86af2954fc0d Author: Jim Paris Date: Wed Dec 10 06:06:20 2008 -0300 V4L/DVB (9877): gspca - ov534: Add framerate support. Add support for getting and setting framerate via v4l2 controls, rather than setting a fixed value at module insertion. Signed-off-by: Jim Paris Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 627a5ef7893fa127925b99e2597c8210202c75aa Author: Jim Paris Date: Wed Dec 10 06:02:42 2008 -0300 V4L/DVB (9876): gspca - main: Allow subdrivers to handle v4l2_streamparm requests. Add get_streamparm and set_streamparm operations so subdrivers can get/set stream parameters such as framerate. Signed-off-by: Jim Paris Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit c06eb61941459b1981817fb675d0104ac0cd6df8 Author: Jim Paris Date: Wed Dec 10 05:47:44 2008 -0300 V4L/DVB (9874): gspca - ov534: Explicitly initialize frame format. Set frame format registers 0x0a and 0x0b to explicit values rather than relying on reset-time defaults. Signed-off-by: Jim Paris Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 0f7a50b29dd9c8603d5ce15c11fd1a1d731e1a6d Author: Jim Paris Date: Wed Dec 10 05:45:14 2008 -0300 V4L/DVB (9873): gspca - ov534: Improve payload handling. Frame data in bulk transfers is separated into 2048-byte payloads. Each payload has its own header. Signed-off-by: Jim Paris Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 8d3f6e3582b762a3b28f52c8093631caee94c03a Author: Jean-Francois Moine Date: Wed Dec 10 05:13:05 2008 -0300 V4L/DVB (9871): gspca - vc032x: Bad detection of sensor mi0360. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 8852153548b31abb99c1c0772d03f92054f1f80d Author: Jean-Francois Moine Date: Wed Dec 10 05:06:13 2008 -0300 V4L/DVB (9870): gspca - vc032x: Webcam 15b8:6002 and sensor po1200 added. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 7320d6bf300262b05116309ecf0c6655c818a5da Author: Jean-Francois Moine Date: Mon Dec 8 06:41:04 2008 -0300 V4L/DVB (9869): gspca - zc3xx: Change the USB exchanges for the sensor pas202b. This sensor was declared as hdcs2020. The new exchanges have been extracted from the ms-win file usbvm31b.inf. The light frequency control has been added. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit f4f4ef7618c0839326aa6f462a7c95ed76fb26b6 Author: Jean-Francois Moine Date: Mon Dec 8 06:25:40 2008 -0300 V4L/DVB (9868): gspca - zc3xx: Remove the duplicated register names Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 34e21c34c621821a44bd49f3e889bc17fadfbfa7 Author: Jean-Francois Moine Date: Mon Dec 8 05:17:32 2008 -0300 V4L/DVB (9867): gspca - vc032x: Remove the autogain control. This control was not coded. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 7dc7ad38f4f375c21ef5e05461639061e6483c73 Author: Jean-Francois Moine Date: Mon Dec 8 05:13:53 2008 -0300 V4L/DVB (9866): gspca - vc032x: V and H flips added for sensors ov7660 and 7670. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit e18fd01e63aada731efbcadba6232fde28a20ff5 Author: Jean-Francois Moine Date: Mon Dec 8 04:48:21 2008 -0300 V4L/DVB (9865): gspca - vc032x: Bad check of the sensor mi0360. Error was due to bad variable names. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 2961e875ea1b9ef446e7533eff86e6711fd3a727 Author: Romain Beauxis Date: Fri Dec 5 06:25:26 2008 -0300 V4L/DVB (9864): gspca - ov519: Change copyright information. Signed-off-by: Romain Beauxis Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 577cbf49cd793c39f149b526309b080ac4ebbad4 Author: Jean-Francois Moine Date: Fri Dec 5 06:18:37 2008 -0300 V4L/DVB (9863): gspca - sonixj: Cleanup / simplify code. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 8c252050146fc6f54e9bf5ef8276b25f3dd67a1c Author: Jean-Francois Moine Date: Thu Dec 4 05:06:08 2008 -0300 V4L/DVB (9861): gspca - ov534: Accept many simultaneous webcams. This patch moves the last fid and pts from static to the sd structure. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit fb139224aea3b56237542690516eb9d6d671b135 Author: Jim Paris Date: Thu Dec 4 04:52:40 2008 -0300 V4L/DVB (9860): gspca - ov534: Frame transfer improvements. The indirect registers at 0x1c/0x1d control frame settings. If we leave the values at 0x0a and 0x0b at their reset-time defaults, frame data from the camera matches the UVC payload format. This lets us better reassemble the data into frames and know when data was lost. This also lets us relax the bulk_size requirement from 600K to 2K, which should help systems on with limited RAM (like the PS3). Signed-off-by: Jim Paris Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 5ea9c4def8154a5be836dd31cbd97f49fd34ea8f Author: Jim Paris Date: Thu Dec 4 04:36:14 2008 -0300 V4L/DVB (9859): gspca - ov534: Fix frame size so we don't miss the last pixel. The frame size is too small, so we lose the last YUYV pixel. Fix the setup and remove the last_pixel hack. Signed-off-by: Jim Paris Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 47dfd21fbf4ba303b5fdfad6f4e110e57990803c Author: Jim Paris Date: Thu Dec 4 04:28:27 2008 -0300 V4L/DVB (9858): gspca - ov534: Initialization cleanup. Signed-off-by: Jim Paris Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 442a43f50fac8ce13f1b43ca7c5f54af6f91c65e Author: Antonio Ospite Date: Wed Dec 3 16:21:08 2008 -0300 V4L/DVB (9857): gspca: Use smaller chunks for urb buffer in ov534. Signed-off-by: Antonio Ospite Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 9e1e7b068debea80c3ffbde264d0389b8137b589 Author: Antonio Ospite Date: Wed Dec 3 14:10:01 2008 -0300 V4L/DVB (9856): gspca: Use u8 values for USB control messages in ov534. Signed-off-by: Antonio Ospite Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 3adba442246a81aad29cf99ef55500379b7a3669 Author: Antonio Ospite Date: Wed Dec 3 14:01:54 2008 -0300 V4L/DVB (9855): gspca: Simplify frame rate setting and debug in ov534. Signed-off-by: Antonio Ospite Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit a9da98a4336df020e5f089b963295373c6c3e6b9 Author: Jean-Francois Moine Date: Wed Dec 3 07:29:26 2008 -0300 V4L/DVB (9854): gspca: Add the webcam 0c45:60fe in the gspca documentation. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 121520a7084b48cb26437c6e89d4b491c3e4d4d5 Author: Jean-Francois Moine Date: Wed Dec 3 07:19:22 2008 -0300 V4L/DVB (9853): gspca: Webcam 093a:2622 added in pac7311. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit daa5cb42f12684173e2cfd7d062527ca24916791 Author: Jean-Francois Moine Date: Tue Dec 2 15:00:57 2008 -0300 V4L/DVB (9852): gspca: Fix image problem at low resolutions with ov7660 in sonixj. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit bd088835c78bd402711b16940b80bb761a74fa75 Author: Jean-Francois Moine Date: Tue Dec 2 06:58:57 2008 -0300 V4L/DVB (9850): gspca: Bad color control in sonixj. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit d7bb7317d4caca55de72e5bd2229d68ed7cce7af Author: Jean-Francois Moine Date: Tue Dec 2 06:56:47 2008 -0300 V4L/DVB (9849): gspca: Add the webcam 0c45:613a in the gspca documentation. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 3319dc98a742d445a660268a6ce3426ad0922e2a Author: Jean-Francois Moine Date: Mon Dec 1 14:44:02 2008 -0300 V4L/DVB (9848): gspca: Webcam 06f8:3004 added in sonixj. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 2ed9f81680432e3dc42b41d4738d443bc516b8c9 Author: Jean-Francois Moine Date: Fri Nov 28 15:31:43 2008 -0300 V4L/DVB (9847): gspca: Align the 640x480 and 320x240 init of tas5130 in zc3xx. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit f955c4fc863c0823ec6c224b6645ab67c46f1a0d Author: Jean-Francois Moine Date: Fri Nov 28 08:51:50 2008 -0300 V4L/DVB (9846): gspca: Do the webcam microphone work when present. This patch adds the set/get/enum audio controls. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit cbb0554f9db8a7f592fad898d57df79fe38bf492 Author: Jean-Francois Moine Date: Wed Nov 26 16:17:13 2008 -0300 V4L/DVB (9845): gspca: Add sensor mi0360 in vc032x. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 403123d276e6af29ed401930fd8e25de768d2e34 Author: Jean-Francois Moine Date: Wed Nov 26 04:46:15 2008 -0300 V4L/DVB (9843): gspca: Change the colors and add the red and blue controls in sonixj. The colors control (saturation) acted as color balance. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit b1b056a5f22851273813f7f1208b50fb7934f12a Author: Jean-Francois Moine Date: Tue Nov 25 04:47:09 2008 -0300 V4L/DVB (9842): gspca: Center the brightness in sonixj. The brightness jumped from max to min at the middle of the control values. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit abf485fe5136c4f828df2d07655d6dc7253894a5 Author: Jean-Francois Moine Date: Mon Nov 24 06:38:21 2008 -0300 V4L/DVB (9841): gspca: Use msleep instead of mdelay. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 8843765e28f0eeb0510edb0cc3037d9e1dffd6a6 Author: Jean-Francois Moine Date: Mon Nov 24 06:28:58 2008 -0300 V4L/DVB (9840): gspca: Simplify the pkt_scan of stk014. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 9edf1a69259a74fc295f2ef52546f3da8bb962cb Author: Jean-Francois Moine Date: Sun Nov 23 15:53:28 2008 -0300 V4L/DVB (9838): gspca: Delay when trying an other altsetting on streaming start. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 91bd3412a22d68b7a9a09720e748fbbf68c2d545 Author: Jean-Francois Moine Date: Sun Nov 23 14:47:50 2008 -0300 V4L/DVB (9837): gspca: Simplify the brightness/contrast for ov76xx sensors in sonixj. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 67ec09fdf5e05d4670b617256c696348b5df080b Author: Hans Verkuil Date: Sat Nov 29 19:38:23 2008 -0300 V4L/DVB (9835): ivtv/ivtvfb: convert to v4l2_device/v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ca085fb900265b525e3f9fb95fb6d7fd27a302ea Author: Hans Verkuil Date: Sat Nov 29 13:03:22 2008 -0300 V4L/DVB (9834): wm8775: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f1460e9771b2166ff5802cf95e81b7e00b055303 Author: Hans Verkuil Date: Sat Nov 29 13:02:26 2008 -0300 V4L/DVB (9833): wm8739: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d9460f067e45a0099cfa9349361de3b19e8e8ceb Author: Hans Verkuil Date: Sat Nov 29 13:01:28 2008 -0300 V4L/DVB (9832): vp27smpx: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit cc7ca3ea062c440d6d2cd995023bdfd0278f78a9 Author: Hans Verkuil Date: Sat Nov 29 13:00:30 2008 -0300 V4L/DVB (9831): upd64083: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 09abd5065f3c0a4d0e74f308639f6d69adaa1a04 Author: Hans Verkuil Date: Sat Nov 29 12:59:33 2008 -0300 V4L/DVB (9830): upd64031a: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e8a4a9e79b169317e698a0fdc469545d93ef304b Author: Hans Verkuil Date: Mon Nov 24 18:21:40 2008 -0300 V4L/DVB (9829): tuner: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 27760fc4b9b71d04568580fd44b38ac708731b28 Author: Hans Verkuil Date: Sat Nov 29 12:57:44 2008 -0300 V4L/DVB (9828): saa717x: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 627426c67553e2fbf99b5143623bffcc6b0b1020 Author: Hans Verkuil Date: Sat Nov 29 12:56:38 2008 -0300 V4L/DVB (9827): saa7127: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9415f4b2166e6d9b3095fef47f4aa7dac76ac037 Author: Hans Verkuil Date: Sat Nov 29 12:55:19 2008 -0300 V4L/DVB (9826): saa7115: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 76efd62f1546c6fab2116d3ba832403387bd3d4a Author: Hans Verkuil Date: Mon Nov 24 18:16:46 2008 -0300 V4L/DVB (9825): msp3400: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5d302f2e2c5fce46d88a9f6b3c1f74f9e9240e25 Author: Hans Verkuil Date: Sat Nov 29 12:51:32 2008 -0300 V4L/DVB (9824): m52790: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9357b31c6cbd3d1c279fb161b3bf179c53062365 Author: Hans Verkuil Date: Sat Nov 29 12:50:06 2008 -0300 V4L/DVB (9823): cx25840: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 825c6aa2a874731fa5fbe96a9a0c8f2e27f6a0c0 Author: Hans Verkuil Date: Sat Nov 29 12:45:59 2008 -0300 V4L/DVB (9822): cs53l32a: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit dd99120c7165c6873a423977d1eaa41b6e2d1ffc Author: Hans Verkuil Date: Sun Nov 23 12:19:45 2008 -0300 V4L/DVB (9821): v4l2-common: add i2c helper functions Add helper functions to load i2c sub-devices, integrating them into the v4l2-framework. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2a1fcdf08230522bd5024f91da24aaa6e8d81f59 Author: Hans Verkuil Date: Sat Nov 29 21:36:58 2008 -0300 V4L/DVB (9820): v4l2: add v4l2_device and v4l2_subdev structs to the v4l2 framework. Start implementing a proper v4l2 framework as discussed during the Linux Plumbers Conference 2008. Introduces v4l2_device (for device instances) and v4l2_subdev (representing sub-device instances). Signed-off-by: Hans Verkuil Reviewed-by: Laurent Pinchart Reviewed-by: Guennadi Liakhovetski Reviewed-by: Andy Walls Reviewed-by: David Brownell Signed-off-by: Mauro Carvalho Chehab commit 07b1747c8d0bb463311f9dd05d4c013765abe2eb Author: Vaibhav Hiremath Date: Fri Dec 5 10:19:36 2008 -0300 V4L/DVB (9817): v4l: add new tvp514x I2C video decoder driver Signed-off-by: Brijesh Jadav Signed-off-by: Hardik Shah Signed-off-by: Manjunath Hadli Signed-off-by: R Sivaraj Signed-off-by: Vaibhav Hiremath Signed-off-by: Karicheri Muralidharan Signed-off-by: Hans Verkuil Reviewed-by: Hans Verkuil Reviewed-by: David Brownell Signed-off-by: Mauro Carvalho Chehab commit 67bc04dd04bfe6a6337a9c6773e4c36645360332 Author: Vaibhav Hiremath Date: Fri Dec 5 10:13:40 2008 -0300 V4L/DVB (9816): v4l2-int-if: add three new ioctls for std handling and routing These changes are needed for the new TVP514x driver. Signed-off-by: Brijesh Jadav Signed-off-by: Hardik Shah Signed-off-by: Manjunath Hadli Signed-off-by: R Sivaraj Signed-off-by: Vaibhav Hiremath Signed-off-by: Karicheri Muralidharan Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 39aee69a166b775a38ed0053596cdb8e717ae315 Author: Sakari Ailus Date: Mon Dec 1 15:40:09 2008 -0300 V4L/DVB (9815): omap2: add OMAP2 camera driver. Add a driver for the OMAP2 camera block. OMAP2 is used in e.g. Nokia N800/N810 internet tablet. This driver uses the V4L2 internal ioctl interface. Signed-off-by: Sakari Ailus Signed-off-by: Trilok Soni Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b1f1d76ef7cc96541b6a16bff7082e9033f0ba08 Author: Patrick Boettcher Date: Wed Dec 10 18:27:39 2008 -0300 V4L/DVB (9812): [PATCH] short help for Technisat cards to select the right configuration This patch adds a short help for Technisat cards to help the user selecting the right configuration for his card(s). Signed-off-by: Uwe Bugla Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 4c48ae8e8a490f16abbd874602135bcd83c84f26 Author: Patrick Boettcher Date: Sun Nov 23 16:26:54 2008 -0300 V4L/DVB (9811): Add support for the CX24113 DVB-S tuner driver This commit adds support for the CX24113 DVB-S tuner driver and thus support for the Technisat Skystar2 revision 2.8. The driver was created with the help of Technisat. Thank you very much. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 2bdd29cf3d4d32e4371fbd6b27ea171f2c1f0836 Author: Laurent Pinchart Date: Sat Dec 6 17:43:40 2008 -0300 V4L/DVB (9810): uvcvideo: Add a device quirk to prune bogus controls. Bogus controls currently include processing unit auto controls for which no corresponding manual control is available. Such auto controls make little sense if any, and are known to crash at least the SiGma Micro webcam. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 0fbd8ee6de6ac3d0b93c96da848c5bc3ccc1dc83 Author: Laurent Pinchart Date: Sat Dec 6 16:25:14 2008 -0300 V4L/DVB (9809): uvcvideo: Add nodrop module parameter to turn incomplete frame drop off. The driver drops incomplete uncompressed video frames to avoid confusing userspace with corrupt data. Add a nodrop module parameter to turn that behaviour off and make all frames available to userspace. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit af009cf635141858642864a26602e379e97bf7d6 Author: Andy Walls Date: Fri Dec 12 20:00:29 2008 -0300 V4L/DVB (9806): cx18: Enable raw VBI capture A combined authorship patch from Hans Verkuil and Andy Walls. Raw VBI can now be captured but requires a video capture to be in progress as well. Signed-off-by: Andy Walls Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit dd073434b5285121007860914a004320d644ee7e Author: Andy Walls Date: Fri Dec 12 16:24:04 2008 -0300 V4L/DVB (9805): cx18: Port fix for raw/sliced VBI mixup from ivtv and cx25840 This is a port of the fixes Hans Verkuil made for ivtv/cx25840: The service_set field was used to determine whether raw or sliced VBI was desired. This is incorrect since it is perfectly valid to select sliced VBI with a service_set of 0. Instead the driver should check on VIDIOC_S_FMT whether the type field matches the raw or sliced VBI type. Updated the cx18 driver accordingly, including an additional check in cx18_start_v4l2_encode_stream() that didn't exist in ivtv. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit abb096de82f6f920a06ca935f76925261e66b556 Author: Andy Walls Date: Fri Dec 12 15:50:27 2008 -0300 V4L/DVB (9804): cx18: Avoid making firmware API calls with the queue lock held cx18: Avoid making firmware API calls with the queue lock held. The source of MPEG strem corruption when not holding the queue lock was found to be that the MPEG buffer could be retrieved by the user app before it was sync'ed for the host cpu. Incoming buffers are now sync'ed before being put on q_full and releasing the queue lock. We can thus avoid the sometimes lengthy call to the firmware for CPU_DE_SET_MDL while holding the queue lock, so we can get better performance. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 765f6f612ef69ada79f7ec2627dcbc49276bf7b5 Author: Andy Walls Date: Mon Dec 8 23:14:46 2008 -0300 V4L/DVB (9803): cx18: Increment version number due to siginificant buffering changes cx18: Increment version number due to siginificant buffering changes. Now version 1.0.4 Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 6ecd86dcc838fa446ec86334a9fe0c1e415e3514 Author: Andy Walls Date: Sun Dec 7 23:30:17 2008 -0300 V4L/DVB (9802): cx18: Add module parameters for finer control over buffer allocations cx18: Add module parameters for finer control over buffer allocations. User now has the option of setting smaller buffers to get lower latency transfers from the encoder. User can also now set the number of buffers used for a stream explicitly. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 66c2a6b0bc0b394d215768610d96f44cf97052ac Author: Andy Walls Date: Mon Dec 8 23:02:45 2008 -0300 V4L/DVB (9801): cx18: Allow more than 63 capture buffers in rotation per stream cx18: Allow more than 63 capture buffers in rotation per stream. Implement q_busy to hold buffers the firmware has for use. q_free holds truly unused buffers in a pool. New buffers are given to the firmware as soon as the firmware returns one, if there are any to give to the firmware. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit b80e1074c734416987486b7b76b6479faa73f1e2 Author: Andy Walls Date: Fri Nov 28 00:04:21 2008 -0300 V4L/DVB (9800): cx18: Eliminate q_io from stream buffer handling Eliminate q_io from stream buffer handling in anticipation of upcoming changes in buffer handling. q_io was a holdover from ivtv and it's function in cx18 was trivial and not necessary. We just push things back onto the front of q_full now, instead of maintaining a 1 buffer q_io queue. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit be2c6db122467c6b6b55d93dd08d89cb2ee7821c Author: Mauro Carvalho Chehab Date: Tue Dec 9 15:43:10 2008 -0300 V4L/DVB (9799): em28xx: fix Kworld Hybrid 330 (A316) support Signed-off-by: Mauro Carvalho Chehab commit a5525685eeaec8e720323180530181ffe69a24f5 Author: Hermann Pitton Date: Fri Dec 5 19:49:34 2008 -0300 V4L/DVB (9798): saa7134: add analog and DVB-T support for Medion/Creatix CTX946 How to enable the mpeg encoder is not found yet. The card comes up with gpio 0x0820000 for DVB-T. Signed-off-by: Hermann Pitton Signed-off-by: Mauro Carvalho Chehab commit ea023df5f8a6f2f788247a4d8a7d5483c0d9266b Author: Igor M. Liplianin Date: Thu Dec 4 12:49:23 2008 -0300 V4L/DVB (9797): Fix stv0299 support in dw2102 USB DVB-S/S2 driver register 0x00 contains 0xa1 for STV0299 and STV0299B register 0x00 might contain 0x80 when returning from standby Signed-off-by: Igor M. Liplianin Acked-by: Sergey Silkin Signed-off-by: Mauro Carvalho Chehab commit a8782f669c35df585749caadfbae6456d9e3ac98 Author: Julia Lawall Date: Tue Dec 2 19:34:52 2008 -0300 V4L/DVB (9796): drivers/media/video/cx88/cx88-alsa.c: Adjust error-handling code In the function cx88_audio_initdev, the value card has been created using snd_card_new. The other error handling code in this function frees the value using snd_card_free. I have thus changed the first error case to do the same. On the other hand, it may be that card is not sufficiently initialized at this point to use snd_card_free, in which case something else should be done to free the memory in the error case. In the function snd_cx88_create the call kfree(chip) in one error case looks suspicious, both because it is not done in the other error code, and because chip points into the middle of the memory allocated by snd_card_new, ie it is not itself associated with a separate kmalloc. Therefore I have removed it. The semantic match that finds the first problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; statement S,S1; position p1,p2,p3; expression E,E1; type T,T1; expression *ptr != NULL; @@ ( if ((x@p1 = snd_card_new(...)) == NULL) S | x@p1 = snd_card_new(...); ) ... when != snd_card_free(...,(T)x,...) when != if (...) { <+... snd_card_free(...,(T)x,...) ...+> } when != true x == NULL || ... when != x = E when != E = (T)x when any ( if (x == NULL || ...) S1 | if@p2 (...) { ... when != snd_card_free(...,(T1)x,...) when != if (...) { <+... snd_card_free(...,(T1)x,...) ...+> } when != x = E1 when != E1 = (T1)x ( return \(0\|<+...x...+>\|ptr\); | return@p3 ...; ) } ) @ script:python @ p1 << r.p1; p3 << r.p3; @@ print "* file: %s snd_card_new: %s return: %s" % (p1[0].file,p1[0].line,p3[0].line) // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 9bb1b7e879091f09fc677dca10c5e132b68a9da3 Author: Igor M. Liplianin Date: Sun Nov 23 14:11:16 2008 -0300 V4L/DVB (9795): Add Compro VideoMate E650F (DVB-T part only). Add Compro VideoMate E650F (DVB-T part only). The card based on cx23885 PCI-Express chip, xc3028 tuner and ce6353 demodulator. Cc: Steven Toth Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit f89bc32974a4376e8393001484af28d8c3350ab4 Author: Douglas Schilling Landgraf Date: Mon Dec 1 21:01:04 2008 -0300 V4L/DVB (9793): em28xx: Add specific entry for WinTV-HVR 850 Added specific entry for WinTV-HVR 850 Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 2a48fc739df213b8f98b4effd95ce5ec93bca3da Author: Robert Jarzmik Date: Mon Dec 1 09:45:35 2008 -0300 V4L/DVB (9791): pxa-camera: pixel format negotiation Use the new format-negotiation infrastructure, support all four YUV422 packed and the planar formats. The new translation structure enables to build the format list with buswidth, depth, host format and camera format checked, so that it's not done anymore on try_fmt nor set_fmt. Signed-off-by: Robert Jarzmik Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit c2786ad27104c558b92343e8816e18654aae1759 Author: Guennadi Liakhovetski Date: Mon Dec 1 09:45:27 2008 -0300 V4L/DVB (9790): soc-camera: pixel format negotiation - core support Allocate and fill a list of formats, supported by this specific camera-host combination. Use it for format enumeration. Take care to stay backwards-compatible. Camera hosts rely on sensor formats available, as well as host specific translations. We add a structure so that hosts can define a translation table and use it for format check and setup. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Robert Jarzmik Signed-off-by: Mauro Carvalho Chehab commit d2e3dce083bc96b3bfb71603eaa1726181f7184b Author: Guennadi Liakhovetski Date: Mon Dec 1 09:45:24 2008 -0300 V4L/DVB (9789): soc-camera: add a per-camera device host private data pointer This pointer will be used by pxa_camera.c to point to its pixel format data. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit d8fac217c58f0101a351b9c8c80f1665bd9efef9 Author: Guennadi Liakhovetski Date: Mon Dec 1 09:45:21 2008 -0300 V4L/DVB (9788): soc-camera: simplify naming We anyway don't follow the s_fmt_vid_cap / g_fmt_vid_cap / try_fmt_vid_cap naming, and soc-camera is so far only about video capture, let's simplify operation names a bit further. set_fmt_cap / try_fmt_cap wasn't a very good choice too. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 25c4d74ea6f07f2aaa3df537619680ba967043f5 Author: Guennadi Liakhovetski Date: Mon Dec 1 09:44:59 2008 -0300 V4L/DVB (9787): soc-camera: let camera host drivers decide upon pixel format Pixel format requested by the user is not necessarily the same, as what a sensor driver provides. There are situations, when a camera host driver provides the required format, but requires a different format from the sensor. Further, the list of formats, supported by sensors is pretty static and can be pretty good described with a constant list of structures. Whereas decisions, made by camera host drivers to support requested formats can be quite complex, therefore it is better to let the host driver do the work. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit abe4c4710386a4859dae9193bfc9a1f0e3c60db4 Author: Guennadi Liakhovetski Date: Mon Dec 1 09:44:56 2008 -0300 V4L/DVB (9786): soc-camera: formatting fixes Minor formatting fixes Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit a2c8c68cca3dbb0c87f5034ab8ea29350174ec4a Author: Guennadi Liakhovetski Date: Mon Dec 1 09:44:53 2008 -0300 V4L/DVB (9785): soc-camera: merge .try_bus_param() into .try_fmt_cap() .try_bus_param() method from struct soc_camera_host_ops is only called at one location immediately before .try_fmt_cap(), there is no value in keeping these two methods separate, merge them. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit b3d7b2ad9cd7612354d921ba948ab6514699519c Author: Kuninori Morimoto Date: Mon Dec 1 09:44:51 2008 -0300 V4L/DVB (9784): Register name fix for ov772x driver Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit b90c032b0da3b8d5293676f6aabcd032a6c02bcb Author: Kuninori Morimoto Date: Mon Dec 1 09:44:48 2008 -0300 V4L/DVB (9783): Change power on/off sequence on ov772x Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit daa1c164db63540fe7a52c658ce14ae6a8d1ae53 Author: Andy Walls Date: Sun Nov 30 10:01:21 2008 -0300 V4L/DVB (9778): cx18: cx18_writel_expect() should not declare success on a PCI read error cx18: cx18_writel_expect() should not declare success on a PCI read error. This removes the potential for cx18_write*_expect() calls to not accomplish a PCI write successfully as expected. The CX18-AV core uses the *expect() calls often and this may be the source of intermittent audio problems and standands switching problems. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 572bfea71b0fb2efb36407b4e284c1e7962d4779 Author: Andy Walls Date: Tue Nov 25 21:43:05 2008 -0300 V4L/DVB (9776): cx18: Change to per CX23418 device work queues for deferrable work handling cx18: Change to per CX23418 device work queues for deferrable work handling. Needed to support 2.6.22 and earlier kernels that can't selectively cancel work orders. Also will provide slightly better performance on SMP systems. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 9af0ef27a06f3e8976b90a4ed4758e25ea0f2df5 Author: Mauro Carvalho Chehab Date: Mon Dec 8 10:36:57 2008 -0300 V4L/DVB (9775): tda8290: fix FM radio tda8290 were using some random video standard for FM. This results on random errors. Instead, program tda8290 in expert mode, using a configuration near the one specified on NXP datasheet for tda8295 (available on their site). Also, properly display that the device is on radio mode. Signed-off-by: Mauro Carvalho Chehab commit 92d90f1a57dcb6c6ab5a7b9ad949bdb7531931a4 Author: Mauro Carvalho Chehab Date: Mon Dec 8 00:49:33 2008 -0300 V4L/DVB (9774): tda827x: fix returned frequency Probably due to a removed code, tda827x were doing some wrong calculus at the returned frequency. I suspect that the original idea were to return the programmed divisor converted into frequency again. However, the current code is sometimes multiplying the programmed frequency by 62500, and, on other cases, like radio, it dividing it by 1000. Instead of doing such math, let's just store the frequency value as requested by the caller module. Cc: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit e5218eedaef39ed5f1ebc84ab9510dd9b99acadf Author: Mauro Carvalho Chehab Date: Sun Dec 7 23:01:57 2008 -0300 V4L/DVB (9773): tda827x: fix printk message when in FM mode Cc: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 26d5f3a3fe917232cb77e2e3450f7d7f8698259c Author: Mauro Carvalho Chehab Date: Sun Dec 7 13:19:29 2008 -0300 V4L/DVB (9772): saa7134: Add support for Kworld Plus TV Analog Lite PCI Thanks to Sistema Fenix (http://www.sistemafenix.com.br/) for sponsoring this development. Signed-off-by: Gilberto Signed-off-by: Mauro Carvalho Chehab commit 10f201af1bedd39a88913f472b33698c4a3b0680 Author: Mauro Carvalho Chehab Date: Fri Dec 5 10:49:53 2008 -0300 V4L/DVB (9771): tuner-xc2028: fix a small warning /home/mauro/v4l-dvb/v4l/tuner-xc2028.c: In function 'xc2028_sleep': /home/mauro/v4l-dvb/v4l/tuner-xc2028.c:1111: warning: 'return' with no value, in function returning non-void Signed-off-by: Mauro Carvalho Chehab commit eb6c96345d07c7c3978e77d3ad0b5c5b9e5b2faa Author: Mauro Carvalho Chehab Date: Fri Dec 5 10:39:12 2008 -0300 V4L/DVB (9770): em28xx: turn off tuner when not used em28xx devices generally get hot when xc3028 tuner is powered on. This patch solves this by turning power off when the device is not used, at the expense of having a higher load time, when calling a TV application. Since firmware load happens on 1 or 2 seconds on most devices, this is not a pain. Also, it helps to save the planet by saving some power :) Signed-off-by: Mauro Carvalho Chehab commit 74a89b2ae352aca1d76789365e9f49964f2677e4 Author: Mauro Carvalho Chehab Date: Fri Dec 5 10:31:16 2008 -0300 V4L/DVB (9769): tuner-xc2028: powers device of when not used Since the firmware load is now fast on most boards, better to keep the tuner off by default. A modprobe parameter were added to keep the old behavior, to be used by old devices. Signed-off-by: Mauro Carvalho Chehab commit 9e5d6760c28409dd4ebd1cbafee77e5f58d6d574 Author: Mauro Carvalho Chehab Date: Wed Nov 26 09:58:48 2008 -0300 V4L/DVB (9756): em28xx: Improve register log format Change log format to look more like URB transactions. In fact, setup and IN/OUT transactions are merged. This helps to debug the driver. Signed-off-by: Mauro Carvalho Chehab commit dff65740e0c3a18cf56b2e3cbeebd9e9cfa7ac0d Author: Michael Krufky Date: Sat Nov 22 14:33:00 2008 -0300 V4L/DVB (9737): sms1xxx: enable LNA control on Hauppauge WinTV MiniCard Power the LNA while the frontend is in use. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ec984f437842426622fb54b56bbcc416183eefe6 Author: Andy Walls Date: Sun Nov 23 16:27:57 2008 -0300 V4L/DVB (9730): cx18: Quiet a sometimes common warning that often has benign consequences cx18: Quiet a sometimes common warning that often has benign consequences. No one probably cares that the firmware took forever to ack our command, as they always seem to succeed whether or not the firmware acks it in a reasonable amount of time. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 20543ec414dee5e9d5e7a82f678fa2c0b21c5bdb Author: Andy Walls Date: Sat Nov 22 01:40:11 2008 -0300 V4L/DVB (9729): cx18: Update version due to significant irq handling changes Update the version number due to significant changes in the way the mailboxes and interrupts are handled. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 1ed9dcc8ef61c35a620fecc039c01f2c50dceb80 Author: Andy Walls Date: Sat Nov 22 01:37:34 2008 -0300 V4L/DVB (9728): cx18: Copyright attribution update for files modified by awalls Add copyright attribution for files modified by awalls in 2008 Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 2bb49f1b9f6a4f50222bc8a6b1e9df87a432c52c Author: Andy Walls Date: Sat Nov 22 01:23:22 2008 -0300 V4L/DVB (9727): cx18: Adjust outgoing mailbox timeouts and remove statistics logging cx18: Adjust outgoing mailbox timeouts and remove statistics logging. This saves some wasted storage in struct cx18 for each card. Cutting the outgoing mailbox timeouts in half from the previous value appears to be safe with MythTV. Got rid of interrupted case code path after a wait uninterruptable returns. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit bca11a5721917d6d5874571813673a2669ffec4b Author: Andy Walls Date: Wed Nov 19 01:24:33 2008 -0300 V4L/DVB (9726): cx18: Restore buffers that have fallen out of the transfer rotation Restore buffers that have fallen out of the transfer rotation, and check for coherent mailbox data when processing a stale mailbox. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit d6c7e5f8faad080e75bace5c4f2265e3513e3510 Author: Andy Walls Date: Mon Nov 17 22:48:46 2008 -0300 V4L/DVB (9725): cx18: Remove unnecessary MMIO accesses in time critical irq handling path Remove unnecessary MMIO accesses in time critical irq handling path. Also ensured that the mailbox ack field is read in last, so we know for sure if we have a stale mailbox or not on receipt. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 3f75c6161f28e6a17c547daf552c1127c805c5e7 Author: Andy Walls Date: Sun Nov 16 23:33:41 2008 -0300 V4L/DVB (9724): cx18: Streamline cx18-io[ch] wrappers and enforce MMIO retry strategy cx18: Streamline cx18-io[ch] wrappers and enforce MMIO retry strategy so that write retries always occur and read retries never occur (as they never help). Remove MMIO statistics logging to speed up MMIO accesses. Deprecate & ignore retry_mmio and mmio_ndelay module parameters, to essentially force retry_mmio=1 and mmio_ndelay=0. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 72a4f8081af1c53a1673c173ce0fdd85c4b7d403 Author: Andy Walls Date: Sun Nov 16 21:18:00 2008 -0300 V4L/DVB (9723): cx18: Propagate staleness of mailbox and mdl ack data to work handler cx18: Propagate staleness of mailbox and mdl ack data to work handler to let the work handler know that the data from the encoder may not be coherent. Allows for smarter handling of buffers in future, to deal with MDLs that fall out of rotation due to irq handler being late in collecting mailbox and mdl ack info. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit f576ceefb481e5617ecfb77e3a05b3d26dbf2f92 Author: Andy Walls Date: Sun Nov 16 20:18:05 2008 -0300 V4L/DVB (9722): cx18: Convert per stream queue spinlocks into mutexes Convert the per stream queue spinlocks into mutexes. All queue manipulation happens via the work queue or system calls into the driver, and not in an interrupt context. This reduces the amout of time the cx18 driver keeps interrupts disabled. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 18b5dc2ed7f0ede825dd1f93fefc7a61aba866e3 Author: Andy Walls Date: Sun Nov 16 17:15:01 2008 -0300 V4L/DVB (9721): cx18: Change to singlethreaded global work queue thread for deferable work Change to singlethreaded global work queue thread for deferable work, instead of the kernel default multithreaded work queue. This ensures execution of deferable work is always in the proper order, so caputred buffers don't get reordered. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit ee2d64f5ccc71b5c5191e92ea91a12b65f9ca060 Author: Andy Walls Date: Sun Nov 16 01:38:19 2008 -0300 V4L/DVB (9720): cx18: Major rewrite of interrupt handling for incoming mailbox processing A major rewrite of interrupt handling for incoming mailbox processing, to split the timing critical steps from the the deferrable steps as the sending XPU on the CX23418 will time out and overwrite our incoming mailboxes rather quickly. Setup a pool of work "order forms" for the irq handler to send jobs to the new work handler routine which uses the kernel default work queue to do the deferrable work. Started optimizing some of the cx18-io calls as they are now the low hanging fruit for recoving microseconds back from the timeline. Future optimizations will get rid of mmio read retries, mmio stats logging, and combine smaller functions in the irq path into the larger ones to save ~2 us each. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit ba38ee8ebe4a42ce2213802152b0b86a95dc109f Author: Jean-Francois Moine Date: Sat Nov 22 04:27:34 2008 -0300 V4L/DVB (9710): gspca: Remove some unuseful core in main. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 181b704fd3e32cdf779bc4d5b99d43a4b2c25985 Author: Hans de Goede Date: Wed Nov 19 17:16:26 2008 -0300 V4L/DVB (9707): gspca: Remove the event counter and simplify the frame wait. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 3480130a502a528373f98fb852d2b3fc5f73e58b Author: Alexey Klimov Date: Wed Nov 19 00:36:29 2008 -0300 V4L/DVB (9655): radio-mr800: fix unplug This patch fixes problems(kernel oopses) with unplug of device while it's working. Patch adds disconnect_lock mutex, changes usb_amradio_close and usb_amradio_disconnect functions and adds a lot of safety checks. Signed-off-by: Alexey Klimov Signed-off-by: Mauro Carvalho Chehab commit c7abfb47c9e19d63ce6f757afcb392c69ce09765 Author: Andy Walls Date: Sun Nov 9 19:51:44 2008 -0300 V4L/DVB (9599): cx18: Fix unitialized variable problem upon APU firmware file read failure If APU firmware file read failed, the jump vector to the APU was undefined and the APU would be started executing garbage. Fix uninitialized variable to be an infinite loop for the APU, but also bail out before even starting the APU. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit d20ceecd0c5370cfe6b6eee2f63fecb65222c747 Author: Andy Walls Date: Sun Nov 9 18:14:07 2008 -0300 V4L/DVB (9598): cx18: Prevent CX23418 from clearing it's outgoing ack interrupts to driver When the CX23418 CPU unit sent out an ack interrupt to the linux driver, it also received that interrupt and cleared the flag before the linux driver could see what the interrupt was for. This fix prevents the CPU from receiving an IRQ for it's own outgoing ack's to the linux driver. This fix is critical now that the linux driver doesn't poll but relies on these ack interrupts. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 2d1a1b055be8598dbcc8a7b905d07bcf05eaff3a Author: Andy Walls Date: Sat Nov 8 17:14:22 2008 -0300 V4L/DVB (9597): cx18: Minor fixes to APU firmware load process Use the APU fw start address from rom file instead of a hardcoded entry vector. Fixed cx18_setup_page() calls to use the correct APU image load addresses. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 330c6ec8942765e81f237bd58020da1b161935ce Author: Andy Walls Date: Sat Nov 8 14:19:37 2008 -0300 V4L/DVB (9596): cx18: Further changes to improve mailbox protocol integrity & performnce All waits for cx18 mailbox API commands are now uninterruptable. Added code to collect mailbox ack statistics. Tweaked timeouts based on collected stats and video vertical frame and field rates. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit ac50441720332f22a9d85ac03151d6acb7bc55d6 Author: Andy Walls Date: Fri Nov 7 23:57:46 2008 -0300 V4L/DVB (9595): cx18: Improve handling of outgoing mailboxes detected to be busy cx18: Improve handling of outgoing mailboxes detected to be busy. When encountering a busy mailbox, sleep instead of polling, and wait for interrupt or timeout. If the mailbox is still busy, force it free. When sending commands, make sure we never create a situation where we mark the mailbox busy upon sending, and ensure we always have a method to cleanly recover from a busy mailbox. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit d670b6ff4ef32d3a0804ec26ad53a2a7712cec98 Author: Andy Walls Date: Thu Nov 6 01:33:27 2008 -0300 V4L/DVB (9594): cx18: Roll driver version number due to significant changes Driver interrupt and mailbox handling has change significantly. Time for a roll to v1.0.2. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 72c2d6d3ac91d1b9efb482ff4a8dd68e3d867965 Author: Andy Walls Date: Thu Nov 6 01:15:41 2008 -0300 V4L/DVB (9593): cx18: Add outgoing mailbox mutexes and check for ack via waitq vs poll Add mutexes to ensure exclusive access for outgoing driver to CX23418 mailboxes. Also wait on a waitq for mailbox acknowledgement from the CX23418 instead of polling. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit f68d0cf56761128e85ebc98d8de4776b89c30279 Author: Andy Walls Date: Wed Nov 5 21:19:15 2008 -0300 V4L/DVB (9592): cx18: Use default kernel work queue; fix streaming flag for work handler cx18: Use default kernel work queue; fix streaming flag for work handler. Eliminate cx18 specific work queue and use the kernel default work queue. Fixed the F_STREAMING_FLAG for the TS stream so cx18_dvb_work_handler() can know when it is not safe to send MDLs to the firmware. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 13563f44a27a07dfade36662903037edbf8a6e01 Author: Jean-Francois Moine Date: Thu Nov 6 15:35:21 2008 -0300 V4L/DVB (9558): gspca: Add the light frequency control for the sensor HV7131B in zc3xx Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit f7823f8f437fbbd41155f2312ef17e471199b706 Author: Andy Walls Date: Sun Nov 2 18:15:28 2008 -0300 V4L/DVB (9513): cx18: Reduce number of mmio read retries cx18: Reduce number of mmio read retries to improve performance. Experiments have shown 2 things: read retries never improve the result of a suspect mmio read from the CX23418 (the result stays all 0xff's), and that most of the suspected read failures are actually proper reads of values that should be all 0xff's. This change reduces the number of read retries and keeps the count separate from write retries. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit f2e52cd17622eed39576f113b77bbd18c577e308 Author: Manu Abraham Date: Mon Nov 19 16:44:47 2007 -0300 V4L/DVB (9442): Revert back previous change to 90MHz Note: * At High Symbol Rates we do not have enouph machine cycles to handle the incoming symbols and hence might run into problems at the very end of the specified definition * Most of the equations have been calculated for a master clock of 99 MHz, running at 90MHz, raises lot of issues such as the need to recalculate all of them , which is eventually very painful. Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 07b9bf7de5d91594eb79bcd43129fe5df94bdd28 Author: Manu Abraham Date: Tue Oct 30 09:31:13 2007 -0300 V4L/DVB (9431): Bug ID #19: Diseqc works properly at 90MHz only on Cut 1.1 and 2.0 Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 697be0679ef71e5701c7ab2055ed8e76cc44583d Author: Manu Abraham Date: Thu Oct 18 06:25:51 2007 -0300 V4L/DVB (9425): Initialize at 90MHz itself Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 2c4ab6243f91cda62f22af2eb8a6c07590de37b1 Author: Roland Dreier Date: Mon Dec 29 23:37:14 2008 -0800 RDMA/addr: Fix build breakage when IPv6 is disabled Commit 38617c64 ("RDMA/addr: Add support for translating IPv6 addresses") broke the build when CONFIG_IPV6=n, because the ib_addr module unconditionally attempted to call ipv6_chk_addr() and other IPv6 functions that are not defined when IPv6 is disabled. Fix this by only building IPv6 support if CONFIG_IPV6 is turned on, and add a Kconfig dependency to prevent the ib_addr code from being built in when IPv6 is built modular. Signed-off-by: Roland Dreier commit eb4dea5853046727bfbb579f0c9a8cae7369f7c6 Author: Herbert Xu Date: Mon Dec 29 23:04:08 2008 -0800 net: Fix percpu counters deadlock When we converted the protocol atomic counters such as the orphan count and the total socket count deadlocks were introduced due to the mismatch in BH status of the spots that used the percpu counter operations. Based on the diagnosis and patch by Peter Zijlstra, this patch fixes these issues by disabling BH where we may be in process context. Reported-by: Jeff Kirsher Tested-by: Ingo Molnar Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 0f23174aa8c1aa7a2a6050a72a60d290ef9ee578 Author: Rusty Russell Date: Mon Dec 29 12:23:42 2008 +0000 cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits: net In future all cpumask ops will only be valid (in general) for bit numbers < nr_cpu_ids. So use that instead of NR_CPUS in iterators and other comparisons. This is always safe: no cpu number can be >= nr_cpu_ids, and nr_cpu_ids is initialized to NR_CPUS at boot. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Acked-by: Ingo Molnar Signed-off-by: David S. Miller commit c62e9d56ea90ef94f9708ce3f11860c20fa5e135 Author: Jaswinder Singh Rajput Date: Mon Dec 29 22:12:50 2008 +0530 x86: bios_uv.c: uv_systab should be static Impact: cleanup, reduce kernel size a bit, avoid sparse warning Fixes sparse warning: arch/x86/kernel/bios_uv.c:28:18: warning: symbol 'uv_systab' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Signed-off-by: H. Peter Anvin commit 4d08d97f5262dab4482af5bc91b30af4ca02269e Author: Jaswinder Singh Rajput Date: Mon Dec 29 22:11:40 2008 +0530 x86: genx2apic_phys.c: x2apic_send_IPI_self and init_x2apic_ldr should be static Impact: cleanup, reduce kernel size a bit, avoid sparse warnings Fixes sparse warnings: arch/x86/kernel/genx2apic_phys.c:164:6: warning: symbol 'x2apic_send_IPI_self' was not declared. Should it be static? arch/x86/kernel/genx2apic_phys.c:169:6: warning: symbol 'init_x2apic_ldr' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Signed-off-by: H. Peter Anvin commit 557f687c87ddb8adb094b2dad4e1c83c7717982d Author: Jaswinder Singh Rajput Date: Mon Dec 29 21:45:22 2008 +0530 x86: amd_iommu.c: prealloc_protection_domains should be static Impact: cleanup, reduce kernel size a bit, avoid sparse warning Fixes sparse warning: arch/x86/kernel/amd_iommu.c:1299:6: warning: symbol 'prealloc_protection_domains' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Signed-off-by: H. Peter Anvin commit 412a1be265b894a45cebbfc2b57eb7a593bf34b2 Author: Jaswinder Singh Rajput Date: Mon Dec 29 21:44:12 2008 +0530 x86: amd_iommu_init.c: iommu_enable and iommu_enable_event_logging should be static Impact: cleanup, reduce kernel size a bit, avoid sparse warning Fixes sparse warning: arch/x86/kernel/amd_iommu_init.c:246:13: warning: symbol 'iommu_enable' was not declared. Should it be static? arch/x86/kernel/amd_iommu_init.c:259:13: warning: symbol 'iommu_enable_event_logging' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Signed-off-by: H. Peter Anvin commit f201a8a4511a4c9953189924df3c880207194b41 Author: Julia Lawall Date: Mon Dec 29 00:21:07 2008 +0000 drivers/net/usb: use USB API functions rather than constants This set of patches introduces calls to the following set of functions: usb_endpoint_dir_in(epd) usb_endpoint_dir_out(epd) usb_endpoint_is_bulk_in(epd) usb_endpoint_is_bulk_out(epd) usb_endpoint_is_int_in(epd) usb_endpoint_is_int_out(epd) usb_endpoint_num(epd) usb_endpoint_type(epd) usb_endpoint_xfer_bulk(epd) usb_endpoint_xfer_control(epd) usb_endpoint_xfer_int(epd) usb_endpoint_xfer_isoc(epd) In some cases, introducing one of these functions is not possible, and it just replaces an explicit integer value by one of the following constants: USB_ENDPOINT_XFER_BULK USB_ENDPOINT_XFER_CONTROL USB_ENDPOINT_XFER_INT USB_ENDPOINT_XFER_ISOC In drivers/net/wireless/zd1211rw/zd_usb.c the code: (endpoint->bEndpointAddress & USB_TYPE_MASK) == USB_DIR_OUT is suspicious. If it is intended to use USB_ENDPOINT_DIR_MASK rather than USB_TYPE_MASK, then the whole conditional test could be converted to a call to usb_endpoint_is_bulk_in. An extract of the semantic patch that makes these changes is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r1@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bmAttributes & \(USB_ENDPOINT_XFERTYPE_MASK\|3\)) == - \(USB_ENDPOINT_XFER_CONTROL\|0\)) + usb_endpoint_xfer_control(epd) @r5@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bEndpointAddress & \(USB_ENDPOINT_DIR_MASK\|0x80\)) == - \(USB_DIR_IN\|0x80\)) + usb_endpoint_dir_in(epd) @inc@ @@ #include @depends on !inc && (r1||r5)@ @@ + #include #include // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 68ce9c0e3411b430b9800015e318af9f96933aa0 Author: Li Zefan Date: Sun Dec 28 17:57:25 2008 +0000 cls_cgroup: clean up Kconfig cls_cgroup can't be compiled as a module, since it's not supported by cgroup. Signed-off-by: Li Zefan Signed-off-by: David S. Miller commit 8e8ba85417366afd2361e315c6ba5949d3eff56f Author: Li Zefan Date: Mon Dec 29 19:39:03 2008 -0800 cls_cgroup: clean up for cgroup part - It's better to use container_of() instead of casting cgroup_subsys_state * to cgroup_cls_state *. - Add helper function task_cls_state(). - Rename net_cls_state() to cgrp_cls_state(). Signed-off-by: Li Zefan Signed-off-by: David S. Miller commit 2f068bf8711c35b98bf9a0172555b8390a762fc0 Author: Li Zefan Date: Sun Dec 28 17:57:19 2008 +0000 cls_cgroup: fix an oops when removing a cgroup When removing a cgroup, an oops was triggered immediately. The cause is wrong kfree() in cgrp_destroy(). Signed-off-by: Li Zefan Signed-off-by: David S. Miller commit 684f4a4c4a69f7226d8c7559c0cdfc7bd388335a Author: Roel Kluin Date: Mon Dec 29 18:42:33 2008 -0800 EtherExpress16: fix printing timed out status in drivers/net/eexpress.c:558, function unstick_cu() while (!SCB_complete(rsst=scb_status(dev))) { ... if (...) printk(KERN_WARNING "%s: Reset timed out status %04x, retrying...\n", dev->name,rsst); } but this will become while (!((rsst = scb_status(dev) & 0x8000) != 0) ... because of the macro: #define SCB_complete(s) ((s&0x8000)!=0) so rsst can only become either 0x8000 or 0, but in the latter case the loop ends, I think the wrong timed out status is printed. This also cleans up similar macros. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 18cc42a3a17d19774b332e933cf34c71b0d3903c Author: Yevgeny Petrilin Date: Mon Dec 29 18:39:20 2008 -0800 mlx4_en: Added "set_ringparam" Ethtool interface implementation Now using Ethtool to determine ring sizes, removed the module parameters that controlled those values. Modifying ring size requires restart of the interface. Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit 2d6a7b7559b47f81c50a1df91910edefff79b9b4 Author: Yevgeny Petrilin Date: Mon Dec 29 18:38:54 2008 -0800 mlx4_en: Always allocate RX ring for each interrupt vector Removed module parameter specifying number of RX rings Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit c2b559ed8683ffb5a7bdd9e71b3803b231623c86 Author: Yevgeny Petrilin Date: Mon Dec 29 18:38:21 2008 -0800 mlx4_en: Verify number of RX rings doesn't exceed MAX_RX_RINGS Required in cases were dev->caps.num_comp_vectors > MAX_RX_RINGS. For current values this would happen on machines that have more then 16 cores. Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit 68888d105365366c5e1e0424cc939c1fc757f9c4 Author: Simon Horman Date: Mon Dec 29 18:37:36 2008 -0800 IPVS: Make "no destination available" message more consistent between schedulers Acked-by: Graeme Fowler Signed-off-by: Simon Horman Signed-off-by: David S. Miller commit c8e95c021caa9574350cea6f2b4f91e232e3f3ee Author: Huang Weiyi Date: Mon Dec 29 18:30:05 2008 -0800 net: KS8695: removed duplicated #include Removed duplicated include in drivers/net/arm/ks8695net.c. Signed-off-by: Huang Weiyi Signed-off-by: David S. Miller commit 7a0a9608e4459afdf2e4a7831c1cbeb41353adf6 Author: Kusanagi Kouichi Date: Mon Dec 29 18:23:28 2008 -0800 tun: Fix SIOCSIFHWADDR error. Set proper operations. Signed-off-by: Kusanagi Kouichi Signed-off-by: David S. Miller commit 36f8b9238373751b684650871fd161546b10116c Author: Alexey Dobriyan Date: Mon Dec 29 18:22:43 2008 -0800 smsc911x: compile fix re netif_rx signature changes Signed-off-by: Alexey Dobriyan Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 8eb79863962bbf18ebf648335e329bfd468432fa Author: Eric W. Biederman Date: Mon Dec 29 18:21:48 2008 -0800 netns: foreach_netdev_safe is insufficient in default_device_exit During network namespace teardown we either move or delete all of the network devices associated with a network namespace. In the case of veth devices deleting one will also delete it's pair device. If both devices are in the same network namespace then for_each_netdev_safe is insufficient as next may point to the second veth device we have deleted. To avoid problems I do what we do in __rtnl_kill_links and restart the scan of the device list, after we have deleted a device. Currently dev_change_netnamespace does not appear to suffer from this problem, but wireless devices are also paired and likely should be moved between network namespaces together. So I have errored on the side of caution and restart the scan of the network devices in that case as well. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 91b208c7c1db4cefa2247f8243fbda75b0472d24 Author: Rusty Russell Date: Mon Dec 29 18:20:06 2008 -0800 net: make xfrm_statistics_seq_show use generic snmp_fold_field No reason to roll our own here. Signed-off-by: Rusty Russell Signed-off-by: David S. Miller commit 2d0658d4ef92e4958172c832bd88c961840e599e Author: Kamalesh Babulal Date: Mon Dec 29 18:18:24 2008 -0800 net: Fix more NAPI interface netdev argument drop fallout. I hit similar build failure due to the change in the netif_rx_reschedule() drivers/net/ehea/ehea_main.c: In function 'ehea_poll': drivers/net/ehea/ehea_main.c:844: warning: passing argument 1 of 'netif_rx_reschedule' from incompatible pointer type drivers/net/ehea/ehea_main.c:844: error: too many arguments to function 'netif_rx_reschedule' make[3]: *** [drivers/net/ehea/ehea_main.o] Error 1 greping through the sources for the changes missed out, we have ./drivers/net/arm/ixp4xx_eth.c:507: netif_rx_reschedule(dev, napi)) { ./drivers/net/arm/ep93xx_eth.c:310: if (more && netif_rx_reschedule(dev, napi)) ./drivers/net/wan/ixp4xx_hss.c:657: netif_rx_reschedule(dev, napi)) { Signed-off-by: Kamalesh Babulal Acked-by: Neil Horman Signed-off-by: David S. Miller commit bda53cd510b6777ced652ba279020bb7b414b744 Author: Mark McLoughlin Date: Wed Dec 10 17:45:39 2008 +0000 lguest: struct device - replace bus_id with dev_name() bus_id is gradually being removed, so use dev_name() instead. Signed-off-by: Mark McLoughlin Cc: Kay Sievers Cc: Greg Kroah-Hartman Signed-off-by: Rusty Russell commit 58a24566449892dda409b9ad92c2e56c76c5670c Author: Matias Zabaljauregui Date: Mon Sep 29 01:40:07 2008 -0300 lguest: move the initial guest page table creation code to the host This patch moves the initial guest page table creation code to the host, so the launcher keeps working with PAE enabled configs. Signed-off-by: Matias Zabaljauregui Signed-off-by: Rusty Russell commit be3c5832d51174ef7f21cefd6ad612dabdcb62fd Author: Christian Borntraeger Date: Tue Nov 18 22:44:13 2008 +0100 kvm-s390: implement config_changed for virtio on s390 This patch implements config_changed for the s390 virtio transport. We use the least significant bit of the interrupt parameter field to decide, if this interrupt should call the virtio virtqueue callback or the config_changed callback. This method is compatible with old host and guest code. Old 64 bit guests will not check the bit and trigger a harmless additional vring_interrupt call. Old host code will never set this bit, this is also safe. This patch also takes care of a potential future 31 bit virtio transport for s390. On 31 bit _LC_PFAULT_INTPARM and __LC_EXT_PARAMS are identical. We exploit the alignment of the token and fold the change bit into the lsb of the token itself. Signed-off-by: Christian Borntraeger Signed-off-by: Rusty Russell commit c29834584ea4eafccf2f62a0b8a32e64f792044c Author: Christian Borntraeger Date: Tue Nov 25 13:36:26 2008 +0100 virtio_console: support console resizing this patch uses the new hvc callback hvc_resize to set the window size which allows to change the tty size of hvc_console via a hvc_resize function. I have added a new feature bit VIRTIO_CONSOLE_F_SIZE. The driver will change the window size on tty open and via the config_changed callback of the transport. Currently lguest and kvm_s390 have not implemented this callback, but the callback can be implemented at a later point in time. Signed-off-by: Christian Borntraeger Signed-off-by: Rusty Russell commit 29f9f12ec737af62835124e4a8bdb9de631f04dd Author: Mark McLoughlin Date: Wed Dec 10 17:45:34 2008 +0000 virtio: add PCI device release() function Add a release() function for virtio_pci devices so as to avoid: Device 'virtio0' does not have a release() function, it is broken and must be fixed Move the code to free the resources associated with the device from virtio_pci_remove() into this new function. virtio_pci_remove() now merely unregisters the device which should cause the final ref to be dropped and virtio_pci_release_dev() to be called. Signed-off-by: Mark McLoughlin Reported-by: Michael Tokarev Cc: Anthony Liguori Signed-off-by: Rusty Russell commit b194aee95622f649311f8e53418a17e210ff6827 Author: Randy Dunlap Date: Wed Nov 26 13:15:50 2008 -0800 virtio_blk: fix type warning Fix parameter type warning: linux-next-20081126/drivers/block/virtio_blk.c:307: warning: large integer implicitly truncated to unsigned type Signed-off-by: Randy Dunlap cc: Rusty Russell Signed-off-by: Rusty Russell commit 0864b79a153342c1dfbebb12b2d099fec76c5e18 Author: Rusty Russell Date: Tue Dec 30 09:26:05 2008 -0600 virtio: block: dynamic maximum segments Enhance the driver to handle whatever maximum segment number the host tells us to handle. Do to this, we need to allocate the scatterlist dynamically. We set max_phys_segments and max_hw_segments to the same value (1 if the host doesn't tell us, since that's safest and all known hosts do tell us). Note that kmalloc'ing the structure for large sg_elems might be problematic: the fix for this is sg_table, but that requires more work. Signed-off-by: Rusty Russell commit 4b7f7e2049956f6e946ad56c1ee093e7bab74da9 Author: Rusty Russell Date: Tue Dec 30 09:26:04 2008 -0600 virtio: set max_segment_size and max_sectors to infinite. Setting max_segment_size allows more than 64k per sg element, unless the host specified a limit. Setting max_sectors indicates that our max_hw_segments is the only limit. Signed-off-by: Rusty Russell commit 1b4aa2faeca1b9922033daf2475b6fc13b0ffea6 Author: Hollis Blanchard Date: Thu Nov 13 15:48:33 2008 -0600 virtio: avoid implicit use of Linux page size in balloon interface Make the balloon interface always use 4K pages, and convert Linux pfns if necessary. This patch assumes that Linux's PAGE_SHIFT will never be less than 12. Signed-off-by: Hollis Blanchard Signed-off-by: Rusty Russell (modified) commit 87c7d57c17ade5024d95b6ca0da249da49b0672a Author: Rusty Russell Date: Tue Dec 30 09:26:03 2008 -0600 virtio: hand virtio ring alignment as argument to vring_new_virtqueue This allows each virtio user to hand in the alignment appropriate to their virtio_ring structures. Signed-off-by: Rusty Russell Acked-by: Christian Borntraeger commit db40598863e8cbbd11053ad3c8bae89000f603f9 Author: Rusty Russell Date: Tue Dec 30 09:26:02 2008 -0600 virtio: use KVM_S390_VIRTIO_RING_ALIGN instead of relying on pagesize This doesn't really matter, since s390 pagesize is 4k anyway. Signed-off-by: Rusty Russell Acked-by: Christian Borntraeger commit 2966af73e70dee461c256b5eb877b2ff757f8c82 Author: Rusty Russell Date: Tue Dec 30 09:25:58 2008 -0600 virtio: use LGUEST_VRING_ALIGN instead of relying on pagesize This doesn't really matter, since lguest is i386 only at the moment, but we could actually choose a different value. (lguest doesn't have a guarenteed ABI). Signed-off-by: Rusty Russell commit 498af14783935af487d17dbee4ac451783cbc2b7 Author: Rusty Russell Date: Tue Dec 30 09:25:57 2008 -0600 virtio: Don't use PAGE_SIZE for vring alignment in virtio_pci. That doesn't work for non-4k guests which are now appearing. Signed-off-by: Rusty Russell commit 5f0d1d7f2286c8a02dab69f5f0bd51681fab161e Author: Rusty Russell Date: Tue Dec 30 09:25:57 2008 -0600 virtio: rename 'pagesize' arg to vring_init/vring_size It's really the alignment desired for consumer/producer separation; historically this x86 pagesize, but with PowerPC it'll still be x86 pagesize. And in theory lguest could choose a different value. Signed-off-by: Rusty Russell commit 480daab42c4dd74b3c07031ddf9031251c530c77 Author: Rusty Russell Date: Tue Dec 30 09:25:56 2008 -0600 virtio: Don't use PAGE_SIZE in virtio_pci.c The virtio PCI devices don't depend on the guest page size. This matters now PowerPC virtio is gaining ground (they like 64k pages). Signed-off-by: Rusty Russell commit 99e0b6c8e3f30602383bcfe3f574537a02ee2bea Author: Kay Sievers Date: Tue Dec 30 09:25:56 2008 -0600 virtio: struct device - replace bus_id with dev_name(), dev_set_name() This patch is part of a larger patch series which will remove the "char bus_id[20]" name string from struct device. The device name is managed in the kobject anyway, and without any size limitation, and just needlessly copied into "struct device". To set and read the device name dev_name(dev) and dev_set_name(dev) must be used. If your code uses static kobjects, which it shouldn't do, "const char *init_name" can be used to statically provide the name the registered device should have. At registration time, the init_name field is cleared, to enforce the use of dev_name(dev) to access the device name at a later time. We need to get rid of all occurrences of bus_id in the entire tree to be able to enable the new interface. Please apply this patch, and possibly convert any remaining remaining occurrences of bus_id. We want to submit a patch to -next, which will remove bus_id from "struct device", to find the remaining pieces to convert, and finally switch over to the new api, which will remove the 20 bytes array and does no longer have a size limitation. Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers Signed-off-by: Rusty Russell commit 13b1eb333beed018140be3d0b77bf34000125a34 Author: Hollis Blanchard Date: Tue Dec 2 16:24:40 2008 -0600 virtio-pci queue allocation not page-aligned kzalloc() does not guarantee page alignment, and in fact this broke when I enabled CONFIG_SLUB_DEBUG_ON. (Thanks to Anthony Liguori for spotting the missing kfree sub) Signed-off-by: Hollis Blanchard Signed-off-by: Rusty Russell (fixed kfree) Tested-by: Anthony Liguori commit e12f0102ac81d660c9f801d0a0e10ccf4537a9de Author: Rusty Russell Date: Tue Dec 30 09:05:19 2008 +1030 cpumask: Use nr_cpu_ids in seq_cpumask Impact: cleanup, futureproof nr_cpu_ids is the (badly named) runtime limit on possible CPU numbers; ie. the variable version of NR_CPUS. With the new cpumask operators, only bits less than this are defined. So we should use it everywhere, rather than NR_CPUS. Eventually this will make it possible to allocate cpumasks of the minimal length at runtime. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Acked-by: Ingo Molnar commit cbe31f02f5b5536f17dd978118e25052af528071 Author: Rusty Russell Date: Tue Dec 30 09:05:18 2008 +1030 cpumask: use new cpumask API in drivers/infiniband/hw/ipath Impact: cleanup We're moving from handing around cpumask_t's to handing around struct cpumask *'s. cpus_*, cpumask_t and cpu_*_map are deprecated: convert to cpumask_*, cpu_*_mask. Signed-off-by: Rusty Russell Cc: Ralph Campbell commit b29179c3d32021d79c11ece7199a1da41d31b1b7 Author: Rusty Russell Date: Tue Dec 30 09:05:18 2008 +1030 cpumask: use new cpumask API in drivers/infiniband/hw/ehca Impact: cleanup We're moving from handing around cpumask_t's to handing around struct cpumask *'s. cpus_*, cpumask_t and cpu_*_map are deprecated: convert to cpumask_*, cpu_*_mask. Signed-off-by: Rusty Russell Acked-by: Hoang-Nam Nguyen Tested-by: Hoang-Nam Nguyen Cc: Christoph Raisch commit 259c4ddd00237e5072921afa15a900839643fd98 Author: Rusty Russell Date: Tue Dec 30 09:05:17 2008 +1030 cpumask: use for_each_online_cpu() in drivers/infiniband/hw/ehca/ehca_irq.c Impact: cleanup In future, accessing cpu numbers beyond nr_cpu_ids (the runtime limit) will be undefined. We can avoid future problems by using for_each_online_cpu() here. Signed-off-by: Rusty Russell Acked-by: Hoang-Nam Nguyen Tested-by: Hoang-Nam Nguyen Cc: Christoph Raisch commit ce47d974f71af26d00832e83a43ac79bec272d99 Author: Rusty Russell Date: Tue Dec 30 09:05:17 2008 +1030 cpumask: arch_send_call_function_ipi_mask: core Impact: new API to reduce stack usage We're weaning the core code off handing cpumask's around on-stack. This introduces arch_send_call_function_ipi_mask(). Signed-off-by: Rusty Russell commit 54b11e6d57a10aa9d0009efd93873e17bffd5d30 Author: Rusty Russell Date: Tue Dec 30 09:05:16 2008 +1030 cpumask: smp_call_function_many() Impact: Implementation change to remove cpumask_t from stack. Actually change smp_call_function_mask() to smp_call_function_many(). We avoid cpumasks on the stack in this version. (S390 has its own version, but that's going away apparently). We have to do some dancing to figure out if 0 or 1 other cpus are in the mask supplied and the online mask without allocating a tmp cpumask. It's still fairly cheap