commit 2e532d68a2b3e2aa6b19731501222069735c741c Author: Linus Torvalds Date: Thu Oct 16 16:11:43 2008 -0700 {pci,pnp} quirks.c: don't use deprecated print_fn_descriptor_symbol() I dunno how this missed Bjorn and his quest to use %pF in commit c80cfb0406c01bb5da91bfe30f5cb1fd96831138 ("vsprintf: use new vsprintf symbolic function pointer format"), but it did. So use %pF in the two remaining places that still tried to print out function pointers by hand. Signed-off-by: Linus Torvalds commit 52ad096465d60ee7fdc99583f969a99a1166c7c3 Merge: 8cde1ad... 6925bac... Author: Linus Torvalds Date: Thu Oct 16 15:39:20 2008 -0700 Merge git://git.linux-nfs.org/projects/trondmy/nfs-2.6 * git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (53 commits) NFS: Fix a resolution problem with nfs_inode->cache_change_attribute NFS: Fix the resolution problem with nfs_inode_attrs_need_update() NFS: Changes to inode->i_nlinks must set the NFS_INO_INVALID_ATTR flag RPC/RDMA: ensure connection attempt is complete before signalling. RPC/RDMA: correct the reconnect timer backoff RPC/RDMA: optionally emit useful transport info upon connect/disconnect. RPC/RDMA: reformat a debug printk to keep lines together. RPC/RDMA: harden connection logic against missing/late rdma_cm upcalls. RPC/RDMA: fix connect/reconnect resource leak. RPC/RDMA: return a consistent error, when connect fails. RPC/RDMA: adhere to protocol for unpadded client trailing write chunks. RPC/RDMA: avoid an oops due to disconnect racing with async upcalls. RPC/RDMA: maintain the RPC task bytes-sent statistic. RPC/RDMA: suppress retransmit on RPC/RDMA clients. RPC/RDMA: fix connection IRD/ORD setting RPC/RDMA: support FRMR client memory registration. RPC/RDMA: check selected memory registration mode at runtime. RPC/RDMA: add data types and new FRMR memory registration enum. RPC/RDMA: refactor the inline memory registration code. NFS: fix nfs_parse_ip_address() corner case ... commit 8cde1ad6683f8738ad71f788dca8ab4810cf5afe Merge: 6bb7a93... 5b16a22... Author: Linus Torvalds Date: Thu Oct 16 15:38:48 2008 -0700 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched_clock: prevent scd->clock from moving backwards commit 6bb7a935489dab20802dde6c2cb7d8582f4849bf Merge: 08d19f5... af31ed2... Author: Linus Torvalds Date: Thu Oct 16 15:36:58 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: us122l: fix missing unlock in usb_stream_hwdep_vm_fault() ALSA: hda - Fix quirk lists for realtek codecs ALSA: hda - Add support of ALC272 ALSA: hda - Add ALC887 support ALSA: hda - Add ALC1200 support ALSA: hda - Fix PCI SSID of ASUS M90V ALSA: hda - Add auto mic switch in realtek auto-probe mode ALSA: Fix pxa2xx-ac97-lib.c compilation ALSA: ASoC: Hide TLV320AIC26 configuration option for non-OpenFirwmare users ALSA: hda: fix nid variable warning ALSA: ASoC: Fix compile-time warning for tlv320aic23.c commit 08d19f51f05a68ce89a289320ce4ed96e757df72 Merge: 1c95e1b... 2381ad2... Author: Linus Torvalds Date: Thu Oct 16 15:36:00 2008 -0700 Merge branch 'kvm-updates/2.6.28' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm * 'kvm-updates/2.6.28' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm: (134 commits) KVM: ia64: Add intel iommu support for guests. KVM: ia64: add directed mmio range support for kvm guests KVM: ia64: Make pmt table be able to hold physical mmio entries. KVM: Move irqchip_in_kernel() from ioapic.h to irq.h KVM: Separate irq ack notification out of arch/x86/kvm/irq.c KVM: Change is_mmio_pfn to kvm_is_mmio_pfn, and make it common for all archs KVM: Move device assignment logic to common code KVM: Device Assignment: Move vtd.c from arch/x86/kvm/ to virt/kvm/ KVM: VMX: enable invlpg exiting if EPT is disabled KVM: x86: Silence various LAPIC-related host kernel messages KVM: Device Assignment: Map mmio pages into VT-d page table KVM: PIC: enhance IPI avoidance KVM: MMU: add "oos_shadow" parameter to disable oos KVM: MMU: speed up mmu_unsync_walk KVM: MMU: out of sync shadow core KVM: MMU: mmu_convert_notrap helper KVM: MMU: awareness of new kvm_mmu_zap_page behaviour KVM: MMU: mmu_parent_walk KVM: x86: trap invlpg KVM: MMU: sync roots on mmu reload ... commit 1c95e1b69073cff5ff179e592fa1a1e182c78a17 Author: Linus Torvalds Date: Thu Oct 16 15:32:46 2008 -0700 Fix kernel/softirq.c printk format warning properly This fixes the broken 77af7e3403e7314c47b0c07fbc5e4ef21d939532 ("softirq, warning fix: correct a format to avoid a warning") fix correctly. The type of a pointer subtraction is not "int", nor is it "long". It can be either (or something else). It's "ptrdiff_t", and the printk format for it is "%td". Cc: Frederic Weisbecker Cc: Ingo Molnar Signed-off-by: Linus Torvalds commit e533b227055598b1f7dc8503a3b4f36b14b9da8a Merge: 0999d97... 6b2ada8... Author: Linus Torvalds Date: Thu Oct 16 15:17:40 2008 -0700 Merge branch 'core-v28-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-v28-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: do_generic_file_read: s/EINTR/EIO/ if lock_page_killable() fails softirq, warning fix: correct a format to avoid a warning softirqs, debug: preemption check x86, pci-hotplug, calgary / rio: fix EBDA ioremap() IO resources, x86: ioremap sanity check to catch mapping requests exceeding, fix IO resources, x86: ioremap sanity check to catch mapping requests exceeding the BAR sizes softlockup: Documentation/sysctl/kernel.txt: fix softlockup_thresh description dmi scan: warn about too early calls to dmi_check_system() generic: redefine resource_size_t as phys_addr_t generic: make PFN_PHYS explicitly return phys_addr_t generic: add phys_addr_t for holding physical addresses softirq: allocate less vectors IO resources: fix/remove printk printk: robustify printk, update comment printk: robustify printk, fix #2 printk: robustify printk, fix printk: robustify printk Fixed up conflicts in: arch/powerpc/include/asm/types.h arch/powerpc/platforms/Kconfig.cputype manually. commit 0999d978dcdcf59350dafa25afd70def9f924eee Merge: 70a3075... f61f1b5... Author: Linus Torvalds Date: Thu Oct 16 15:08:45 2008 -0700 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: x86: fix compat-vdso x86/mm: unify init task OOM handling x86/mm: do not trigger a kernel warning if user-space disables interrupts and generates a page fault commit 70a3075d40154053ad90d342b3dcb1b795c73dbb Author: Julia Lawall Date: Wed Oct 15 16:51:04 2008 +0100 FRV: Eliminate NULL test and memset after alloc_bootmem As noted by Akinobu Mita in patch b1fceac2b9e04d278316b2faddf276015fc06e3b, alloc_bootmem and related functions never return NULL and always return a zeroed region of memory. Thus a NULL test or memset after calls to these functions is unnecessary. arch/frv/mm/init.c | 2 -- 1 file changed, 2 deletions(-) This was fixed using the following semantic patch. (http://www.emn.fr/x-info/coccinelle/) // @@ expression E; statement S; @@ E = \(alloc_bootmem\|alloc_bootmem_low\|alloc_bootmem_pages\|alloc_bootmem_low_pages\)(...) ... when != E ( - BUG_ON (E == NULL); | - if (E == NULL) S ) @@ expression E,E1; @@ E = \(alloc_bootmem\|alloc_bootmem_low\|alloc_bootmem_pages\|alloc_bootmem_low_pages\)(...) ... when != E - memset(E,0,E1); // Signed-off-by: Julia Lawall Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit cb76d5a4c4a74f4ff0bd4db5069f02fe4679a5ed Author: Harvey Harrison Date: Wed Oct 15 16:50:59 2008 +0100 FRV: Switch unaligned access to the packed-struct implementation Switch unaligned access to the packed-struct implementation for BE accesses as this reduces the size of the kernel a little. LE still uses the byte shift. Signed-off-by: Harvey Harrison Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit c9af956cf7548bc352557eb8356913e489fd8716 Author: David Howells Date: Wed Oct 15 16:50:53 2008 +0100 FRV: Provide dma_map_page() for NOMMU and fix comments Provide dma_map_page() for the NOMMU-mode FRV arch. Also do some fixing on the comments attached to the various DMA functions for both MMU and NOMMU mode FRV code. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 9bd8f9c638c51313328d664a2f7a5e413cfd9044 Author: Bjorn Helgaas Date: Wed Oct 15 16:50:48 2008 +0100 frv: use generic pci_enable_resources() Use the generic pci_enable_resources() instead of the arch-specific code. Unlike this arch-specific code, the generic version: - checks PCI_NUM_RESOURCES (11), not 6, resources - skips resources that have neither IORESOURCE_IO nor IORESOURCE_MEM set - skips ROM resources unless IORESOURCE_ROM_ENABLE is set - checks for resource collisions with "!r->parent" Signed-off-by: Bjorn Helgaas Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 1eee21abaf54338b379b33d85b28b495292c2211 Merge: 9d85db2... be585c0... Author: Linus Torvalds Date: Thu Oct 16 15:02:24 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: firewire: Add more documentation to firewire-cdev.h firewire: fix ioctl() return code firewire: fix setting tag and sy in iso transmission firewire: fw-sbp2: fix another small generation access bug firewire: fw-sbp2: enforce s/g segment size limit firewire: fw_send_request_sync() ieee1394: survive a few seconds connection loss ieee1394: nodemgr clean up class iterators ieee1394: dv1394, video1394: remove unnecessary expressions ieee1394: raw1394: make write() thread-safe ieee1394: raw1394: narrow down the state_mutex protected region ieee1394: raw1394: replace BKL by local mutex, make ioctl() and mmap() thread-safe ieee1394: sbp2: enforce s/g segment size limit ieee1394: sbp2: check for DMA mapping failures ieee1394: sbp2: stricter dma_sync ieee1394: Use DIV_ROUND_UP commit 9d85db2244d71fa4f2f9747a090c1920f07a8b4b Author: Harvey Harrison Date: Thu Oct 16 13:40:35 2008 -0700 lib: remove defining macros for strict_strto?? Open-code them rather than using defining macros. The function bodies are now next to their kerneldoc comments as a bonus. Add casts to the signed cases as they call into the unsigned versions. Avoids the sparse warnings: lib/vsprintf.c:249:1: warning: incorrect type in argument 3 (different signedness) lib/vsprintf.c:249:1: expected unsigned long *res lib/vsprintf.c:249:1: got long *res lib/vsprintf.c:249:1: warning: incorrect type in argument 3 (different signedness) lib/vsprintf.c:249:1: expected unsigned long *res lib/vsprintf.c:249:1: got long *res lib/vsprintf.c:251:1: warning: incorrect type in argument 3 (different signedness) lib/vsprintf.c:251:1: expected unsigned long long *res lib/vsprintf.c:251:1: got long long *res lib/vsprintf.c:251:1: warning: incorrect type in argument 3 (different signedness) lib/vsprintf.c:251:1: expected unsigned long long *res lib/vsprintf.c:251:1: got long long *res Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit 22d27051b4b2a2650c54fa3f08c2c271c6234a2f Author: Harvey Harrison Date: Thu Oct 16 13:40:35 2008 -0700 lib: trivial whitespace tidy Remove extra lines before the EXPORT_SYMBOL()s Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit aa46a63efc896f0a6d54e7614e750788793582e5 Author: Harvey Harrison Date: Thu Oct 16 13:40:34 2008 -0700 lib: pull base-guessing logic to helper function The default base is 10 unless there is a leading zero, in which case the base will be guessed as 8. The base will only be guesed as 16 when the string starts with '0x' the third character is a valid hex digit. Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit 73b4a24f5ff09389ba6277c53a266b142f655ed2 Author: Adrian Bunk Date: Thu Oct 16 23:29:21 2008 +0300 init/do_mounts_md.c must #include This patch fixes the following compile error caused by commit 589f800bb12c5cd6c9167bbf9bf3cb70cd8e422c ("fastboot: make the raid autodetect code wait for all devices to init"): CC init/do_mounts_md.o init/do_mounts_md.c: In function 'autodetect_raid': init/do_mounts_md.c:285: error: implicit declaration of function 'msleep' make[2]: *** [init/do_mounts_md.o] Error 1 Signed-off-by: Adrian Bunk Signed-off-by: Linus Torvalds commit 1b821bfb034c5db5af62b463e3001243905179ba Merge: a45fbc3... 1390da4... Author: Linus Torvalds Date: Thu Oct 16 12:45:08 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: Blackfin arch: make sure cycles is marked as volatile so gcc doesnt reorder on us Blackfin arch: disable CONFIG_HW_RANDOM and CONFIG_DAB in defconfig files Blackfin arch: update cache flush prototypes with argument names to make them less mysterious Blackfin arch: move bfin_addr_dcachable() and friends into the cacheflush header where it belongs Blackfin arch: use the new bfin_addr_dcachable() function Blackfin arch: fix bug - build kernel failed at head.S when reprogram clock on all platforms Blackfin arch: unify/cleanup cache code Blackfin arch: update AD7879 platform resources in board file Blackfin arch: Zero out bss region in L1/L2 memory. Blackfin arch: add read/write IO accessor functions to Blackfin Blackfin arch: fix bug - some serial header files set RTS to an input when they should all be outputs commit a45fbc33137b11e479ea8b7d478a1d7e6488971b Merge: c813b4e... a64d2b3... Author: Linus Torvalds Date: Thu Oct 16 12:43:49 2008 -0700 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/nvidia: Support agp user-memory on nvidia agp. agp/amd-k7: Suspend support for AMD K7 GART driver agp/intel: Reduce extraneous PCI posting reads during init agp: Fix stolen memory counting on G4X. commit c813b4e16ead3c3df98ac84419d4df2adf33fe01 Merge: c8d8a23... 02683ff... Author: Linus Torvalds Date: Thu Oct 16 12:40:26 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (46 commits) UIO: Fix mapping of logical and virtual memory UIO: add automata sercos3 pci card support UIO: Change driver name of uio_pdrv UIO: Add alignment warnings for uio-mem Driver core: add bus_sort_breadthfirst() function NET: convert the phy_device file to use bus_find_device_by_name kobject: Cleanup kobject_rename and !CONFIG_SYSFS kobject: Fix kobject_rename and !CONFIG_SYSFS sysfs: Make dir and name args to sysfs_notify() const platform: add new device registration helper sysfs: use ilookup5() instead of ilookup5_nowait() PNP: create device attributes via default device attributes Driver core: make bus_find_device_by_name() more robust usb: turn dev_warn+WARN_ON combos into dev_WARN debug: use dev_WARN() rather than WARN_ON() in device_pm_add() debug: Introduce a dev_WARN() function sysfs: fix deadlock device model: Do a quickcheck for driver binding before doing an expensive check Driver core: Fix cleanup in device_create_vargs(). Driver core: Clarify device cleanup. ... commit c8d8a2321f9c4ee18fbcc399fdc2a77e580a03b9 Merge: e4856a7... 118a906... Author: Linus Torvalds Date: Thu Oct 16 12:38:34 2008 -0700 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: module: remove CONFIG_KMOD in comment after #endif remove CONFIG_KMOD from fs remove CONFIG_KMOD from drivers Manually fix conflict due to include cleanups in drivers/md/md.c commit e4856a70cfc23266631a78e78277cf2b195babee Merge: d1b5726... 0b59268... Author: Linus Torvalds Date: Thu Oct 16 12:32:52 2008 -0700 Merge branch 'personality' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'personality' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: [PATCH] remove unused ibcs2/PER_SVR4 in SET_PERSONALITY commit d1b5726358ccebcf614fc9f97cdf3354178dcb80 Merge: c472273... 656e6c0... Author: Linus Torvalds Date: Thu Oct 16 12:18:16 2008 -0700 Merge branch 'docs' of git://git.lwn.net/linux-2.6 * 'docs' of git://git.lwn.net/linux-2.6: Document panic_on_unrecovered_nmi sysctl Add a reference to paper to SubmittingPatches Add kerneldoc documentation for new printk format extensions Remove videobook.tmpl doc: Test-by? Add the development process document Documentation/block/data-integrity.txt: Fix section numbers commit c472273f863c80b87e53356256c5466df24328f0 Merge: 36ac1d2... 97ce0a7... Author: Linus Torvalds Date: Thu Oct 16 11:55:11 2008 -0700 Merge branch 'for-linus' of git://neil.brown.name/md * 'for-linus' of git://neil.brown.name/md: md: fix input truncation in safe_delay_store() md: check for memory allocation failure in faulty personality md: build failure due to missing delay.h md: Relax minimum size restrictions on chunk_size. md: remove space after function name in declaration and call. md: Remove unnecessary #includes, #defines, and function declarations. md: Convert remaining 1k representations in linear.c to sectors. md: linear.c: Make two local variables sector-based. md: linear: Represent dev_info->size and dev_info->offset in sectors. md: linear.c: Remove broken debug code. md: linear.c: Remove pointless initialization of curr_offset. md: linear.c: Fix typo in comment. md: Don't try to set an array to 'read-auto' if it is already in that state. md: Allow metadata_version to be updated for externally managed metadata. md: Fix rdev_size_store with size == 0 commit 36ac1d2f323f8bf8bc10c25b88f617657720e241 Merge: d7a6119... 4c0e799... Author: Linus Torvalds Date: Thu Oct 16 11:52:08 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (32 commits) Input: wm97xx - update email address for Liam Girdwood Input: i8042 - add Thinkpad R31 to nomux list Input: move map_to_7segment.h to include/linux Input: ads7846 - fix cache line sharing issue Input: cm109 - add missing newlines to messages Input: document i8042.debug in kernel-parameters.txt Input: keyboard - fix potential out of bound access to key_map Input: psmouse - add OLPC touchpad driver Input: psmouse - tweak PSMOUSE_DEFINE_ATTR to support raw set callbacks Input: psmouse - add psmouse_queue_work() for ps/2 extension to make use of Input: psmouse - export psmouse_set_state for ps/2 extensions to use Input: ads7846 - introduce .gpio_pendown to get pendown state Input: ALPS - add signature for DualPoint found in Dell Latitude E6500 Input: serio_raw - allow attaching to translated (SERIO_I8042XL) ports Input: cm109 - don't use obsolete logging macros Input: atkbd - expand Latitude's force release quirk to other Dells Input: bf54x-keys - add power management support Input: atmel_tsadcc - improve accuracy Input: convert drivers to use strict_strtoul() Input: appletouch - handle geyser 3/4 status bits ... commit d7a6119f457f48a94985fdbdc400cbb03e136a76 Author: Geert Uytterhoeven Date: Thu Oct 16 09:28:47 2008 +0200 rtc: rtc-ds1286 and rtc-m48t35 need With m68k allmodconfig, I get: | drivers/rtc/rtc-ds1286.c: In function 'ds1286_rtc_read': | drivers/rtc/rtc-ds1286.c:33: error: implicit declaration of function '__raw_readl' | drivers/rtc/rtc-ds1286.c: In function 'ds1286_rtc_write': | drivers/rtc/rtc-ds1286.c:38: error: implicit declaration of function '__raw_writel' | drivers/rtc/rtc-ds1286.c: In function 'ds1286_probe': | drivers/rtc/rtc-ds1286.c:345: error: implicit declaration of function 'ioremap' | drivers/rtc/rtc-ds1286.c:345: warning: assignment makes pointer from integer without a cast | drivers/rtc/rtc-ds1286.c:365: error: implicit declaration of function 'iounmap' and | drivers/rtc/rtc-m48t35.c: In function 'm48t35_read_time': | drivers/rtc/rtc-m48t35.c:59: error: implicit declaration of function 'readb' | drivers/rtc/rtc-m48t35.c:60: error: implicit declaration of function 'writeb' | drivers/rtc/rtc-m48t35.c: In function 'm48t35_probe': | drivers/rtc/rtc-m48t35.c:168: error: implicit declaration of function 'ioremap' | drivers/rtc/rtc-m48t35.c:168: warning: assignment makes pointer from integer without a cast | drivers/rtc/rtc-m48t35.c:188: error: implicit declaration of function 'iounmap' Include to get access to the I/O API. Signed-off-by: Geert Uytterhoeven Acked-by: Thomas Bogendoerfer Signed-off-by: Linus Torvalds commit 656e6c0050fd63ce42c55a6cb454a9b4b2f9ccf7 Author: Bernhard Walle Date: Tue Oct 7 13:21:56 2008 +0200 Document panic_on_unrecovered_nmi sysctl This adds "panic_on_unrecovered_nmi" sysctl to Documentation/filesystems/proc.txt. The text is mainly taken from http://readlist.com/lists/vger.kernel.org/linux-kernel/43/217998.html. Signed-off-by: Bernhard Walle Signed-off-by: Jonathan Corbet commit 65ae24b1811650f2bc5b0b85ea8b0bff6b5bf4a9 Merge: cb23832... 24c88eb... Author: Linus Torvalds Date: Thu Oct 16 11:26:53 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: HID: blacklist additional SoundGraph iMon LCD models HID: fix/improve help texts for quirk drivers HID: fix default building of HID-quirk drivers commit cb23832e3987a02428a274c8f259336f706b17e9 Merge: 8ef5090... 8fa0b31... Author: Linus Torvalds Date: Thu Oct 16 11:26:26 2008 -0700 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: (26 commits) decnet: Fix compiler warning in dn_dev.c IPV6: Fix default gateway criteria wrt. HIGH/LOW preference radv option net/802/fc.c: Fix compilation warnings netns: correct mib stats in ip6_route_me_harder() netns: fix net_generic array leak rt2x00: fix regression introduced by "mac80211: free up 2 bytes in skb->cb" rtl8187: Add USB ID for Belkin F5D7050 with RTL8187B chip p54usb: Device ID updates mac80211: fixme for kernel-doc ath9k/mac80211: disallow fragmentation in ath9k, report to userspace libertas : Remove unused variable warning for "old_channel" from cmd.c mac80211: Fix scan RX processing oops orinoco: fix unsafe locking in spectrum_cs_suspend orinoco: fix unsafe locking in orinoco_cs_resume cfg80211: fix debugfs error handling mac80211: fix debugfs netdev rename iwlwifi: fix ct kill configuration for 5350 mac80211: fix HT information element parsing p54: Fix compilation problem on PPC mac80211: fix debugfs lockup ... commit 8ef50901d3c619127858b7d7f614fcab45e09d6b Merge: 4352637... 2502991... Author: Linus Torvalds Date: Thu Oct 16 11:25:32 2008 -0700 Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (51 commits) [ARM] 5308/1: Fix Viper ISA IRQ handling [ARM] 5307/1: pxa: fix CM-X2XX PCMCIA build error [ARM] 5306/1: pxa: fix build error on CM-X270 [ARM] 5302/1: ARM: OMAP: Revert omap3 WDT changes to avoid merge conflict [ARM] 5305/1: ARM: OMAP: Fix compile of McBSP by removing unnecessary check [ARM] 5301/1: ARM: OMAP: Add missing irq defines ARM: OMAP3: Add default kernel config for OMAP LDP ARM: OMAP3: Add basic board support for OMAP LDP ARM: OMAP3: Defconfig for the Gumstix Overo board (rev 3) ARM: OMAP3: Add support for the Gumstix Overo board (rev 3) ARM: OMAP3: Add Beagle defconfig ARM: OMAP3: Add minimal Beagle board support ARM: OMAP3: Add minimal omap3430 support ARM: OMAP2: Fix sparse, checkpatch warnings in OMAP2/3 IRQ code ARM: OMAP: Fixes to omap_mcbsp_request function ARM: OMAP: Add support for OMAP2430 in McBSP ARM: OMAP: Add support for McBSP devices 3 - 5 on 34xx ARM: OMAP: Allocate McBSP devices dynamically Fix sections for omap-mcbsp platform driver [ARM] S3C24XX: Additional include moves ... commit 435263702ef0fc9ffdc6301a71c03b1d9ac0f1e0 Author: Julia Lawall Date: Wed Oct 15 22:05:23 2008 -0700 drivers/net/xen-netfront.c: Use DIV_ROUND_UP The kernel.h macro DIV_ROUND_UP performs the computation (((n) + (d) - 1) / (d)) but is perhaps more readable. An extract of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @haskernel@ @@ #include @depends on haskernel@ expression n,d; @@ ( - (n + d - 1) / d + DIV_ROUND_UP(n,d) | - (n + (d - 1)) / d + DIV_ROUND_UP(n,d) ) @depends on haskernel@ expression n,d; @@ - DIV_ROUND_UP((n),d) + DIV_ROUND_UP(n,d) @depends on haskernel@ expression n,d; @@ - DIV_ROUND_UP(n,(d)) + DIV_ROUND_UP(n,d) // Signed-off-by: Julia Lawall Acked-by: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b252c541158cfed9d7e5b019b894fe2174f5908 Author: Adrian Bunk Date: Wed Oct 15 22:05:20 2008 -0700 make kprobes.c:kretprobe_table_lock() static Make the needlessly global kretprobe_table_lock() static. Signed-off-by: Adrian Bunk Acked-by: Ananth N Mavinakayanahalli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 88429a105e8c810d9cc9a4ff82cd571816e9858e Author: Adrian Bunk Date: Wed Oct 15 22:05:17 2008 -0700 make hp_wmi_notify() static Make the needlessly global hp_wmi_notify() static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d97e2345a03bcf15471fc7e93560fc71e0c11d8 Author: Adrian Bunk Date: Wed Oct 15 22:05:16 2008 -0700 ipc/sem.c: make free_un() static Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c9f66169f1c696f9489503d7de92daff135c1efd Author: Magnus Damm Date: Wed Oct 15 22:05:15 2008 -0700 resource: add resource_type() and IORESOURCE_TYPE_BITS Add resource_type() and IORESOURCE_TYPE_BITS. They make it easier to add more resource types without having to rewrite tons of code. Signed-off-by: Magnus Damm Cc: Ben Dooks Cc: Jean Delvare Cc: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c26ec88ea86ad5122a6ea5ad635e6a1f6c395d74 Author: Bjorn Helgaas Date: Wed Oct 15 22:05:14 2008 -0700 resources: tidy __request_region() No functional change. Just return NULL for kzalloc failure immediately, rather than wrapping the whole function body in the body of an "if". Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 923f7f6970bd448b8e88b9e4be10fd01fc7106a4 Author: Jack Steiner Date: Wed Oct 15 22:05:13 2008 -0700 GRU driver: minor updates A few minor updates for the GRU driver. - documentation changes found in code reviews - changes to #ifdefs to make them recognized by "unifdef" (used in simulator testing) - change GRU context load/unload to prefetch data [akpm@linux-foundation.org: fix typo in comment] Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ebf3f09c634906d371f2bfd71b41c7e0c52efe7e Author: Thomas Petazzoni Date: Wed Oct 15 22:05:12 2008 -0700 Configure out AIO support This patchs adds the CONFIG_AIO option which allows to remove support for asynchronous I/O operations, that are not necessarly used by applications, particularly on embedded devices. As this is a size-reduction option, it depends on CONFIG_EMBEDDED. It allows to save ~7 kilobytes of kernel code/data: text data bss dec hex filename 1115067 119180 217088 1451335 162547 vmlinux 1108025 119048 217088 1444161 160941 vmlinux.new -7042 -132 0 -7174 -1C06 +/- This patch has been originally written by Matt Mackall , and is part of the Linux Tiny project. [randy.dunlap@oracle.com: build fix] Signed-off-by: Thomas Petazzoni Cc: Benjamin LaHaise Cc: Zach Brown Signed-off-by: Matt Mackall Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d8273674721faaf84bec2190c0c7a82972b37f73 Author: Bernhard Weirich Date: Wed Oct 15 22:05:11 2008 -0700 w1: new driver. DS2431 chip [akpm@linux-foundation.org: minor fixlets and cleanups] Signed-off-by: Bernhard Weirich Signed-off-by: Evgeniy Polyakov Cc: Ben Gardner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ade6d810b585d749db24d734947a30a29470cccd Author: David Fries Date: Wed Oct 15 22:05:10 2008 -0700 W1: ds2490.c optimize ds_set_pullup Optimize the ds_set_pullup function. For a strong pullup to be sent the ds2490 has to have both the strong pullup mode enabled, and the specific write operation has to have the SPU bit enabled. Previously the write always had the SPU bit enabled and both the duration and model was set when a strong pullup was requested. Now the strong pullup mode is enabled at initialization time, the delay is updated only when the value changes, and the write SPU bit is set only when a strong pullup is required. This removes two or three bus transactions per strong pullup request. Signed-off-by: David Fries Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3823ee44cfa8b0e6edbc0c21b81b49b95a27ca0d Author: David Fries Date: Wed Oct 15 22:05:09 2008 -0700 W1: Documentation/w1/masters/ds2490 update Provide some additional details about the status of the driver and the ds2490 hardware. Signed-off-by: David Fries Signed-off-by: Evgeniy Polyakov Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cbf4a49afa9f9a527ed4f3dab4ec355586ba890e Author: David Fries Date: Wed Oct 15 22:05:09 2008 -0700 W1: ds2490.c ds_write_block remove extra ds_wait_status Drop the extra ds_wait_status() in ds_write_block(). Signed-off-by: David Fries Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 19e7184f75354c50bc196d856ff903b2add5ff5a Author: David Fries Date: Wed Oct 15 22:05:08 2008 -0700 W1: ds2490.c magic number work This replaces some magic numbers with marcos and corrects one marco. Signed-off-by: David Fries Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e464af24734c40853dd68ec694d83a82e3930d66 Author: David Fries Date: Wed Oct 15 22:05:08 2008 -0700 W1: ds2490.c reset ds2490 in init Reset the device in init as it can be in a bad state. This is necessary because a block write will wait for data to be placed in the output buffer and block any later commands which will keep accumulating and the device will not be idle. Another case is removing the ds2490 module while a bus search is in progress, somehow a few commands get through, but the input transfers fail leaving data in the input buffer. This will cause the next read to fail see the note in ds_recv_data. Signed-off-by: David Fries Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a4b9706ed762373f74311f96f5122fb74212192 Author: David Fries Date: Wed Oct 15 22:05:07 2008 -0700 W1: ds2490.c ds_reset remove ds_wait_status ds_reset no longer calls ds_wait_status, the result wasn't used and it would only delay the following data operations. Signed-off-by: David Fries Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b9cf1bc329e626f3fa655370ee8cc156ab29a55 Author: David Fries Date: Wed Oct 15 22:05:06 2008 -0700 W1: ds2490.c ds_dump_status rework - add result register #defines - rename ds_dump_status to ds_print_msg - rename ds_recv_status to ds_dump_status - ds_dump_status prints the requested status and no longer reads the status, this is because the second status read can return different data for example the result register - the result register will be printed, though limited to detecting a new device, detecting other values such as a short would require additional reporting methods - ST_EPOF was moved to ds_wait_status to clear the error condition sooner Signed-off-by: David Fries Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e10f65427ed800ad1026dbf8064ca536ea98afc Author: David Fries Date: Wed Oct 15 22:05:05 2008 -0700 W1: ds2490.c simplify and fix ds_touch_bit Simplify and fix ds_touch_bit. If a device is attached in the middle of a bus search the status register will return more than the default 16 bytes. The additional bytes indicate that it has detected a new device. The way ds_wait_status is coded, if it doesn't read 16 status bytes it returns an error value. ds_touch_bit then will detect that error and return an error. In that case it doesn't read the input buffer and returns uninitialized data. It doesn't stop there. The next transaction will not expect the extra byte in the input buffer and the short read will cause an error and clear out both the old byte and new data in the input buffer. Just ignore the value of ds_wait_status. It is still required to wait until ds2490 is again idle and there is data to read when ds_recv_data is called. This also removes the while loop. None of the other commands wait and verify that the issued command is in the status register. Signed-off-by: David Fries Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a08e2d338bab17ac5c51a8f2f25185da18f6710c Author: David Fries Date: Wed Oct 15 22:05:04 2008 -0700 W1: ds2490.c disable bit read and write Don't export read and write bit operations, they didn't work, they weren't used, and they can't be made to work. The one wire low level bit operations expect to set high or low levels, the ds2490 hardware only supports complete read or write time slots, better to just comment them out. Signed-off-by: David Fries Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e1c86d226daf95407d66246ced8fe087055acc6b Author: David Fries Date: Wed Oct 15 22:05:04 2008 -0700 W1: ds2490.c ds_write_bit, grouping error, disable readback ds_write_bit doesn't read the input buffer, so add COMM_ICP and a comment that it will no longer generate a read back data byte. If there is an extra data byte later on then it will cause an error and discard what data was there. Corrected operator ordering for ds_send_control. Signed-off-by: David Fries Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f4ec2d7f6c4560a9d0c1abab2e8effe9ba93921 Author: David Fries Date: Wed Oct 15 22:05:03 2008 -0700 W1: ds2490.c add support for strong pullup Add strong pullup support for ds2490 driver, also drop mdelay(750), which busy waits, usage in favour of msleep for long delays. Now with msleep only being called when the strong pullup is active, one wire bus operations are only taking minimal system overhead. The new set_pullup will only enable the strong pullup when requested, which is expected to be the only write operation that will benefit from a strong pullup. Signed-off-by: David Fries Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 95cfaebf61dff28612bd280d89efc6e2c6716dfa Author: David Fries Date: Wed Oct 15 22:05:02 2008 -0700 W1: ds2490.c correct print message Corrected print message, it was writing not reading, this also prints the endpoint used for the write instead of hardcoding it. Failed to write 1-wire data to ep0x%x: err=%d. Signed-off-by: David Fries Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cadd486cfc838ead0ad899db129cff9f61ef4267 Author: David Fries Date: Wed Oct 15 22:05:01 2008 -0700 W1: ds1wm.c msleep for reset Like the previous w1_io.c reset coments and msleep patch, I don't have the hardware to verify the change, but I think it is safe. It also helps to see a comment like this in the code. "We'll wait a bit longer just to be sure." If they are going to calculate delaying 324.9us, but actually delay 500us, why not just give up the CPU and sleep? This is designed for a battery powered ARM system, avoiding busywaiting has to be good for battery life. I sent a request for testers March 7, 2008 to the Linux kernel mailing list and two developers who have patches for ds1wm.c, but I didn't get any respons. Signed-off-by: David Fries Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e3dae2b4727dc216e2dc16d2f0271b5f31b680c Author: David Fries Date: Wed Oct 15 22:05:01 2008 -0700 W1: w1_io.c reset comments and msleep w1_reset_bus, added some comments about the timing and switched to msleep for the later delay. I don't have the hardware to test the sleep after reset change. The one wire doesn't have a timing requirement between commands so it is fine. I do have the USB hardware and it would be in big trouble with 10ms interrupt transfers to find that the reset completed. Signed-off-by: David Fries Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7dc8f527ef20bf95143dfbe2ecc01dc70b1e6ab7 Author: David Fries Date: Wed Oct 15 22:04:58 2008 -0700 W1: w1.c s/printk/dev_dbg/ s/printk/dev_dbg/ Signed-off-by: David Fries Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af00a2d5a047455b35d1e7dc4c7d9993c2bcfb93 Author: David Fries Date: Wed Oct 15 22:04:53 2008 -0700 W1: w1_int.c use first available master number Follow the example of other devices (like the joystick device). Pick the first available id for each detected device. Currently for USB devices, suspending and resuming would cause the number to increment. Signed-off-by: David Fries Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e0d29c7699de723432da268748aefe9624fc8529 Author: David Fries Date: Wed Oct 15 22:04:52 2008 -0700 W1: w1_therm consistent mutex access code cleanup sl->master->mutex and dev->mutex refer to the same mutex variable, but be consistent and use the same set of pointers for the lock and unlock calls. It is less confusing (and one less pointer dereference this way). Signed-off-by: David Fries Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe3cb82364332b9db3b574e9e41de9c27eff470a Author: David Fries Date: Wed Oct 15 22:04:52 2008 -0700 W1: w1_family, remove unused variable need_exit Removed the w1_family structure member variable need_exit. It was only being set and never used. Even if it were to be used it is a polling type operation. Signed-off-by: David Fries Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 347ba8a588c3e49f357291e5a1ac38a11d7e052d Author: David Fries Date: Wed Oct 15 22:04:51 2008 -0700 W1: w1_therm fix user buffer overflow and cat Fixed data reading bug by replacing binary attribute with device one. Switching the sysfs read from bin_attribute to device_attribute. The data is far under PAGE_SIZE so the binary interface isn't required. As the device_attribute interface will make one call to w1_therm_read per file open and buffer, the result is, the following problems go away. buffer overflow: Execute a short read on w1_slave and w1_therm_read_bin would still return the full string size worth of data clobbering the user space buffer when it returned. Switching to device_attribute avoids the buffer overflow problems. With the snprintf formatted output dealing with short reads without doing a conversion per read would have been difficult. bad behavior: `cat w1_slave` would cause two temperature conversions to take place. Previously the code assumed W1_SLAVE_DATA_SIZE would be returned with each read. It would not return 0 unless the offset was less than W1_SLAVE_DATA_SIZE. The result was the first read did a temperature conversion, filled the buffer and returned, the offset in the second read would be less than W1_SLAVE_DATA_SIZE and also fill the buffer and return, the third read would finnally have a big enough offset to return 0 and cause cat to stop. Now w1_therm_read will be called at most once per open. Signed-off-by: David Fries Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 07e003417b88deac4b887c98f499fc3b01bc8df0 Author: David Fries Date: Wed Oct 15 22:04:50 2008 -0700 W1: w1_slave_read_id read bug, use device_attribute Fix bug reading the id sysfs file. If less than the full 8 bytes were read, the next read would start at the first byte instead of continuing. It needed the offset added to memcpy, or the better solution was to replace it with the device attribute instead of bin attribute. Signed-off-by: David Fries Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eba3b06da4bd8b79fe6c8ed922a319362c1a40c0 Author: David Fries Date: Wed Oct 15 22:04:47 2008 -0700 W1: Document add, remove, search_count, and pullup. Document w1_master_add, w1_master_remove, search_count, and pullup. Signed-off-by: David Fries Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9141f57c7edd40a48a41b7e31427c4b2831a36af Author: David Fries Date: Wed Oct 15 22:04:45 2008 -0700 W1: new module parameter search_count Added a new module parameter search_count which allows overriding the default search count. -1 continual, 0 disabled, N that many times. Signed-off-by: David Fries Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd7b28d33d0cabdc86fa7d546da07b9385274bbb Author: David Fries Date: Wed Oct 15 22:04:44 2008 -0700 W1: recode w1_slave_found logic Simplified the logic in w1_slave_found by using the new w1_attach_slave_device function to find a slave and mark it as active or add the device if the crc checks. Signed-off-by: David Fries Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9b46741119590bf23c5c519b49024eb2001cfafa Author: David Fries Date: Wed Oct 15 22:04:43 2008 -0700 W1: be able to manually add and remove slaves sysfs entries were added to manually add and remove slave devices. This is useful if the automatic bus searching is disabled, and the device ids are already known. [akpm@linux-foundation.org: fix printk types] Signed-off-by: David Fries Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6cd159744eaf212f3729d154f3881230a7c19eb2 Author: David Fries Date: Wed Oct 15 22:04:43 2008 -0700 W1: feature, w1_therm.c use strong pullup and documentation Added strong pullup to thermal sensor driver and general documentation on the sensor. Signed-off-by: David Fries Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6a158c0de791a81eb761ccf26ead1bd0834abac2 Author: David Fries Date: Wed Oct 15 22:04:42 2008 -0700 W1: feature, enable hardware strong pullup Add a strong pullup option to the w1 system. This supplies extra power for parasite powered devices. There is a w1_master_pullup sysfs entry and enable_pullup module parameter to enable or disable the strong pullup. The one wire bus requires at a minimum one wire and ground. The common wire is used for sending and receiving data as well as supplying power to devices that are parasite powered of which temperature sensors can be one example. The bus must be idle and left high while a temperature conversion is in progress, in addition the normal pullup resister on larger networks or even higher temperatures might not supply enough power. The pullup resister can't provide too much pullup current, because devices need to pull the bus down to write a value. This enables the strong pullup for supported hardware, which can supply more current when requested. Unsupported hardware will just delay with the bus high. The hardware USB 2490 one wire bus master has a bit on some commands which will enable the strong pullup as soon as the command finishes executing. To use strong pullup, call the new w1_next_pullup function to register the duration. The next write command will call set_pullup before sending the data, and reset the duration to zero once it returns. Switched from simple_strtol to strict_strtol. Signed-off-by: David Fries Cc: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3c52e4e627896b42152cc6ff98216c302932227e Author: David Fries Date: Wed Oct 15 22:04:41 2008 -0700 W1: w1_process, block or sleep The w1_process thread's sleeping and termination has been modified. msleep_interruptible was replaced by schedule_timeout and schedule to allow for kthread_stop and wake_up_process to interrupt the sleep and the unbounded sleeping when a bus search is disabled. The W1_MASTER_NEED_EXIT and flags variable were removed as they were redundant with kthread_should_stop and kthread_stop. If w1_process is sleeping, requesting a search will immediately wake it up rather than waiting for the end of msleep_interruptible previously. Signed-off-by: David Fries Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01e14d6db9654be005a0a5384090aea2cde39976 Author: David Fries Date: Wed Oct 15 22:04:40 2008 -0700 W1: don't delay search start Move the creation of the w1_process thread to after the device has been initialized. This way w1_process doesn't have to check to see if it has been initialized and the bus search can proceed without sleeping. That also eliminates two checks in the w1_process loop. The sleep now happens at the end of the loop not the beginning. Also added a comment for why the atomic_set was 2. Signed-off-by: David Fries Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d671b272af9eb06260ab3fd210d454e98dd4216 Author: David Fries Date: Wed Oct 15 22:04:39 2008 -0700 W1: abort search early on on exit Early abort if the master driver or the hardware goes away in the middle of a bus search operation. The alternative is to spam the print buffer up to 64*64 times with read errors in the case of USB. Signed-off-by: David Fries Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c30c9b15187e977ab5928f7276e9dfcd8d6f9460 Author: David Fries Date: Wed Oct 15 22:04:38 2008 -0700 W1: fix deadlocks and remove w1_control_thread w1_control_thread was removed which would wake up every second and process newly registered family codes and complete some final cleanup for a removed master. Those routines were moved to the threads that were previously requesting those operations. A new function w1_reconnect_slaves takes care of reconnecting existing slave devices when a new family code is registered or removed. The removal case was missing and would cause a deadlock waiting for the family code reference count to decrease, which will now happen. A problem with registering a family code was fixed. A slave device would be unattached if it wasn't yet claimed, then attached at the end of the list, two unclaimed slaves would cause an infinite loop. The struct w1_bus_master.search now takes a pointer to the struct w1_master device to avoid searching for it, which would have caused a lock ordering deadlock with the removal of w1_control_thread. Signed-off-by: David Fries Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd78c9439fc1e031835bccb934d27b978c72c536 Author: Andrew Morton Date: Wed Oct 15 22:04:37 2008 -0700 drivers/char/tpm/tpm.c: fix error-path memory leak tpm_register_hardware() leaks devname on an error path. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=11425 Reported-by: Daniel Marjamki Cc: Debora Velarde Cc: Rajiv Andrade Cc: Marcel Selhorst Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 63a10dfdda0e2262f5b61b54b6d9b1747a87ff54 Author: Rajiv Andrade Date: Wed Oct 15 22:04:36 2008 -0700 TPM: include "moderated for non-subscribers" notation in MAINTAINERS Cc: Eric Paris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 292cf4a8a989cb564a6a5f0ba7a66e08a095afa1 Author: Valdis Kletnieks Date: Wed Oct 15 22:04:35 2008 -0700 tpm: work around bug in Broadcom BCM0102 chipset Patch tpm-correct-tpm-timeouts-to-jiffies-conversion reveals a bug in the Broadcom BCM0102 TPM chipset used in the Dell Latitude D820 - although most of the timeouts are returned in usecs as per the spec, one is apparently returned in msecs, which results in a too-small value leading to a timeout when the code treats it as usecs. To prevent a regression, we check for the known too-short value and adjust it to a value that makes things work. Signed-off-by: Valdis Kletnieks Cc: Marcin Obara Cc: Marcel Selhorst Cc: Kylene Jo Hall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e5b1b12226d5a501fbc6706ca090e00d18a01ad Author: Marcin Obara Date: Wed Oct 15 22:04:34 2008 -0700 tpm: correct tpm timeouts to jiffies conversion This patch fixes timeouts conversion to jiffies, by replacing msecs_to_jiffies() calls with usecs_to_jiffies(). According to TCG TPM Specification Version 1.2 Revision 103 (pages 166, 167) TPM timeouts and durations are returned in microseconds (usec) not in miliseconds (msec). This fixes a long hang while loading TPM driver, if TPM chip starts in "Idle" state instead of "Ready" state. Without this patch - 'modprobe' may hang for 30 seconds or more. Signed-off-by: Marcin Obara Cc: Marcel Selhorst Cc: Kylene Jo Hall Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 612de10db06c0704a66bbe7fd13990cb1c2cb958 Author: Adrian Bunk Date: Wed Oct 15 22:04:33 2008 -0700 parport: remove CVS keywords Remove CVS keywords that weren't updated for a long time from comments. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 15b4650e55e06d2cc05115767551cd3ace875431 Author: Nick Piggin Date: Wed Oct 15 22:04:32 2008 -0700 afs: convert to new aops Cannot assume writes will fully complete, so this conversion goes the easy way and always brings the page uptodate before the write. [dhowells@redhat.com: style tweaks] Signed-off-by: Nick Piggin Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8360e81b5dd23c153301f08937a68fd67d9b46c0 Author: Aristeu Rozanski Date: Wed Oct 15 22:04:32 2008 -0700 edac i5000: fix thermal issues Make the Thermal messages (temperature got past Tmid) be displayed only once because: 1) it's the BIOS job to configure and handle the memory throttling 2) if the BIOS is broken or is aware about the condition, flooding the system logs won't help anything. 3) According to the specification update for Intel 5000 MCHs, all the revisions of this MCH have problems on the thermal sensors, making not automatic (a.k.a. intelligent thermal throttling) impossible. Signed-off-by: Aristeu Rozanski Signed-off-by: Doug Thompson Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c066740739c4251effc349e3beae02ead9049e5b Author: Aristeu Rozanski Date: Wed Oct 15 22:04:31 2008 -0700 edac i5000: fix error messages Update the i5000_edac messages, making everything pass through the EDAC (so the log controls will work) and being more specific about the errors. Also, it makes the miscellaneous errors optional and disabled by default. As I didn't found anywhere information about M23ERR-M26ERR (FERR_NF_THERMAL) on FERR_NF_FBD, I'm removing them. Signed-off-by: Aristeu Rozanski Signed-off-by: Doug Thompson Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 60be75515e45167d48d3677ae05b522ba7762d40 Author: Andrew Kilkenny Date: Wed Oct 15 22:04:28 2008 -0700 edac mpc85xx: add support for mpc8572 This adds support for the dual-core MPC8572 processor. We have to support making SPR changes on each core. Also, since we can have multiple memory controllers sharing an interrupt, flag the interrupts with IRQF_SHARED. Signed-off-by: Andrew Kilkenny Signed-off-by: Nate Case Acked-by: Dave Jiang Signed-off-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53a2fe5804e849f39d9723dfdaaea527ec9d1eac Author: Vladislav Bogdanov Date: Wed Oct 15 22:04:26 2008 -0700 edac: make i82443bxgx_edac coexist with intel_agp Fix 443BX/GX MCH suppport in a EDAC. It makes i82443bxgx_edac coexist with intel_agp using the same approach as several other EDAC drivers. Tested on Intel's L443GX with redhat's 2.6.18 with whole EDAC subsystem backported a while ago. [root@host ~]# dmesg|grep -iE '(AGP|EDAC)' Linux agpgart interface v0.101 (c) Dave Jones agpgart: Detected an Intel 440GX Chipset. agpgart: AGP aperture is 64M @ 0xf8000000 EDAC MC: Ver: 2.1.0 Jun 27 2008 EDAC MC0: Giving out device to 'i82443bxgx_edac' 'I82443BXGX': DEV 0000:00:00.0 EDAC PCI0: Giving out device to module 'i82443bxgx_edac' controller 'EDAC PCI controller': DEV '0000:00:00.0' (POLLED) Signed-off-by: Vladislav Bogdanov Cc: Doug Thompson Cc: Dave Airlie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 25cbe53ef1cb828ae012f3955a5aa18117114439 Author: Oleg Nesterov Date: Wed Oct 15 22:04:25 2008 -0700 pid_ns: kill the now unused task_child_reaper() task_child_reaper() has no callers anymore, kill it. Signed-off-by: Oleg Nesterov Acked-by: Serge Hallyn Acked-by: Pavel Emelyanov Acked-by: Sukadev Bhattiprolu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 07edbde508869be63c38c5f2504bd8e8279cc535 Author: Oleg Nesterov Date: Wed Oct 15 22:04:25 2008 -0700 pid_ns: de_thread: kill the now unneeded ->child_reaper change de_thread() checks if the old leader was the ->child_reaper, this is not possible any longer. With the previous patch ->group_leader itself will change ->child_reaper on exit. Henceforth find_new_reaper() is the only function (apart from initialization) which plays with ->child_reaper. Signed-off-by: Oleg Nesterov Acked-by: Serge Hallyn Acked-by: Pavel Emelyanov Acked-by: Sukadev Bhattiprolu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f221e726bf4e082a05dcd573379ac859bfba7126 Author: Alexey Dobriyan Date: Wed Oct 15 22:04:23 2008 -0700 sysctl: simplify ->strategy name and nlen parameters passed to ->strategy hook are unused, remove them. In general ->strategy hook should know what it's doing, and don't do something tricky for which, say, pointer to original userspace array may be needed (name). Signed-off-by: Alexey Dobriyan Acked-by: David S. Miller [ networking bits ] Cc: Ralf Baechle Cc: David Howells Cc: Matt Mackall Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f40cbaa5b0a4719489e6e7947351c99a159aca30 Author: Alexey Dobriyan Date: Wed Oct 15 22:04:23 2008 -0700 proc: move sysrq-trigger out of fs/proc/ Move it into sysrq.c, along with the rest of the sysrq implementation. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac0d86f5809598ddcd6bfa0ea8245ccc910e9eac Author: Kay Sievers Date: Wed Oct 15 22:04:21 2008 -0700 block: sanitize invalid partition table entries We currently follow blindly what the partition table lies about the disk, and let the kernel create block devices which can not be accessed. Trying to identify the device leads to kernel logs full of: sdb: rw=0, want=73392, limit=28800 attempt to access beyond end of device Here is an example of a broken partition table, where sda2 starts behind the end of the disk, and sdb3 is larger than the entire disk: Disk /dev/sdb: 14 MB, 14745600 bytes 1 heads, 29 sectors/track, 993 cylinders, total 28800 sectors Device Boot Start End Blocks Id System /dev/sdb1 29 7800 3886 83 Linux /dev/sdb2 37801 45601 3900+ 83 Linux /dev/sdb3 15602 73402 28900+ 83 Linux /dev/sdb4 23403 28796 2697 83 Linux The kernel creates these completely invalid devices, which can not be accessed, or may lead to other unpredictable failures: grep . /sys/class/block/sdb*/{start,size} /sys/class/block/sdb/size:28800 /sys/class/block/sdb1/start:29 /sys/class/block/sdb1/size:7772 /sys/class/block/sdb2/start:37801 /sys/class/block/sdb2/size:7801 /sys/class/block/sdb3/start:15602 /sys/class/block/sdb3/size:57801 /sys/class/block/sdb4/start:23403 /sys/class/block/sdb4/size:5394 With this patch, we ignore partitions which start behind the end of the disk, and limit partitions to the end of the disk if they pretend to be larger: grep . /sys/class/block/sdb*/{start,size} /sys/class/block/sdb/size:28800 /sys/class/block/sdb1/start:29 /sys/class/block/sdb1/size:7772 /sys/class/block/sdb3/start:15602 /sys/class/block/sdb3/size:13198 /sys/class/block/sdb4/start:23403 /sys/class/block/sdb4/size:5394 These warnings are printed to the kernel log: sdb: p2 ignored, start 37801 is behind the end of the disk sdb: p3 size 57801 limited to end of disk Signed-off-by: Kay Sievers Cc: Herton Ronaldo Krzesinski Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6722e45c2de622eaf5f26d370b9de19632ac7478 Author: Adrian Bunk Date: Wed Oct 15 22:04:20 2008 -0700 fs/partitions/acorn.c: remove dead code I missed this when I did the arm26 removal. Reported-by: Robert P. J. Day Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 266a813c083d67886d89f1066ea6355857b51f83 Author: Bjorn Helgaas Date: Wed Oct 15 22:04:20 2008 -0700 firmware: use dev_printk when possible Convert printks to use dev_printk(). Signed-off-by: Bjorn Helgaas Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b46f69cd24b9020433f8f153e7d9194b5bfdf5e2 Author: Harvey Harrison Date: Wed Oct 15 22:04:19 2008 -0700 char: moxa.c sparse annotation The only use is to pass this to le16_to_cpu, declare as such drivers/char/moxa.c:548:11: warning: cast to restricted __le16. Signed-off-by: Harvey Harrison Cc: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bc20589bf1c63e4e8bee57855568458ba303306b Author: Andrew Morton Date: Wed Oct 15 22:04:18 2008 -0700 applicom.c: fix apparently-broken code in do_ac_read() The code scriblles over a local pointer whereas it appears to be trying to write to the memory at which that pointer points. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=11397 Nobody we know can test this change. Reported-by: Zvonimir Rakamaric Cc: Jesse Barnes Cc: David Woodhouse Cc: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d05abab9a47d3245664eee413769af2e1e4b1faf Author: Jiri Slaby Date: Wed Oct 15 22:04:17 2008 -0700 Char: ds1286, eliminate busy waiting ds1286_get_time(); is not called from atomic context, sleep for 20 ms is better choice than a (home-made) busy waiting for such a situation. Signed-off-by: Jiri Slaby Acked-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4cea5ceb4c692ff42a2848f1b559977caff3c64e Author: Alexey Dobriyan Date: Wed Oct 15 22:04:17 2008 -0700 COMPAT_BINFMT_ELF definition tweak Don't repeat BINFMT_ELF definition, simply multiply COMPAT and BINFMT_ELF. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5edc2a5123a7c3d9bcb19ffcf3b91e8d6c246092 Author: Paul Mundt Date: Wed Oct 15 22:04:16 2008 -0700 binfmt_elf_fdpic: wire up AT_EXECFD, AT_EXECFN, AT_SECURE These auxvec entries are the only ones left unhandled out of the current base implementation. This syncs up binfmt_elf_fdpic with linux/auxvec.h and current binfmt_elf. Signed-off-by: Paul Mundt Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c7637941d16ae426a94058fe3b5460a31f68f61b Author: Paul Mundt Date: Wed Oct 15 22:04:15 2008 -0700 binfmt_elf_fdpic: convert initial stack alignment to arch_align_stack() binfmt_elf_fdpic seems to have grabbed a hard-coded hack from an ancient version of binfmt_elf in order to try and fix up initial stack alignment on multi-threaded x86, which while in addition to being unused, was also pushed down beyond the first set of operations on the stack pointer, negating the entire purpose. These days, we have an architecture independent arch_align_stack(), so we switch to using that instead. Move the initial alignment up before the initial stores while we're at it. Signed-off-by: Paul Mundt Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec23847d6cfe445ba9a1a5ec513297f4cc0ada53 Author: Paul Mundt Date: Wed Oct 15 22:04:15 2008 -0700 binfmt_elf_fdpic: support auxvec base platform string Commit 483fad1c3fa1060d7e6710e84a065ad514571739 ("ELF loader support for auxvec base platform string") introduced AT_BASE_PLATFORM, but only implemented it for binfmt_elf. Given that AT_VECTOR_SIZE_BASE is unconditionally enlarged for us, and it's only optionally added in for the platforms that set ELF_BASE_PLATFORM, wire it up for binfmt_elf_fdpic, too. Signed-off-by: Paul Mundt Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 758222f84261a6a808c4d1dcd443f90c1baaa875 Author: Randy Dunlap Date: Wed Oct 15 22:04:14 2008 -0700 docbook: update procfs credits Update Erik Mouw's email address & affiliation in DocBook. Signed-off-by: Randy Dunlap Acked-by: Erik Mouw Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b73c29f6b0ddbcf07b43c5c5e6354e5839b5e68d Author: Adrian Bunk Date: Wed Oct 15 22:04:13 2008 -0700 quota: remove CVS keywords Remove CVS keywords that weren't updated for a long time from comments. Signed-off-by: Adrian Bunk Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 67b172c097177835fbf5b0666885c4059a4f67ff Author: Julien Brunel Date: Wed Oct 15 22:04:12 2008 -0700 fs/reiserfs: use an IS_ERR test rather than a NULL test In case of error, the function open_xa_dir returns an ERR pointer, but never returns a NULL pointer. So a NULL test that comes after an IS_ERR test should be deleted. The semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @match_bad_null_test@ expression x, E; statement S1,S2; @@ x = open_xa_dir(...) ... when != x = E ( * if (x == NULL && ...) S1 else S2 | * if (x == NULL || ...) S1 else S2 ) // Signed-off-by: Julien Brunel Signed-off-by: Julia Lawall Cc: Jeff Mahoney Cc: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b23ea7679978e6e1148aae9245021dfbcd989d7 Author: Adrian Bunk Date: Wed Oct 15 22:04:11 2008 -0700 reiserfs/procfs.c: remove CVS keywords Remove CVS keywords that weren't updated for a long time from comments. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d38b7aa7fc3371b52d036748028db50b585ade2e Author: Eric Sesterhenn Date: Wed Oct 15 22:04:11 2008 -0700 hfs: fix namelength memory corruption Fix a stack corruption caused by a corrupted hfs filesystem. If the catalog name length is corrupted the memcpy overwrites the catalog btree structure. Since the field is limited to HFS_NAMELEN bytes in the structure and the file format, we throw an error if it is too long. Cc: Roman Zippel Signed-off-by: Eric Sesterhenn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 649f1ee6c705aab644035a7998d7b574193a598a Author: Eric Sesterhenn Date: Wed Oct 15 22:04:10 2008 -0700 hfsplus: check read_mapping_page() return value While testing more corrupted images with hfsplus, i came across one which triggered the following bug: [15840.675016] BUG: unable to handle kernel paging request at fffffffb [15840.675016] IP: [] kmap+0x15/0x56 [15840.675016] *pde = 00008067 *pte = 00000000 [15840.675016] Oops: 0000 [#1] PREEMPT DEBUG_PAGEALLOC [15840.675016] Modules linked in: [15840.675016] [15840.675016] Pid: 11575, comm: ln Not tainted (2.6.27-rc4-00123-gd3ee1b4-dirty #29) [15840.675016] EIP: 0060:[] EFLAGS: 00010202 CPU: 0 [15840.675016] EIP is at kmap+0x15/0x56 [15840.675016] EAX: 00000246 EBX: fffffffb ECX: 00000000 EDX: cab919c0 [15840.675016] ESI: 000007dd EDI: cab0bcf4 EBP: cab0bc98 ESP: cab0bc94 [15840.675016] DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068 [15840.675016] Process ln (pid: 11575, ti=cab0b000 task=cab919c0 task.ti=cab0b000) [15840.675016] Stack: 00000000 cab0bcdc c0231cfb 00000000 cab0bce0 00000800 ca9290c0 fffffffb [15840.675016] cab145d0 cab919c0 cab15998 22222222 22222222 22222222 00000001 cab15960 [15840.675016] 000007dd cab0bcf4 cab0bd04 c022cb3a cab0bcf4 cab15a6c ca9290c0 00000000 [15840.675016] Call Trace: [15840.675016] [] ? hfsplus_block_allocate+0x6f/0x2d3 [15840.675016] [] ? hfsplus_file_extend+0xc4/0x1db [15840.675016] [] ? hfsplus_get_block+0x8c/0x19d [15840.675016] [] ? sub_preempt_count+0x9d/0xab [15840.675016] [] ? __block_prepare_write+0x147/0x311 [15840.675016] [] ? __grab_cache_page+0x52/0x73 [15840.675016] [] ? block_write_begin+0x79/0xd5 [15840.675016] [] ? hfsplus_get_block+0x0/0x19d [15840.675016] [] ? cont_write_begin+0x27f/0x2af [15840.675016] [] ? hfsplus_get_block+0x0/0x19d [15840.675016] [] ? tick_program_event+0x28/0x4c [15840.675016] [] ? trace_hardirqs_off+0xb/0xd [15840.675016] [] ? hfsplus_write_begin+0x2d/0x32 [15840.675016] [] ? hfsplus_get_block+0x0/0x19d [15840.675016] [] ? pagecache_write_begin+0x33/0x107 [15840.675016] [] ? __page_symlink+0x3c/0xae [15840.675016] [] ? __mark_inode_dirty+0x12f/0x137 [15840.675016] [] ? page_symlink+0x19/0x1e [15840.675016] [] ? hfsplus_symlink+0x41/0xa6 [15840.675016] [] ? vfs_symlink+0x99/0x101 [15840.675016] [] ? sys_symlinkat+0x6b/0xad [15840.675016] [] ? sys_symlink+0x10/0x12 [15840.675016] [] ? sysenter_do_call+0x12/0x31 [15840.675016] ======================= [15840.675016] Code: 00 00 75 10 83 3d 88 2f ec c0 02 75 07 89 d0 e8 12 56 05 00 5d c3 55 ba 06 00 00 00 89 e5 53 89 c3 b8 3d eb 7e c0 e8 16 74 00 00 <8b> 03 c1 e8 1e 69 c0 d8 02 00 00 05 b8 69 8e c0 2b 80 c4 02 00 [15840.675016] EIP: [] kmap+0x15/0x56 SS:ESP 0068:cab0bc94 [15840.675016] ---[ end trace 4fea40dad6b70e5f ]--- This happens because the return value of read_mapping_page() is passed on to kmap unchecked. The bug is triggered after the first read_mapping_page() in hfsplus_block_allocate(), this patch fixes all three usages in this functions but leaves the ones further down in the file unchanged. Signed-off-by: Eric Sesterhenn Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit efc7ffcb4237f8cb9938909041c4ed38f6e1bf40 Author: Eric Sesterhenn Date: Wed Oct 15 22:04:08 2008 -0700 hfsplus: fix Buffer overflow with a corrupted image When an hfsplus image gets corrupted it might happen that the catalog namelength field gets b0rked. If we mount such an image the memcpy() in hfsplus_cat_build_key_uni() writes more than the 255 that fit in the name field. Depending on the size of the overwritten data, we either only get memory corruption or also trigger an oops like this: [ 221.628020] BUG: unable to handle kernel paging request at c82b0000 [ 221.629066] IP: [] hfsplus_find_cat+0x10d/0x151 [ 221.629066] *pde = 0ea29163 *pte = 082b0160 [ 221.629066] Oops: 0002 [#1] PREEMPT DEBUG_PAGEALLOC [ 221.629066] Modules linked in: [ 221.629066] [ 221.629066] Pid: 4845, comm: mount Not tainted (2.6.27-rc4-00123-gd3ee1b4-dirty #28) [ 221.629066] EIP: 0060:[] EFLAGS: 00010206 CPU: 0 [ 221.629066] EIP is at hfsplus_find_cat+0x10d/0x151 [ 221.629066] EAX: 00000029 EBX: 00016210 ECX: 000042c2 EDX: 00000002 [ 221.629066] ESI: c82d70ca EDI: c82b0000 EBP: c82d1bcc ESP: c82d199c [ 221.629066] DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068 [ 221.629066] Process mount (pid: 4845, ti=c82d1000 task=c8224060 task.ti=c82d1000) [ 221.629066] Stack: c080b3c4 c82aa8f8 c82d19c2 00016210 c080b3be c82d1bd4 c82aa8f0 00000300 [ 221.629066] 01000000 750008b1 74006e00 74006900 65006c00 c82d6400 c013bd35 c8224060 [ 221.629066] 00000036 00000046 c82d19f0 00000082 c8224548 c8224060 00000036 c0d653cc [ 221.629066] Call Trace: [ 221.629066] [] ? trace_hardirqs_off+0xb/0xd [ 221.629066] [] ? trace_hardirqs_off_caller+0x14/0x9b [ 221.629066] [] ? trace_hardirqs_off+0xb/0xd [ 221.629066] [] ? trace_hardirqs_off_caller+0x14/0x9b [ 221.629066] [] ? trace_hardirqs_off+0xb/0xd [ 221.629066] [] ? native_sched_clock+0x82/0x96 [ 221.629066] [] ? __kernel_text_address+0x1b/0x27 [ 221.629066] [] ? dump_trace+0xca/0xd6 [ 221.629066] [] ? save_stack_address+0x0/0x2c [ 221.629066] [] ? save_stack_trace+0x1c/0x3a [ 221.629066] [] ? save_trace+0x37/0x8d [ 221.629066] [] ? add_lock_to_list+0x67/0x8d [ 221.629066] [] ? validate_chain+0x8a4/0x9f4 [ 221.629066] [] ? down+0xc/0x2f [ 221.629066] [] ? __lock_acquire+0x68a/0x6e0 [ 221.629066] [] ? trace_hardirqs_off+0xb/0xd [ 221.629066] [] ? trace_hardirqs_off_caller+0x14/0x9b [ 221.629066] [] ? trace_hardirqs_off+0xb/0xd [ 221.629066] [] ? native_sched_clock+0x82/0x96 [ 221.629066] [] ? mark_held_locks+0x43/0x5a [ 221.629066] [] ? trace_hardirqs_on+0xb/0xd [ 221.629066] [] ? trace_hardirqs_on_caller+0xf4/0x12f [ 221.629066] [] ? _spin_unlock_irqrestore+0x42/0x58 [ 221.629066] [] ? down+0x2b/0x2f [ 221.629066] [] ? hfsplus_iget+0xa0/0x154 [ 221.629066] [] ? hfsplus_fill_super+0x280/0x447 [ 221.629066] [] ? native_sched_clock+0x82/0x96 [ 221.629066] [] ? trace_hardirqs_off_caller+0x14/0x9b [ 221.629066] [] ? trace_hardirqs_off_caller+0x14/0x9b [ 221.629066] [] ? __lock_acquire+0x68a/0x6e0 [ 221.629066] [] ? string+0x2b/0x74 [ 221.629066] [] ? vsnprintf+0x2e9/0x512 [ 221.629066] [] ? dump_trace+0xca/0xd6 [ 221.629066] [] ? save_stack_trace+0x1c/0x3a [ 221.629066] [] ? save_stack_trace+0x1c/0x3a [ 221.629066] [] ? save_trace+0x37/0x8d [ 221.629066] [] ? add_lock_to_list+0x67/0x8d [ 221.629066] [] ? validate_chain+0x8a4/0x9f4 [ 221.629066] [] ? up+0xc/0x2f [ 221.629066] [] ? __lock_acquire+0x68a/0x6e0 [ 221.629066] [] ? trace_hardirqs_off+0xb/0xd [ 221.629066] [] ? trace_hardirqs_off_caller+0x14/0x9b [ 221.629066] [] ? trace_hardirqs_off+0xb/0xd [ 221.629066] [] ? native_sched_clock+0x82/0x96 [ 221.629066] [] ? snprintf+0x1b/0x1d [ 221.629066] [] ? disk_name+0x25/0x67 [ 221.629066] [] ? get_sb_bdev+0xcd/0x10b [ 221.629066] [] ? kstrdup+0x2a/0x4c [ 221.629066] [] ? hfsplus_get_sb+0x13/0x15 [ 221.629066] [] ? hfsplus_fill_super+0x0/0x447 [ 221.629066] [] ? vfs_kern_mount+0x3b/0x76 [ 221.629066] [] ? do_kern_mount+0x32/0xba [ 221.629066] [] ? do_new_mount+0x46/0x74 [ 221.629066] [] ? do_mount+0x175/0x193 [ 221.629066] [] ? trace_hardirqs_on_caller+0xf4/0x12f [ 221.629066] [] ? __get_free_pages+0x1e/0x24 [ 221.629066] [] ? lock_kernel+0x19/0x8c [ 221.629066] [] ? sys_mount+0x51/0x9b [ 221.629066] [] ? sys_mount+0x64/0x9b [ 221.629066] [] ? sysenter_do_call+0x12/0x31 [ 221.629066] ======================= [ 221.629066] Code: 89 c2 c1 e2 08 c1 e8 08 09 c2 8b 85 e8 fd ff ff 66 89 50 06 89 c7 53 83 c7 08 56 57 68 c4 b3 80 c0 e8 8c 5c ef ff 89 d9 c1 e9 02 a5 89 d9 83 e1 03 74 02 f3 a4 83 c3 06 8b 95 e8 fd ff ff 0f [ 221.629066] EIP: [] hfsplus_find_cat+0x10d/0x151 SS:ESP 0068:c82d199c [ 221.629066] ---[ end trace e417a1d67f0d0066 ]--- Since hfsplus_cat_build_key_uni() returns void and only has one callsite, the check is performed at the callsite. Signed-off-by: Eric Sesterhenn Reviewed-by: Pekka Enberg Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81a73719d1bc77774f6ac91e2476f22c56f18baf Author: Mike Crowe Date: Wed Oct 15 22:04:05 2008 -0700 hfsplus: quieten down mounting hfsplus journaled fs read only Check whether the file system was to be mounted read only anyway before warning about changing the mount to read only. Signed-off-by: Mike Crowe Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 152b95a1ed499075006cc6552ef49407deeb815b Author: Harvey Harrison Date: Wed Oct 15 22:04:03 2008 -0700 befs: annotate fs32 on tests for superblock endianness Does compile-time byteswapping rather than runtime. Noticed by sparse: fs/befs/super.c:29:6: warning: cast to restricted __le32 fs/befs/super.c:29:6: warning: cast from restricted fs32 fs/befs/super.c:31:11: warning: cast to restricted __be32 fs/befs/super.c:31:11: warning: cast from restricted fs32 fs/befs/super.c:31:11: warning: cast to restricted __be32 fs/befs/super.c:31:11: warning: cast from restricted fs32 fs/befs/super.c:31:11: warning: cast to restricted __be32 fs/befs/super.c:31:11: warning: cast from restricted fs32 fs/befs/super.c:31:11: warning: cast to restricted __be32 fs/befs/super.c:31:11: warning: cast from restricted fs32 fs/befs/super.c:31:11: warning: cast to restricted __be32 fs/befs/super.c:31:11: warning: cast from restricted fs32 fs/befs/super.c:31:11: warning: cast to restricted __be32 fs/befs/super.c:31:11: warning: cast from restricted fs32 fs/befs/linuxvfs.c:811:7: warning: cast to restricted __le32 fs/befs/linuxvfs.c:811:7: warning: cast from restricted fs32 fs/befs/linuxvfs.c:812:7: warning: cast to restricted __be32 fs/befs/linuxvfs.c:812:7: warning: cast from restricted fs32 fs/befs/linuxvfs.c:812:7: warning: cast to restricted __be32 fs/befs/linuxvfs.c:812:7: warning: cast from restricted fs32 fs/befs/linuxvfs.c:812:7: warning: cast to restricted __be32 fs/befs/linuxvfs.c:812:7: warning: cast from restricted fs32 fs/befs/linuxvfs.c:812:7: warning: cast to restricted __be32 fs/befs/linuxvfs.c:812:7: warning: cast from restricted fs32 fs/befs/linuxvfs.c:812:7: warning: cast to restricted __be32 fs/befs/linuxvfs.c:812:7: warning: cast from restricted fs32 fs/befs/linuxvfs.c:812:7: warning: cast to restricted __be32 fs/befs/linuxvfs.c:812:7: warning: cast from restricted fs32 Signed-off-by: Harvey Harrison Cc: "Sergey S. Kostyliov" Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bd39597cbd42a784105a04010100e27267481c67 Author: Eric Sandeen Date: Wed Oct 15 22:04:02 2008 -0700 ext2: avoid printk floods in the face of directory corruption A very large directory with many read failures (either due to storage problems, or due to invalid size & blocks from corruption) will generate a printk storm as the filesystem continues to try to read all the blocks. This flood of messages can tie up the box until it is complete - which may be a very long time, especially for very large corrupted values. This is fixed by only reporting the corruption once each time we try to read the directory. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Eric Sandeen Signed-off-by: "Theodore Ts'o" Cc: Eugene Teo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d707d31c972b657dfc2efefd0b99cc4e14223dab Author: Mingming Cao Date: Wed Oct 15 22:04:01 2008 -0700 ext2: fix ext2 block reservation early ENOSPC issue We could run into ENOSPC error on ext2, even when there is free blocks on the filesystem. The problem is triggered in the case the goal block group has 0 free blocks , and the rest block groups are skipped due to the check of "free_blocks < windowsz/2". Current code could fall back to non reservation allocation to prevent early ENOSPC after examing all the block groups with reservation on , but this code was bypassed if the reservation window is turned off already, which is true in this case. This patch fixed two issues: 1) We don't need to turn off block reservation if the goal block group has 0 free blocks left and continue search for the rest of block groups. Current code the intention is to turn off the block reservation if the goal allocation group has a few (some) free blocks left (not enough for make the desired reservation window),to try to allocation in the goal block group, to get better locality. But if the goal blocks have 0 free blocks, it should leave the block reservation on, and continues search for the next block groups,rather than turn off block reservation completely. 2) we don't need to check the window size if the block reservation is off. The problem was originally found and fixed in ext4. Signed-off-by: Mingming Cao Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 60836eb63b941f407dc2a609f3f0f34fd74ef6c3 Author: Adrian Bunk Date: Wed Oct 15 22:04:00 2008 -0700 telephony: remove CVS keywords Remove CVS keywords that weren't updated for a long time from comments. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b563cf59c4d67da7d671788a9848416bfa4180ab Author: Rene Herman Date: Wed Oct 15 22:03:58 2008 -0700 pnp: make the resource type an unsigned long PnP encodes the resource type directly as its struct resource->flags value which is an unsigned long. Make it so... Signed-off-by: Rene Herman Cc: "H. Peter Anvin" Acked-by: Bjorn Helgaas Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a63cc18f02b941662ca5f6c33adca1aa9e8c1a96 Author: Adrian Bunk Date: Wed Oct 15 22:03:57 2008 -0700 pnp: remove printk() with outdated version There's no point in printing some ancient version number forever. Signed-off-by: Adrian Bunk Acked-by: Rene Herman Acked-by: Bjorn Helgaas Acked-by: Adam M Belay Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 232fb69a53a5ec3f22a8104d447abe4806848a8f Author: Oleg Nesterov Date: Wed Oct 15 22:03:57 2008 -0700 fbcon_set_all_vcs: fix kernel crash when switching the rotated consoles echo 3 >> /sys/class/graphics/fbcon/rotate_all, then switch to another console. Result: BUG: unable to handle kernel paging request at ffffc20005d00000 IP: [bitfill_aligned+149/265] bitfill_aligned+0x95/0x109 PGD 7e228067 PUD 7e229067 PMD 7bc1f067 PTE 0 Oops: 0002 [1] SMP CPU 1 Modules linked in: [...a lot...] Pid: 10, comm: events/1 Not tainted 2.6.26.5-45.fc9.x86_64 #1 RIP: 0010:[bitfill_aligned+149/265] [bitfill_aligned+149/265] bitfill_aligned+0x95/0x109 RSP: 0018:ffff81007d811bc8 EFLAGS: 00010216 RAX: ffffc20005d00000 RBX: 0000000000000000 RCX: 0000000000000400 RDX: 0000000000000000 RSI: ffffc20005d00000 RDI: ffffffffffffffff RBP: ffff81007d811be0 R08: 0000000000000400 R09: 0000000000000040 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000010000 R13: ffffffff811632f0 R14: 0000000000000006 R15: ffff81007cb85400 FS: 0000000000000000(0000) GS:ffff81007e004780(0000) knlGS:0000000000000000 CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b CR2: ffffc20005d00000 CR3: 0000000000201000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process events/1 (pid: 10, threadinfo ffff81007d810000, task ffff81007d808000) Stack: ffff81007c9d75a0 0000000000000000 0000000000000000 ffff81007d811c80 ffffffff81163a61 ffff810000000000 ffffffff8115f9c8 0000001000000000 0000000100aaaaaa 000000007cd0d4a0 fffffd8a00000800 0001000000000000 Call Trace: [cfb_fillrect+523/798] cfb_fillrect+0x20b/0x31e [soft_cursor+416/436] ? soft_cursor+0x1a0/0x1b4 [ccw_clear_margins+205/263] ccw_clear_margins+0xcd/0x107 [fbcon_clear_margins+59/61] fbcon_clear_margins+0x3b/0x3d [fbcon_switch+1291/1466] fbcon_switch+0x50b/0x5ba [redraw_screen+261/481] redraw_screen+0x105/0x1e1 [ccw_cursor+0/1869] ? ccw_cursor+0x0/0x74d [complete_change_console+48/190] complete_change_console+0x30/0xbe [change_console+115/120] change_console+0x73/0x78 [console_callback+0/292] ? console_callback+0x0/0x124 [console_callback+97/292] console_callback+0x61/0x124 [schedule_delayed_work+25/30] ? schedule_delayed_work+0x19/0x1e [run_workqueue+139/282] run_workqueue+0x8b/0x11a [worker_thread+221/238] worker_thread+0xdd/0xee [autoremove_wake_function+0/56] ? autoremove_wake_function+0x0/0x38 [worker_thread+0/238] ? worker_thread+0x0/0xee [kthread+73/118] kthread+0x49/0x76 [child_rip+10/18] child_rip+0xa/0x12 [kthread+0/118] ? kthread+0x0/0x76 [child_rip+0/18] ? child_rip+0x0/0x12 Because fbcon_set_all_vcs()->FBCON_SWAP() uses display->rotate == 0 instead of fbcon_ops->rotate, and vc_resize() has no effect because it is called with new_cols/rows == ->vc_cols/rows. Tested on 2.6.26.5-45.fc9.x86_64, but http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git seems to have the same problem. Signed-off-by: Oleg Nesterov Cc: Krzysztof Helt Cc: [2.6.27.x, 2.6.26.x, maybe 2.6.25.x] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b53cde3557b8f97e6a635782875d442551a89bf1 Author: Dmitry Baryshkov Date: Wed Oct 15 22:03:55 2008 -0700 fbdev: add new TMIO framebuffer driver Add driver for TMIO framebuffer cells as found e.g. in Toshiba TC6393XB chips. Signed-off-by: Dmitry Baryshkov Cc: Ian Molton Acked-by: Samuel Ortiz Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d5ca900603283ccb41a9c0c831dd179938d137b2 Author: Kristoffer Ericson Date: Wed Oct 15 22:03:54 2008 -0700 fbdev: Epson S1D1 framebuffer maintainer I'm stepping up as maintainer for the Epson S1D13XXXFB driver since I have 2 platforms currently using it. Signed-off-by: Kristoffer Ericson Acked-by: Thibaut Varene Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 313cc59eacc26cc7e8638660ec5a0ffb5e319045 Author: Randy Dunlap Date: Wed Oct 15 22:03:53 2008 -0700 framebuffer: fix carminefb section mismatch Make alloc_carmine_fb() __devinit. WARNING: drivers/video/carminefb.o(.text+0x81b): Section mismatch in reference from the function alloc_carmine_fb() to the variable .devinit.data:carminefb_fix The function alloc_carmine_fb() references the variable __devinitdata carminefb_fix. This is often because alloc_carmine_fb lacks a __devinitdata annotation or the annotation of carminefb_fix is wrong. Signed-off-by: Randy Dunlap Cc: Sebastian Siewior Cc: Geert Uytterhoeven Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e3a1938805d2e81b27d3d348788644f3bad004f2 Author: Darrick J. Wong Date: Wed Oct 15 22:03:52 2008 -0700 matroxfb: support G200eV chip Support the Matrox G200eV chip, based on timings that I found in the X.org matrox driver. Signed-off-by: Darrick J. Wong Acked-by: Krzysztof Helt Cc: Petr Vandrovec Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0b178883b36e6f522e4a7019bf5a147daf521a01 Author: Kristoffer Ericson Date: Wed Oct 15 22:03:51 2008 -0700 fbdev: allow more chip revisions in Epson s1d13... video driver The Epson s1d13xxx hardware is common in many handhelds, but our driver is currently locked to a single chip revision. This patch adds an array of known to work revisions (which can be extended). [akpm@linux-foundation.org: cleanups] Signed-off-by: Kristoffer Ericson Acked-by: Thibaut Varène Cc: Geert Uytterhoeven Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d31a2b74c6d063362ae10ce3be3e80d8713bf23 Author: Michal Januszewski Date: Wed Oct 15 22:03:51 2008 -0700 fbdev: ignore VESA modes if framebuffer does not support them Currently, it is possible to set a graphics VESA mode at boot time via the vga= parameter even when no framebuffer driver supporting this is configured. This could lead to the system booting with a black screen, without a usable console. Fix this problem by only allowing to set graphics modes at boot time if a supporting framebuffer driver is configured. Signed-off-by: Michal Januszewski Acked-by: Krzysztof Helt Cc: "H. Peter Anvin" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ab4840968cd094586f65fce978e35c66d25ac78 Author: Marcin Slusarz Date: Wed Oct 15 22:03:50 2008 -0700 vgacon: vgacon_scrolldelta simplification There's no point in checking diff == c->vc_rows, because it can be true only when count == 0, but we already checked that. Additionally move variables used only in one block to this block. Signed-off-by: Marcin Slusarz Cc: Antonino Daplas Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c38182a713df5268d8a4a33819a77f93b950f84c Author: Marcin Slusarz Date: Wed Oct 15 22:03:49 2008 -0700 vgacon: optimize scrolling Join multiple scr_memcpyw into 1-3 calls (usually 2). (benchmarked average speedup: 1%) Signed-off-by: Marcin Slusarz Cc: Krzysztof Helt Cc: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a3b09dc9aeaaab25ff736c2443df423a8fb655e Author: Jon Dufresne Date: Wed Oct 15 22:03:49 2008 -0700 fbmon: fix EDID parser to detect interlace modes The current EDID parser in the linux kernel ignores interlace modes. The patch looks for the edid interlace flag and adjusts the vertical resolution if it is found. Signed-off-by: Jon Dufresne Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c1fd1c0764e1a399ccb12e2d261603fe96d2e420 Author: Michal Januszewski Date: Wed Oct 15 22:03:48 2008 -0700 MAINTAINERS: add entry for uvesafb Add a maintainer entry for the uvesafb driver. Signed-off-by: Michal Januszewski Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9350cc90ca8a72bc1974f76a9922f91ced84a5cf Author: Michal Januszewski Date: Wed Oct 15 22:03:47 2008 -0700 uvesafb: don't treat mode info retrieval failures as errors Some BIOSes return error codes when queried for information about modes from their own modelist. uvesafb treats this as an error case and bails out. Change this behavior so that broken modes do not prevent the driver from working. Only the failure to retrieve information about any usable video mode is considered to be an error case. Signed-off-by: Michal Januszewski Cc: Krzysztof Helt Cc: "H. Peter Anvin" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c0dd504cea3703c3ec9bfd810e6bd649680afd37 Author: Mike Pagano Date: Wed Oct 15 22:03:46 2008 -0700 uvesafb: document mode to mode_option parameter change Document the change from the old "mode" parameter to the "mode_option" parameter. Signed-off-by: Mike Pagano Cc: Krzysztof Halasa Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b1ee26bab14886350ba12a5c10cbc0696ac679bf Author: Benjamin Herrenschmidt Date: Wed Oct 15 22:03:46 2008 -0700 radeonfb: accelerate imageblit and other improvements Implement support for HW color expansion of 1bpp images, along with some improvements to the FIFO handling and other accel operations. The offset fixup code is now unnecessary as the fbcon core will call our set_par upon switch back from KD_GRAPHICS before anything else happens. I removed it as it would slow down accel operations. The fifo wait has been improved to avoid hitting the HW register as often, and the various accel ops are now performing better caching of register values. Overall, this improve accel performances. The imageblit acceleration does result in a small overall regression in performances on some machines (on the order of 5% on some x86), probably becaus the SW path provides a better bus utilisation, but I decided to ingnore that as the performances is still very good, and on the other hand, some machines such as some sparc64 get a 3 fold performance improvement. Signed-off-by: Benjamin Herrenschmidt Acked-by: David S. Miller Cc: Krzysztof Halasa Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a6c0c37db654444dfce91cd75ad8a56bb15a0d25 Author: Benjamin Herrenschmidt Date: Wed Oct 15 22:03:44 2008 -0700 radeonfb: misc cleanup of engine and dst cache handling Fix a couple of incomplete tests of the chip families in the engine init/reset code and proper initialization of the destination cache mode. The result should better match what the latest X radeon driver does. Signed-off-by: Benjamin Herrenschmidt Acked-by: David S. Miller Cc: Krzysztof Halasa Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c08c9ae0c145807c0dae4a55f240fa3d4fd5262 Author: Peter Jones Date: Wed Oct 15 22:03:43 2008 -0700 efifb/imacfb consolidation + hardware support Remove imacfb entirely, merging its DMI table into the (otherwise very similar) efifb driver. This also adds hardware support for many of the newer Intel Apple hardware. This has been fairly well tested; we've been shipping it in Fedora for some time. Signed-off-by: Peter Jones Cc: Krzysztof Helt Cc: Geert Uytterhoeven Cc: Jaya Kumar Cc: Ralf Baechle Cc: Maciej W. Rozycki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f928ac0a9810d46c8ba3bde7c969984340da9f5d Author: Stanislaw Gruszka Date: Wed Oct 15 22:03:43 2008 -0700 atmel_lcdfb: disallow setting larger resolution than the framebuffer memory can handle Signed-off-by: Stanislaw Gruszka Acked-by: Nicolas Ferre Cc: Krzysztof Helt Cc: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 486ff387c0f27030a3cfb142469ba140f2d8976e Author: Krzysztof Helt Date: Wed Oct 15 22:03:42 2008 -0700 cirrusfb: do not change MCLK for Alpine chips A memory clock value (MCLK) is changed to a minimum required by a current mode bandwidth. This usually lowers the MCLK to its minimum (50 MHz) thus decreasing the card performance. Just leave the MCLK value set by card BIOS. The CL-GD5446 Technical Reference Manual point 9.9.1.3 states that if a pixclock value is close (~1%) to the MCLK or MCLK/2 this may result in a jitter on the screen. A countermeasure is to use the MCLK as pixclock source instead of a VCLK. The patch implements this as well. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b921832d483a2b9d6fabdbb5f871a4f18cb9b65 Author: Krzysztof Helt Date: Wed Oct 15 22:03:41 2008 -0700 cirrusfb: fix 16bpp modes The 16bpp mode did not work on the Cirrus cards as the visual type was set to DIRECTCOLOR instead of TRUECOLOR. The Alpine family used one incorrect register setting so this 16bpp modes generated wrong horizontal frequency. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55a0dd83eb24a89fd448006aaa9326df643861ae Author: Krzysztof Helt Date: Wed Oct 15 22:03:41 2008 -0700 cirrusfb: add noaccel module parameter The noaccel parameter is already handled if the driver is not built as module. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dafa32c5a1da19edca1d5c1b74d30d5d07b9befd Author: Krzysztof Helt Date: Wed Oct 15 22:03:40 2008 -0700 cirrusfb: drop clock fields from cirrusfb_regs structure Move call to pixclock calculation into the cirrusfb_set_par_foo(). It makes copy of clock registers redundant. Simplify clock calculations further. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a85cf51fb880e24179fc45d3ee7d5ff1eb58c3a Author: Krzysztof Helt Date: Wed Oct 15 22:03:39 2008 -0700 cirrusfb: eliminate CRT registers from global structure Move calculations of CRT register values into the cirrusfb_set_par_foo() where the values are used. Signed-off-by: Krzysztof Helt Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c395d3e8c7ed6d61ee87cb49187111122c8a499c Author: Krzysztof Helt Date: Wed Oct 15 22:03:39 2008 -0700 cirrusfb: add __devinit attribute to probing functions Add __devinit attribute to probing functions. This fixed section mismatch warning from my previous patch. Kill one redundant forward declaration. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1d35a7a50d01b445e29d87f479f8c055a414f7e Author: Krzysztof Helt Date: Wed Oct 15 22:03:38 2008 -0700 cirrusfb: use modedb and add mode_option parameter Use modedb for initial mode instead of table of few predefined modes. Add mode_option module parameter as a step toward unification of frame buffers' parameters. Signed-off-by: Krzysztof Helt Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 64beab14f53790e59a4e0a9ef1d752c12ad54a62 Author: Krzysztof Helt Date: Wed Oct 15 22:03:38 2008 -0700 cirrusfb: drop device pointers from cirrusfb_info The device pointer can be easily obtained from fb_info->device if needed. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1cea9a9a6c3c718eea42f6a936d1e98136d3d011 Author: Krzysztof Helt Date: Wed Oct 15 22:03:37 2008 -0700 cirrusfb: remove 24 bpp mode The 24 bpp mode is not implemented. Disallow it in the cirrusfb_check_var() and remove it from checks. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7528f543889fd460964b42881296b2e84457684e Author: Krzysztof Helt Date: Wed Oct 15 22:03:36 2008 -0700 cirrusfb: simplify clock calculation Simplify clock calculation. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 786e463e7fcd4ad26fede828f22033584563584a Author: Krzysztof Helt Date: Wed Oct 15 22:03:36 2008 -0700 cirrusfb: remove information about memory size during mode change Remove information about memory size displayed twice each time a display mode change. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3f7a26b4b9768fe31597d1af35106aa512dc3742 Author: Phil Endecott Date: Wed Oct 15 22:03:35 2008 -0700 intelfb: support 945GME (as used in ASUS Eee 901) Add support for Intel's 945GME graphics chip to the intelfb driver. I have assumed that the 945GME is identical to the already-supported 945GM apart from its PCI IDs; this is based on a quick look at the X driver for these chips which seems to treat them identically. The 945GME is used in the ASUS Eee 901, and I coded this in the hope that I'd be able to use it to get a console at the native 1024x600 resolution which is not known to the BIOS. I realised too late that the intelfb driver does not support mode changing on laptops, so it won't be any use for me. Signed-off-by: Phil Endecott Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b25613c276d390d1dd1d69f238ee779611ccc6c Author: Krzysztof Helt Date: Wed Oct 15 22:03:34 2008 -0700 tdfxfb: do not make changes to default tdfx_fix This was suggested by Geert Uytterhoeven to avoid overwriting of default values from the tdfx_fix. Signed-off-by: Krzysztof Helt Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3a568051f3ae23d1a570a3d58eacde55279c632e Author: Krzysztof Helt Date: Wed Oct 15 22:03:33 2008 -0700 neofb: remove open_lock mutex Remove mutex from the fb_open/fb_release functions as these operations are mutexed at fb layer. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9c8db4a265ee5000d8c21634277ec1eb9ceebc7f Author: Krzysztof Helt Date: Wed Oct 15 22:03:33 2008 -0700 vga16fb: remove open_lock mutex Remove mutex from the fb_open/fb_release functions as these operations are mutexed at fb layer. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0716a8eab3c8d21b4e36839fa0ee26abbf8e01ef Author: Krzysztof Helt Date: Wed Oct 15 22:03:32 2008 -0700 neofb: kill some redundant code Move common code outside if/else or switch/case clauses. Drop checks done twice inside the neofb_check_var(). Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4edad7f07048b681b0c633e471ad2532d592e876 Author: Krzysztof Helt Date: Wed Oct 15 22:03:32 2008 -0700 fbdev: kconfig update Update Kconfig for Permedia 2, Trident and 3Dfx frame buffer drivers. [akpm@linux-foundation.org: fix Kconfig text] Signed-off-by: Krzysztof Helt Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69e4a7c27c1f0009b5a76b457f2ceeba6e557156 Author: Joseph Chan Date: Wed Oct 15 22:03:31 2008 -0700 viafb: MAINTAINERS entry Add maintainers for VIA UniChrome(Pro)/Chrome9 Framebuffer driver Signed-off-by: Joseph Chan Signed-off-by: Scott Fang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23966d5b52e6ee1f90bb343766a9703dafceae83 Author: Joseph Chan Date: Wed Oct 15 22:03:30 2008 -0700 viafb: via_utility.c, via_utility.h, vt1636.c, vt1636.h via_utility.c, via_utility.h: support user mode application with additional information vt1636.c, vt1636.h: setting for chip vt1636 Signed-off-by: Joseph Chan Cc: Krzysztof Helt Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9f291634aa2d79dee2d8a61c5bdffe166001c580 Author: Joseph Chan Date: Wed Oct 15 22:03:29 2008 -0700 viafb: via_i2c.c, via_i2c.h, viamode.c, viamode.h via_i2c.c, via_i2c.h: Implement i2c specification. viamode.c, viamode.c: all support modes information. Signed-off-by: Joseph Chan Cc: Krzysztof Helt Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b3a45d8e5d9049c3a47b3f97405b4123bef5155b Author: Joseph Chan Date: Wed Oct 15 22:03:29 2008 -0700 viafb: viafbdev.c (update) Remove the macro MMIO_OUT32, and replace it with writel() function. And replace "u32" with "unsigned long" in writel() function (original MMIO_OUT32 marco) for avoiding warning message in 64bit OS. Signed-off-by: Joseph Chan Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 29b619fae69a0638ce10d5d6bb3c53f5d3ca0390 Author: Joseph Chan Date: Wed Oct 15 22:03:27 2008 -0700 viafb: viafbdev.c, viafbdev.h Correct by following Jiri Slaby's suggestions. Initialization, remove and some other important functions of viafb. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Joseph Chan Cc: Krzysztof Helt Cc: Geert Uytterhoeven Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d42823ef6a3ebd388b193c5533efd7e7a00b7aa8 Author: Joseph Chan Date: Wed Oct 15 22:03:27 2008 -0700 viafb: tbl1636.c, tbl1636.h, tblDPASetting.c, tblDPASetting.h tbl1636.c, tbl1636.h: patch setting for VT1636. tblDPASetting.c, tblDPASetting.h: patch for graphic clock skew. Signed-off-by: Joseph Chan Cc: Krzysztof Helt Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 37773cf564935a02b699b6db37a9f29f0bc6cd2c Author: Joseph Chan Date: Wed Oct 15 22:03:26 2008 -0700 viafb: Makefile, share.h Makefile for drivers/video/via/ share.h: shared macro for viafb Signed-off-by: Joseph Chan Cc: Krzysztof Helt Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac6c97e20f1befecd791feed57170ec6735dcce7 Author: Joseph Chan Date: Wed Oct 15 22:03:25 2008 -0700 viafb: lcd.c, lcd.h, lcdtbl.h lcd.c, lcd.h: LVDS generic process. lcdtbl.h: patch register for simultaneous case. Signed-off-by: Joseph Chan Cc: Krzysztof Helt Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c91b557ad0a4d4803874f8b908aa9732152b0f0b Author: Joseph Chan Date: Wed Oct 15 22:03:24 2008 -0700 viafb: iface.c, iface.h, ioctl.c, ioctl.h iface.c, iface.h: support getting video memory from backdoor. ioctl.c, ioctl.h: support user mode application with additional information Signed-off-by: Joseph Chan Cc: Krzysztof Helt Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d61e0bf38e3e4adb2c775d64e447f6f9bef67075 Author: Joseph Chan Date: Wed Oct 15 22:03:23 2008 -0700 viafb: hw.c, hw.h Display HW setting and other chips initialization. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Joseph Chan Cc: Krzysztof Helt Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c09c782f3e7d38e1f3842822209bb6faff4a2b1b Author: Joseph Chan Date: Wed Oct 15 22:03:23 2008 -0700 viafb: dvi.c, dvi.h, global.c and global.h dvi.c, dvi.h: TMDS generic process and setting. global.c, global.h: define global variabls. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Joseph Chan Cc: Krzysztof Helt Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae35e8106a960dc19c930badd80dd14d47d83839 Author: Joseph Chan Date: Wed Oct 15 22:03:22 2008 -0700 viafb: chip.h, debug.h Header file of information about via chipsets and debug function. Signed-off-by: Joseph Chan Cc: Krzysztof Helt Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 801b8a8c91ff054cc93fdac65e2f067c22986bbb Author: Joseph Chan Date: Wed Oct 15 22:03:21 2008 -0700 viafb: accel.c, accel.h 2D and HW cursor stuff of viafb driver. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Joseph Chan Cc: Krzysztof Helt Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6bde3ed98d9d0bc2e71b3123b003d5614debda74 Author: Joseph Chan Date: Wed Oct 15 22:03:20 2008 -0700 viafb: Makefile, Kconfig Modified drivers/video/Makefile and drivers/video/Kconfig. Signed-off-by: Joseph Chan Cc: Krzysztof Helt Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 09a525ec1cf5a142f2e73f15527c169dafc6ff52 Author: Joseph Chan Date: Wed Oct 15 22:03:19 2008 -0700 viafb: viafb.modes, viafb.txt Correct via_fb_ to viafb_ and remove the Kconfig part in viafb.txt. viafb.modes: supported mode table viafb.txt: documentation of viafb driver Signed-off-by: Joseph Chan Cc: Krzysztof Helt Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d15d56f9f10295a992cc7a7697d6fd8b01823cfc Author: Krzysztof Helt Date: Wed Oct 15 22:03:17 2008 -0700 neofb: reduce panning function Reduce panning function by deleting checks done by higher layer and folding remaining function into the called one. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 319fcb224d66a4702731ec13b8ac670ad1e923bf Author: Jean Delvare Date: Wed Oct 15 22:03:17 2008 -0700 radeonfb: revert "Fix radeon DDC regression" The bug was in fb_ddc and was fixed by commit b64d70825abbf706bbe80be1b11b09514b71f45e (fb_ddc: fix DDC lines quirk) so the workaround in radeonfb can be removed now. Signed-off-by: Jean Delvare Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 35e8bb5175c1a6ff6253f1a2acb30bfe52a2f500 Author: David Brownell Date: Wed Oct 15 22:03:16 2008 -0700 gpiolib: request/free hooks Add a new internal mechanism to gpiolib to support low power operations by letting gpio_chip instances see when their GPIOs are in use. When no GPIOs are active, chips may be able to enter lower powered runtime states by disabling clocks and/or power domains. Signed-off-by: David Brownell Cc: "Magnus Damm" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 93a22f8b95756c53e80308820892119c910d2739 Author: David Brownell Date: Wed Oct 15 22:03:15 2008 -0700 omap drivers: switch to standard GPIO calls This updates most of the OMAP drivers which are in mainline to switch to using the cross-platform GPIO calls instead of the older OMAP-specific ones. This is all fairly brainless/obvious stuff. Probably the most interesting bit is to observe that the omap-keypad code seems to now have a portable core that could work with non-OMAP matrix keypads. (That would improve with hardware IRQ debouncing enabled, of course...) Signed-off-by: David Brownell Signed-off-by: Tony Lindgren Cc: Dmitry Torokhov Cc: Antonino Daplas Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0f6d504e73b49374c6093efe6aa60ab55058248a Author: David Brownell Date: Wed Oct 15 22:03:14 2008 -0700 gpiolib: gpio_to_irq() hooks Add a new gpiolib mechanism: gpio_chip instances can provide mappings between their (input) GPIOs and any associated IRQs. This makes it easier for platforms to support IRQs that are provided by board-specific external chips instead of as part of their core (such as SOC-integrated GPIOs). Also update the irq_to_gpio() description, saying to avoid it because it's not always supported. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f8d11971b9f54362437ce70f4d1911f0996d542 Author: David Brownell Date: Wed Oct 15 22:03:13 2008 -0700 gpio: i2c expanders use subsys_init Make the I2C external GPIO expander drivers register themselves at subsys_initcall() time when they're statically linked. SOC-integrated GPIOs are available starting very early -- early in arch_initcall() at latest, but often even before initcalls start to run -- so this improves consistency, so more subsystems can rely on GPIOs in their own subsys_initcall() code. (This isn't a theoretical problem. This is one of several patches needed to resolve oopsing observed when statically linking kernels on a DaVinci EVM. Its pcf857x GPIOs needed to be available well before some other drivers initialized.) Signed-off-by: David Brownell Cc: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3d599d1ca57f443e5c4ff5af1e69d90350082f77 Author: Uwe Kleine-König Date: Wed Oct 15 22:03:12 2008 -0700 gpio_free might sleep, generic part According to the documentation gpio_free should only be called from task context only. To make this more explicit add a might sleep to all implementations. This is the generic part which changes gpiolib and the fallback implementation only. Signed-off-by: Uwe Kleine-König Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c557fa3e4c156b8713c177d9dde08920130bf551 Author: Dmitry Baryshkov Date: Wed Oct 15 22:03:11 2008 -0700 gpio: max7301: fix the race between chip addition and pins reconfiguration There is a small race and code ugliness in max7301: pins are reconfigured after the chip is registered. Swap these calls so that the device is registered in correct state. Also this fixes the comile-time warning about unchecked gpiochip_remove. Signed-off-by: Dmitry Baryshkov Cc: Juergen Beisert Cc: Guennadi Liakhovetski Cc: Russell King Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4fd5463c43d75ec919e27abdcfde1b199c19541e Author: Dmitry Baryshkov Date: Wed Oct 15 22:03:10 2008 -0700 gpio: make gpiochip label const Mark gpiochip label as a const char pointer. Fixes things like arch/arm/common/scoop.c: In function `scoop_probe': arch/arm/common/scoop.c:250: warning: assignment discards qualifiers from pointer target type Signed-off-by: Dmitry Baryshkov Acked-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1716b0fea36c2be628440c1050182a1a1e9caae7 Author: Alessandro Zummo Date: Wed Oct 15 22:03:10 2008 -0700 rtc-ds1672 new style driver New style conversion and reformatting as per indent --linux-style Signed-off-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6fd5c03f823dd6a3755b277243cd4b1718475ac0 Author: Alessandro Zummo Date: Wed Oct 15 22:03:08 2008 -0700 rtc-max6900 new style driver New style conversion and reformatting as per indent --linux-style Signed-off-by: Alessandro Zummo Cc: Dale Farnsworth Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb0d4ec4d3f49bbe17955ee4da774eb589776da4 Author: Andrew Victor Date: Wed Oct 15 22:03:08 2008 -0700 rtc-at91rm9200: remove now-unneeded code The non-functional periodic IRQ support was previously removed from the AT91RM9200 RTC driver. Remove the remaining AT91_RTC_FREQ definition. Signed-off-by: Andrew Victor Cc: David Brownell: Cc: Alessandro Zummo: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d3a126fcf9df7dc59f1cc553c2fb2e668264e86c Author: Steven A. Falco Date: Wed Oct 15 22:03:07 2008 -0700 rtc: rtc-m41t80.c: add support for the ST M41T65 RTC Add support for M41T65 Real Time Clock chip. The main differences I see between the M41T65 and M41T80 are that: 1) The M41T65 watchdog timer has three bits controlling resolution (versus two for the M41T80). 2) There is no register 0x13 for controlling square-wave output. Signed-off-by: Steven A. Falco Acked-by: Alessandro Zummo Cc: "Maciej W. Rozycki" Acked-by: Atsushi Nemoto Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 03274572215a1dfc7c382ef9b18c562612b4d466 Author: Kumar Gala Date: Wed Oct 15 22:03:06 2008 -0700 rtc: use CONFIG_PPC instead of CONFIG_PPC_MERGE Now that arch/ppc is dead CONFIG_PPC_MERGE is always defined for all powerpc platforms and we want to get rid of it use CONFIG_PPC instead. Signed-off-by: Kumar Gala Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 743e6a504f81d1e2f086e726b69fb6631d11f820 Author: David Brownell Date: Wed Oct 15 22:03:04 2008 -0700 rtc: file close() consistently disables repeating irqs Make the rtc framework consistent about disabling 1/second update IRQs that may have been activated through the /dev interface, when that /dev file is closed. (It may have closed because of coredump, etc.) This was previously done only for emulated update IRQs ... now, do it always. Also comment the current policy: repeating IRQs (periodic, update) that userspace enabled will be cleanly disabled, but alarms are left alone. Such repeating IRQs are a constant and pointless system load. Update some RTC drivers to remove now-needless release() methods. Most such methods just enforce that policy. The others all seem to be buggy, and mistreat in-kernel clients of periodic or alarm IRQs. Signed-off-by: David Brownell Acked-by: Andrew Sharp Cc: Angelo Castello Acked-by: Atsushi Nemoto Acked-by: Paul Mundt Cc: Thomas Hommel Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 37fc5e2c42833c32f7c8eb5d9b3a3115bb37d9c3 Author: Paul Mundt Date: Wed Oct 15 22:03:03 2008 -0700 rtc: rtc-rs5c372: add support for Ricoh R2025S/D RTC This adds support for the Ricoh R2025S/D series of I2C RTCs, produced by Ricoh Japan and described at: http://www.ricoh.co.jp/LSI/product_rtc/2wire/r2025x/ This series has very minor deviations from the rest of the RS5C chips, most of which have to do with the oscillator, which was abstracted away in an earlier patch. Signed-off-by: Paul Mundt Acked-by: David Brownell Tested-by: Riku Voipio Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0053dc0d13eb14108ebc48619456dd9ff6e25768 Author: Paul Mundt Date: Wed Oct 15 22:03:01 2008 -0700 rtc: rtc-rs5c372: SMBus conversion/support rtc-rs5c372 presently depends on I2C master mode transfers, despite the fact that these RTCs frequently find themselves on SMBus-only adapters. Given that the only capabilities that were checked were for I2C_FUNC_I2C, it's assumed that most of the adapters that are currently using this driver are fairly sane, and are able to handle SMBus emulation (though we adjust the default capabilities to check for I2C_FUNC_SMBUS_EMUL anyways, which is the vast majority of them. The adapters that don't have their own ->smbus_xfer() fall back on the ->master_xfer() through the emulated transfer). The special case is iop3xx, which has more than its fair share of hacks within this driver, it remains untested -- though also claims to support emulated SMBus accesses. The corner case there is rs5c_get_regs() which uses access mode #3 for transferring the register state, while we use mode #1 for SMBus. Signed-off-by: Paul Mundt Acked-by: David Brownell Tested-by: Riku Voipio Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0f4d3fd8ac76122675de900d67a470306647374b Author: David Brownell Date: Wed Oct 15 22:03:00 2008 -0700 legacy rtc: remove needless/confusing HPET_RTC_IRQ option HPET_RTC_IRQ is no longer needed; HPET_EMULATE_RTC suffices and is more correct. (http://bugzilla.kernel.org/show_bug.cgi?id=11111) Note that when using the legacy RTC driver, platforms don't really do a dynamic switch between HPET and non-HPET modes based on whether HPET hardware actually exists ... only rtc-cmos (using the new RTC framework) currently switches that way. So this reflects bitrot in that legacy code, for x86/ia64: kernels with HPET support configured (e.g. for a clocksource) can't get IRQs from the legacy RTC driver unless they really have HPET hardware. (The obvious workaround is to not use the legacy RTC driver on those platforms when you configure HPET ... unless you know the target really has a HPET.) Signed-off-by: David Brownell Cc: Alessandro Zummo Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f841a487d4dff35386e989768ec03a86a376bfde Author: David Brownell Date: Wed Oct 15 22:02:59 2008 -0700 rtc: remove some NOP open/release methods Remove NOP methods from rtc-pl030 and rtc-pl031 drivers; this is pure wasted code. Signed-off-by: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb49a5e9ee4fb0ab6a84a29c4de6c1bd112d38df Author: Rodolfo Giometti Date: Wed Oct 15 22:02:58 2008 -0700 rtc-ds1307: alarm support for ds1337/ds1339 Update the ds1307 driver with alarm support for ds1337/ds1339. This uses the first alarm (there are two), and matches on seconds, minutes, hours, and day-of-month. Tested on ds1339. [dbrownell@users.sourceforge.net: add comments; fixup style, valid irq checks, debug dumps; lock; more careful IRQ shutdown; switch BCD2BIN to bcd2bin (and vice versa); ENOTTY not EINVAL.] Signed-off-by: David Brownell Signed-off-by: Rodolfo Giometti Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f9b75e09ec3f62f2ebecec0ac9aec58656c2459 Author: Dennis Aberilla Date: Wed Oct 15 22:02:57 2008 -0700 rtc: add device driver for Dallas DS3234 SPI RTC chip Add support for the Dallas DS3234 chip - extremely accurate SPI bus RTC with integrated crystal and SRAM. [akpm@linux-foundation.org: don't use BIN2BCD/BCD2BIN] Signed-off-by: Dennis Aberilla Signed-off-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 986e36a5b817de01733d46aa623406106d661cec Author: Marc Pignat Date: Wed Oct 15 22:02:56 2008 -0700 rtc: DS1374 wakeup support Wakeup support implementation. Signed-off-by: Marc Pignat Cc: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d5b4d74f9ae85bbd558a708678b6927f962e75d Author: Laurent Pinchart Date: Wed Oct 15 22:02:55 2008 -0700 rtc-pcf8563: remove client validation Validating clients with black magic register checks doesn't make much sense for new-style i2c driver and has been known to fail on valid NXP pcf8563 chips. This patch removes the client validation code. Signed-off-by: Laurent Pinchart Signed-off-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d7b48e0bc5fa01a818eac713d4cb0763090cd0e Author: Ian Kent Date: Wed Oct 15 22:02:54 2008 -0700 autofs4: add miscellaneous device for ioctls Add a miscellaneous device to the autofs4 module for routing ioctls. This provides the ability to obtain an ioctl file handle for an autofs mount point that is possibly covered by another mount. The actual problem with autofs is that it can't reconnect to existing mounts. Immediately one things of just adding the ability to remount autofs file systems would solve it, but alas, that can't work. This is because autofs direct mounts and the implementation of "on demand mount and expire" of nested mount trees have the file system mounted on top of the mount trigger dentry. To resolve this a miscellaneous device node for routing ioctl commands to these mount points has been implemented in the autofs4 kernel module and a library added to autofs. This provides the ability to open a file descriptor for these over mounted autofs mount points. Please refer to Documentation/filesystems/autofs4-mount-control.txt for a discussion of the problem, implementation alternatives considered and a description of the interface. [akpm@linux-foundation.org: coding-style fixes] [akpm@linux-foundation.org: build fix] Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b22ff13415fa30b6282c88da790c82b4c6e5127 Author: Ian Kent Date: Wed Oct 15 22:02:53 2008 -0700 autofs4: device node ioctl documentation Add documentation for the miscellaneous device module of autofs4. Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c0f54d3e54fd7ac6723b2125d881f1b25d21ed16 Author: Ian Kent Date: Wed Oct 15 22:02:52 2008 -0700 autofs4: track uid and gid of last mount requester Track the uid and gid of the last process to request a mount for on an autofs dentry. [akpm@linux-foundation.org: fix tpyo in comment] Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bb979d7fc360bc37cbaff43a6fafceb897cb5e47 Author: Ian Kent Date: Wed Oct 15 22:02:52 2008 -0700 autofs4: cleanup autofs mount type usage Usage of the AUTOFS_TYPE_* defines is a little confusing and appears inconsistent. Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 624ae5284516870657505103ada531c64dba2a9a Author: Tyler Hicks Date: Wed Oct 15 22:02:51 2008 -0700 eCryptfs: remove netlink transport The netlink transport code has not worked for a while and the miscdev transport is a simpler solution. This patch removes the netlink code and makes the miscdev transport the only eCryptfs kernel to userspace transport. Signed-off-by: Tyler Hicks Cc: Michael Halcrow Cc: Dustin Kirkland Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 807b7ebe41ab80d96e89a53bc290d49613e56f48 Author: Badari Pulavarty Date: Wed Oct 15 22:02:50 2008 -0700 ecryptfs: convert to use new aops Convert ecryptfs to use write_begin/write_end Signed-off-by: Nick Piggin Signed-off-by: Badari Pulavarty Acked-by: Michael Halcrow Cc: Dave Kleikamp Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d6c7045581d3736c5f14053eb59342aa0b2cc07 Author: Michael Halcrow Date: Wed Oct 15 22:02:49 2008 -0700 eCryptfs: remove retry loop in ecryptfs_readdir() The retry block in ecryptfs_readdir() has been in the eCryptfs code base for a while, apparently for no good reason. This loop could potentially run without terminating. This patch removes the loop, instead erroring out if vfs_readdir() on the lower file fails. Signed-off-by: Michael Halcrow Reported-by: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d793b0bcbbbc37d80241862dfa5257963d5415e Author: Alan Cox Date: Wed Oct 15 22:02:47 2008 -0700 i2o: Fix 32/64bit DMA locking The I2O ioctls assume 32bits. In itself that is fine as they are old cards and nobody uses 64bit. However on LKML it was noted this assumption is also made for allocated memory and is unsafe on 64bit systems. Fixing this is a mess. It turns out there is tons of crap buried in a header file that does racy 32/64bit filtering on the masks. So we: - Verify all callers of the racy code can sleep (i2o_dma_[re]alloc) - Move the code into a new i2o/memory.c file - Remove the gfp_mask argument so nobody can try and misuse the function - Wrap a mutex around the problem area (a single mutex is easy to do and none of this is performance relevant) - Switch the remaining problem kmalloc holdout to use i2o_dma_alloc Cc: Markus Lidel Cc: Vasily Averin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 673c0c00382ed807f09d94e806f3519ddeeb4f70 Author: David Brownell Date: Wed Oct 15 22:02:46 2008 -0700 spi: core and gpio expanders use subsys_init Make the SPI external GPIO expander drivers register themselves at subsys_initcall() time when they're statically linked, and make the SPI core do its driver model initialization earlier so that's safe. SOC-integrated GPIOs are available starting very early -- often before initcalls start to run, or earily in arch_initcall() at latest -- so this improves consistency, letting more subsystems rely on GPIOs being usable by their own subsys_initcall() code. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2bec19feabd53cba75e9dab0e79afbe868a37113 Author: Lennert Buytenhek Date: Wed Oct 15 22:02:44 2008 -0700 orion_spi: handle 88F6183 erratum Add support to orion_spi for the 88F6183 ARM SoC by adding code to work around a 6183-specific erratum. Signed-off-by: Lennert Buytenhek Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f1f640a9c1d97a1a131879ab1efe3766443904d7 Author: Vernon Sauder Date: Wed Oct 15 22:02:43 2008 -0700 pxa2xx_spi: fix chip_info defaults and documentation. Make the chip info structure data optional by providing reasonable defaults. Improve corresponding documentation, and highlight the drawback of not providing explicit chipselect control. DMA can determine appropriate dma_burst_size and thresholds automatically so use DMA even if dma_burst_size is not specified. Signed-off-by: Vernon Sauder Reviewed-by: Ned Forrester Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 65a00a20655f4929c4991017e230175f61c8f052 Author: Guennadi Liakhovetski Date: Wed Oct 15 22:02:42 2008 -0700 pxa2xx_spi: minor cleanup Minor fixes: remove redundant local variable initialization, fix "can not" to what I _think_ is a preferred spelling, output IRQ number if requesting it failed. Signed-off-by: Guennadi Liakhovetski Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf46b973f72ddf9d1e17d6fde9aa14f61aa1afed Author: Ben Dooks Date: Wed Oct 15 22:02:41 2008 -0700 spi_s3c24xx: pin configuration updates Add a pin configuration callback for the s3c24xx SPI driver, as there are several options depending on the channel and the chip in use. This is needed as the controller may not have been setup by the initial bootloader and the fact that the SPI controller gets reset over suspend/resume into slave mode but the GPIO function registers do not. Signed-off-by: Ben Dooks Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f9b90e39cbc5c4d6ef60022fd1f25d541df0aad1 Author: Vernon Sauder Date: Wed Oct 15 22:02:40 2008 -0700 spi: simplify spi_write_then_read() Modify spi_write_then_read() to use one transfer. This speeds up all callers, and is a minor code shrink. Signed-off-by: Vernon Sauder Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 62f9e8f15a95822e0a793090ff69b277690c6aa6 Author: Kumar Gala Date: Wed Oct 15 22:02:39 2008 -0700 mpc52xx_psc_spi: remove code associated with !CONFIG_PPC_MERGE Now that arch/ppc is gone we don't need CONFIG_PPC_MERGE anymore remove the dead code associated with !CONFIG_PPC_MERGE. Signed-off-by: Kumar Gala Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: David Brownell Cc: Grant Likely Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bf2a9a39639b8b51377905397a5005f444e9a892 Author: Kirill A. Shutemov Date: Wed Oct 15 22:02:39 2008 -0700 Allow recursion in binfmt_script and binfmt_misc binfmt_script and binfmt_misc disallow recursion to avoid stack overflow using sh_bang and misc_bang. It causes problem in some cases: $ echo '#!/bin/ls' > /tmp/t0 $ echo '#!/tmp/t0' > /tmp/t1 $ echo '#!/tmp/t1' > /tmp/t2 $ chmod +x /tmp/t* $ /tmp/t2 zsh: exec format error: /tmp/t2 Similar problem with binfmt_misc. This patch introduces field 'recursion_depth' into struct linux_binprm to track recursion level in binfmt_misc and binfmt_script. If recursion level more then BINPRM_MAX_RECURSION it generates -ENOEXEC. [akpm@linux-foundation.org: make linux_binprm.recursion_depth a uint] Signed-off-by: Kirill A. Shutemov Cc: Pavel Emelyanov Cc: Alexander Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53112488bebe25c0f5f8a002470046c0fe9a6c61 Author: Kirill A. Shutemov Date: Wed Oct 15 22:02:37 2008 -0700 alpha: introduce field 'taso' into struct linux_binprm This change is Alpha-specific. It adds field 'taso' into struct linux_binprm to remember if the application is TASO. Previously, field sh_bang was used for this purpose. Signed-off-by: Kirill A. Shutemov Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Pavel Emelyanov Cc: Alexander Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cde162c2a963dba6d1b6921b58917ef8f27f4150 Author: Adrian Bunk Date: Wed Oct 15 22:02:37 2008 -0700 binfmt_som.c: add MODULE_LICENSE Add the missing MODULE_LICENSE("GPL"). Reported-by: Adrian Bunk Signed-off-by: Adrian Bunk Cc: Matthew Wilcox Cc: Grant Grundler Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e144ee546b4bb4902524e639dc9c2cd4f7f97a4 Author: Andy Whitcroft Date: Wed Oct 15 22:02:36 2008 -0700 checkpatch: version: 0.24 Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3fef12d6cb832327a981b03326f8f07abebb51b7 Author: Andy Whitcroft Date: Wed Oct 15 22:02:36 2008 -0700 checkpatch: allow for comments either side of a brace on case When specifying case we may have comments and/or braces at the end without actually having a 'statement'. Allow for these to occur in any order. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 740504c61f79a932564fb7117d79ad53d950b201 Author: Andy Whitcroft Date: Wed Oct 15 22:02:35 2008 -0700 checkpatch: suspect indent handle macro continuation When ignoring a macro in the middle of a conditional, we need to ignore the macro start and any continuation lines. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bb44ad39c886401e1ffe0876565f8b3fcea64e9d Author: Andy Whitcroft Date: Wed Oct 15 22:02:34 2008 -0700 checkpatch: trailing statements ensure we report the end of the line When reporting some complex trailing statements we report only the starting line of the error, that tends to imply the shown line is in error and confuse the reader. As we do know where the actual error is report that line too with an appropriate gap marker where applicable. #ERROR: trailing statements should be on next line #1: FILE: Z202.c:1: + for (pbh = page_buffers(bh->b_page); pbh != bh; + pbh = pbh->b_this_page, key++); #ERROR: trailing statements should be on next line #4: FILE: Z202.c:4: + for (pbh = page_buffers(bh->b_page); [...] + pbh = pbh->b_this_page, key++); Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 480120586464e5a8cd2289a90ffbb5c042e66ba0 Author: Andy Whitcroft Date: Wed Oct 15 22:02:34 2008 -0700 checkpatch: DEFINE_ macros are real definitions for exports When we want to confirm an export is directly after its definition we need to allow for DEFINE_ style macros. Add these to the execeptions. Refactor the exceptions. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bf30d6ede099c2a31b13bbd05b1022dc0da684d5 Author: Andy Whitcroft Date: Wed Oct 15 22:02:33 2008 -0700 checkpatch: complex macros checks miss square brackets We are missing 'simple' values which include square brackets. Refactor to ensure we handle nesting correctly and detect these simple forms. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f16fa28f7b3d95e989fc64c8480e44c1bcf4bac3 Author: Andy Whitcroft Date: Wed Oct 15 22:02:32 2008 -0700 checkpatch: suspect code indent must stop at #else/#elif When we hit and #else or #elif we know we are meeting an alternative piece of code. All bets are off on indent if we did not see the open of the control so stop checking. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8ed22cad9ce16e3d8915ae75544a133c3050d96f Author: Andy Whitcroft Date: Wed Oct 15 22:02:32 2008 -0700 checkpatch: pull out known acceptable typedefs Within the type checker we have a number of common kernel types which must be implemented as typedefs. Pull those out so that we can use the same expressions to trigger exclusions. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit afbe8d283b97b2317dab900fb11d2a8878ee3c23 Author: Andy Whitcroft Date: Wed Oct 15 22:02:31 2008 -0700 checkpatch: accept any sized le/be type We are likely going to have 24 bit types. Expand the type matcher to match any size. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b132e5d5865325a9aa42b122c4c466903bf48348 Author: Andy Whitcroft Date: Wed Oct 15 22:02:31 2008 -0700 checkpatch: macros which define structure members are not complex We often see macros which define structure members, these are not complex and necessarily do not have braces or brackets. For example: #define _PLIST_HEAD_INIT(head) \ .prio_list = LIST_HEAD_INIT((head).prio_list), \ .node_list = LIST_HEAD_INIT((head).node_list) Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 170d3a22688f06fda42e353bbccd0f3df89f3d94 Author: Andy Whitcroft Date: Wed Oct 15 22:02:30 2008 -0700 checkpatch: handle do without braces if we have enough context If we have sufficient context detect and handle do without braces ({). Else these incorrectly trigger a trailing statements error for the associated while. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a6a84062821738426ed4f58f4d584ecb7feb3dee Author: Andy Whitcroft Date: Wed Oct 15 22:02:30 2008 -0700 checkpatch: labels are not possible types A label is not a candidate for a possible type. Exclude them. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0776e594606e32a045e0a99bb919b2280b945495 Author: Andy Whitcroft Date: Wed Oct 15 22:02:29 2008 -0700 checkpatch: do is not a possible type A do without braces '{' may trigger a false possible type 'do' and then this may be interpreted as an external definition of foo(): do foo(); while (bar); Add do to the type exclusions. Fix up tests so we can check for them. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5fdd23acf9cd7f658746b119436ed1d787326c46 Author: Andy Whitcroft Date: Wed Oct 15 22:02:28 2008 -0700 checkpatch: version: 0.23 Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 306708547b566ef6a0ccd470c84568807571885c Author: Andy Whitcroft Date: Wed Oct 15 22:02:28 2008 -0700 checkpatch: ensure we only apply checks to the lines within hunks We should only apply source checks to lines within hunks. Checks which are anchored in the context may falsly trigger in the commentory. Ensure they only match within valid hunk lines. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6f779c18ca74358b6ac8eb8f5d502843fa92be4e Author: Andy Whitcroft Date: Wed Oct 15 22:02:27 2008 -0700 checkpatch: suspect indent count condition lines correctly Correct calculation of the number of lines of condition where we have suspect indent. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5368df20fb364e394da3ab88d3d60ee3c0a9e5ba Author: Andy Whitcroft Date: Wed Oct 15 22:02:27 2008 -0700 checkpatch: check line endings in text format files Firmware may be included in the kernel as .ihex files. These are inherantly text, but not source. The line ending checks are applicable to these kinds of file, allow just these checks to apply to all files. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81bc0e020232a1e1e7010376382bb59ca82927ac Author: Andy Whitcroft Date: Wed Oct 15 22:02:26 2008 -0700 checkpatch: handle comment/quote nesting correctly Ensure that a close comment cannot incorrectly trigger in the middle of a string. Reported by Jaswinder Singh. Signed-off-by: Andy Whitcroft Cc: Jaswinder Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dea33496ddc2bf1a50e9def87b4ef14709d8cb6d Author: Andy Whitcroft Date: Wed Oct 15 22:02:25 2008 -0700 checkpatch: suppress errors triggered by short patch When the last hunk of a patch is short it will trigger errors from checkpatch: Use of uninitialized value in pattern match (m//) at /usr/local/bin/checkpatch.pl line 394. Use of uninitialized value in concatenation (.) or string at /usr/local/bin/checkpatch.pl line 397. Use of uninitialized value in pattern match (m//) Avoid touching beyond the last line. Reported by Julien Brunel. Signed-off-by: Andy Whitcroft Cc: Julien Brunel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1080bf80862c571b5f0a20cb601e24dd90e2026 Author: Andy Whitcroft Date: Wed Oct 15 22:02:25 2008 -0700 checkpatch: case/default checks should only check changed lines We should only be checking changes lines for the trailing statement check on case/default statements. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dea79cd3dfb4a50e4c3d0dcb7294f6d633b455d1 Author: Andy Whitcroft Date: Wed Oct 15 22:02:24 2008 -0700 checkpatch: version: 0.22 Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b9ea10d691ecb616ce9e4d7a51400dfd93f52b2d Author: Andy Whitcroft Date: Wed Oct 15 22:02:24 2008 -0700 checkpatch: perform indent checks on perl So that we eat our own dog food ensure the indent checks apply to perl too. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f055663c5853aa1d9f4c86351a4637462a0b9041 Author: Andy Whitcroft Date: Wed Oct 15 22:02:23 2008 -0700 checkpatch: report the correct lines for single statement blocks Report the correct lines for single statement blocks. Currently we are reporting the right number of lines, but not skipping the negative lines. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2a1bc5d5c5096f2dfb6f8b18f39ecb718f101535 Author: Andy Whitcroft Date: Wed Oct 15 22:02:23 2008 -0700 checkpatch: %Lx tests should hand %% as a literal Ensure that we handle literal %'s correctly when adjacent to a %Lx. %Lx bad %%Lx good %%%Lx bad Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9bd49efe4e4bf88d9c1026db50325fd1b2e59519 Author: Andy Whitcroft Date: Wed Oct 15 22:02:22 2008 -0700 checkpatch: suspect indent -- skip over preprocessor, label and blank lines We should skip over and check the lines which follow preprocessor statements, labels, and blank lines. These all have legitimate reasons to be indented differently. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d001e4d88a57ba8347b43e3a20412cd6b67fbd7 Author: Andy Whitcroft Date: Wed Oct 15 22:02:21 2008 -0700 checkpatch: report the real first line of all suspect indents We are currently only reporting syspect indents if the conditional is modified but the indent missmatch could be generated by the body changing, make sure we catch both. Also only report the first line of the body, and more importantly make sure we report the raw copy of the line. Finally report the indent levels to make it easier to understand what is wrong. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6ecd967444223cea4a02d55fdc0f0510baa69523 Author: Andy Whitcroft Date: Wed Oct 15 22:02:21 2008 -0700 checkpatch: report any absolute references to kernel source files Absolute references to kernel source files are generally only useful locally to the originator of the patch. Check for any such references and report them. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e09dec4831bbb319987215ea0a280b2a620021b7 Author: Andy Whitcroft Date: Wed Oct 15 22:02:20 2008 -0700 checkpatch: reduce warnings for #include of asm/foo.h to check from arch/bar.c It is much more likely that an architecture file will want to directly include asm header files. Reduce this WARNING to a CHECK when the referencing file is in the arch directory. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c1ab33269a84d6056d2ffc728d8bbaa26377d3e3 Author: Andy Whitcroft Date: Wed Oct 15 22:02:20 2008 -0700 checkpatch: include/asm checks should be anchored It is possible to have other include/asm paths within the tree which are not subject to the do not edit checks. Ignore those. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01fa91471e9559d72c0c93ea7cca6f9fe6c2d1c3 Author: Andy Whitcroft Date: Wed Oct 15 22:02:19 2008 -0700 checkpatch: fix up comment checks search to scan the entire block We are not counting the lines in the block correctly which causes the comment scan to stop prematurly and thus miss comments which end at the end of the block. Fix this up. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 636d140a80912693be466e8d978e658189972989 Author: Andy Whitcroft Date: Wed Oct 15 22:02:18 2008 -0700 checkpatch: complex macros -- fix up extension handling Only pull in new extension lines where the current contents ends with a \. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24e1d81acd447c3a7ec9eb90f24c00edc5a4b09f Author: Andy Whitcroft Date: Wed Oct 15 22:02:18 2008 -0700 checkpatch: ____cacheline_aligned et al are modifiers Add the cacheline alignment modifiers to the attribute lists. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1ef277e2c88c80cfa00580469133e2215442c8d Author: Andy Whitcroft Date: Wed Oct 15 22:02:17 2008 -0700 checkpatch: add tests for the attribute matcher Add support for direct testing of the attribute matcher, add basic tests for it. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1bdab9e5881fde3bf66528db5b91477ce4b35b3b Author: Andy Whitcroft Date: Wed Oct 15 22:02:17 2008 -0700 checkpatch: switch indent allow plain return It is a common and sane idiom to allow a single return on the end of a case statement: switch (...) { case foo: return bar; } Add an exception for this. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 14b111c158116f02c1c862397075e28ac12d65d6 Author: Andy Whitcroft Date: Wed Oct 15 22:02:16 2008 -0700 checkpatch: conditional indent -- labels have different indent rules Labels have different indent rules and must be ignored when checking the conditional indent levels. Also correct identify labels in single statement conditionals. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d413866c7df63794790518e3fd5890969c206ad Author: Andy Whitcroft Date: Wed Oct 15 22:02:16 2008 -0700 checkpatch: values: double ampersand may be unary It is possible to use double ampersand (&&) in unary context where it means the address of a goto label. Handle spacing for it. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe2a7dbc85f37c721133c83c856f845c4ce9b602 Author: Andy Whitcroft Date: Wed Oct 15 22:02:15 2008 -0700 checkpatch: square brackets -- exemption for array slices in braces It is wholy reasonable to have square brackets representing array slices in braces on the same line. These should be spaced. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0fcff28f47194445f37264d750dbb13d3d894d0b Author: Joerg Roedel Date: Wed Oct 15 22:02:14 2008 -0700 sparc64: use iommu_num_pages function in IOMMU code Signed-off-by: Joerg Roedel Acked-by: David S. Miller Cc: FUJITA Tomonori Cc: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb117d3e519f99567ddd2c86386a6e64c6e471cd Author: Joerg Roedel Date: Wed Oct 15 22:02:13 2008 -0700 alpha: use iommu_num_pages function in IOMMU code Signed-off-by: Joerg Roedel Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: FUJITA Tomonori Cc: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2994a3b2653a3ab04f7b1459ce2442baecb62961 Author: Joerg Roedel Date: Wed Oct 15 22:02:13 2008 -0700 powerpc: use iommu_num_pages function in IOMMU code Signed-off-by: Joerg Roedel Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: FUJITA Tomonori Cc: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 036b4c50fe99a2f308f36561335b9904ab507972 Author: Joerg Roedel Date: Wed Oct 15 22:02:12 2008 -0700 x86: convert Calgary IOMMU driver to generic iommu_num_pages function Signed-off-by: Joerg Roedel Cc: Ingo Molnar Cc: Thomas Gleixner Cc: FUJITA Tomonori Acked-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e3c449f526cebb8d287241c7e82faafd9709668b Author: Joerg Roedel Date: Wed Oct 15 22:02:11 2008 -0700 x86, AMD IOMMU: convert driver to generic iommu_num_pages function Signed-off-by: Joerg Roedel Cc: Ingo Molnar Cc: Thomas Gleixner Cc: FUJITA Tomonori Cc: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1477b8e5f13266bbf0389baafd39a90ff29c5f61 Author: Joerg Roedel Date: Wed Oct 15 22:02:11 2008 -0700 x86: convert GART driver to generic iommu_num_pages function Signed-off-by: Joerg Roedel Cc: Ingo Molnar Cc: Thomas Gleixner Cc: FUJITA Tomonori Cc: Muli Ben-Yehuda Cc: Dave Airlie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 56d936607408d71c4141b2ed501410b072f1e211 Author: Joerg Roedel Date: Wed Oct 15 22:02:10 2008 -0700 introduce generic iommu_num_pages function This patch introduces the generic iommu_num_pages function. It can be used by a given memory area. Signed-off-by: Joerg Roedel Cc: "David S. Miller" Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Ingo Molnar Cc: Thomas Gleixner Cc: FUJITA Tomonori Cc: Muli Ben-Yehuda Cc: Dave Airlie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3400001c531d283068a60e9f884f7de6f22314be Author: Joerg Roedel Date: Wed Oct 15 22:02:09 2008 -0700 powerpc: rename iommu_num_pages function to iommu_nr_pages This is a preparation patch for introducing a generic iommu_num_pages function. Signed-off-by: Joerg Roedel Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: FUJITA Tomonori Cc: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a7375762a5dca3e468f17e0b2e312b362dc9ef4c Author: Joerg Roedel Date: Wed Oct 15 22:02:08 2008 -0700 sparc64: rename iommu_num_pages function to iommu_nr_pages This is a preparation patch for introducing a generic iommu_num_pages function. Signed-off-by: Joerg Roedel Acked-by: David S. Miller Cc: FUJITA Tomonori Cc: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bdab0ba3d9ad8de257ee6236daf314723748fde6 Author: Joerg Roedel Date: Wed Oct 15 22:02:07 2008 -0700 x86: rename iommu_num_pages function to iommu_nr_pages This series of patches re-introduces the iommu_num_pages function so that it can be used by each architecture specific IOMMU implementations. The series also changes IOMMU implementations for X86, Alpha, PowerPC and UltraSparc. The other implementations are not yet changed because the modifications required are not obvious and I can't test them on real hardware. This patch: This is a preparation patch for introducing a generic iommu_num_pages function. Signed-off-by: Joerg Roedel Cc: "David S. Miller" Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Ingo Molnar Cc: Thomas Gleixner Cc: FUJITA Tomonori Cc: Muli Ben-Yehuda Cc: Dave Airlie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b418da16dd44810e5d5a22bba377cca80512a524 Author: Christoph Hellwig Date: Wed Oct 15 22:02:06 2008 -0700 compat: generic compat get/settimeofday Nothing arch specific in get/settimeofday. The details of the timeval conversion varied a little from arch to arch, but all with the same results. Also add an extern declaration for sys_tz to linux/time.h because externs in .c files are fowned upon. I'll kill the externs in various other files in a sparate patch. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Christoph Hellwig Acked-by: David S. Miller [ sparc bits ] Cc: "Luck, Tony" Cc: Ralf Baechle Acked-by: Kyle McMartin Cc: Matthew Wilcox Cc: Grant Grundler Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: Ingo Molnar Cc: Thomas Gleixner Cc: "H. Peter Anvin" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7a5000f7a8924e9c5fad1801616601d6dc65a17 Author: Christoph Hellwig Date: Wed Oct 15 22:02:05 2008 -0700 compat: move cp_compat_stat to common code struct stat / compat_stat is the same on all architectures, so cp_compat_stat should be, too. Turns out it is, except that various architectures have slightly and some high2lowuid/high2lowgid or the direct assignment instead of the SET_UID/SET_GID that expands to the correct one anyway. This patch replaces the arch-specific cp_compat_stat implementations with a common one based on the x86-64 one. Signed-off-by: Christoph Hellwig Acked-by: David S. Miller [ sparc bits ] Acked-by: Kyle McMartin [ parisc bits ] Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7ad160b49c49dc9cd383b9184c6fa4a9b4f7ebb Author: Alex Raimondi Date: Wed Oct 15 22:02:03 2008 -0700 include/linux/clk.h: fix comment clk_get and clk_put may not be used from within interrupt context. Change comment to this function. Signed-off-by: Alex Raimondi Signed-off-by: Haavard Skinnemoen Acked-by: Russell King Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20036fdcaf05fac0a84ed81a56906493a7d822e2 Author: Andi Kleen Date: Wed Oct 15 22:02:02 2008 -0700 Add kerneldoc documentation for new printk format extensions Add documentation in kerneldoc for new printk format extensions This patch documents the new %pS/%pF options in printk in kernel doc. Hope I didn't miss any other extension. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9536727ef696861b205834dd2e01456b91088cb7 Author: Andi Kleen Date: Wed Oct 15 22:02:02 2008 -0700 SubmittingPatches: add a reference to Andi's OLS paper For this year's OLS I wrote a paper on successfull strategies to submit difficult kernel patches. Add a reference to it to SubmittingPatches. Signed-off-by: Andi Kleen Acked-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22b8ab66deb2600f93d24d30df17b9d9e5273d05 Author: Bernhard Walle Date: Wed Oct 15 22:02:01 2008 -0700 Document panic_on_unrecovered_nmi sysctl This adds "panic_on_unrecovered_nmi" sysctl to Documentation/filesystems/proc.txt. The text is mainly taken from http://readlist.com/lists/vger.kernel.org/linux-kernel/43/217998.html. Signed-off-by: Bernhard Walle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d5cd6effed5f8c958a6c0df56da336f5a4fdb8a Author: Randy Dunlap Date: Wed Oct 15 22:02:00 2008 -0700 taint: fix kernel-doc Move print_tainted() kernel-doc to avoid the following error: Error(/var/linsrc/mmotm-2008-1002-1617//kernel/panic.c:155): cannot understand prototype: 'struct tnt ' Signed-off-by: Randy Dunlap Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2223c65103d2aa8d0e9c48a956035a1e0353233d Author: FD Cami Date: Wed Oct 15 22:02:00 2008 -0700 Remove Andrew Morton's http://www.zip.com.au/~akpm/ Remove Andrew Morton's http://www.zip.com.au/~akpm/ urls, update to new ones when necessary, delete references otherwise. There are still instances of that living in: Documentation/zh_CN/HOWTO Documentation/zh_CN/SubmittingPatches Documentation/ko_KR/HOWTO Documentation/ja_JP/SubmittingPatches Signed-off-by: Francois Cami Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e1f8e87449147ffe5ea3de64a46af7de450ce279 Author: Francois Cami Date: Wed Oct 15 22:01:59 2008 -0700 Remove Andrew Morton's old email accounts People can use the real name an an index into MAINTAINERS to find the current email address. Signed-off-by: Francois Cami Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8033fe65a6d6c0e47ba9e3cb2e4e6902f9dfb8dd Author: Randy Dunlap Date: Wed Oct 15 22:01:59 2008 -0700 documentation: explain memory barriers We want all uses of memory barriers to be explained in the source code. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7968b3d9a673e922ab980b2616945e63a52d88fe Author: WANG Cong Date: Wed Oct 15 22:01:57 2008 -0700 kernel/kallsyms.c: fix double return Commit 6dd06c9fbe025f542bce4cdb91790c0f91962722 ("module: make module_address_lookup safe") introduced double returns in the function kallsyms_lookup(), it's weird. The second one should be removed. Signed-off-by: WANG Cong Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f337b9c58332bdecde965b436e47ea4c94d30da0 Author: Davide Libenzi Date: Wed Oct 15 22:01:56 2008 -0700 epoll: drop unnecessary test Thomas found that there is an unnecessary (always true) test in ep_send_events(). The callback never inserts into ->rdllink while the send loop is performed, and also does the ~EP_PRIVATE_BITS test. Given we're holding the mutex during this time, the conditions tested inside the loop are always true. This patch drops the test done inside the re-insertion loop. Signed-off-by: Davide Libenzi Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b6e47ad062e6ac993fb80256344fc499c1e827b Author: Andrew Victor Date: Wed Oct 15 22:01:55 2008 -0700 AT91: atmel_pwm only available for certain AT91 processors Only three of Atmel's AT91 processors (SAM9263, SAM9RL and CAP9) include a PWM controller. It should therefore only be possible to enable the misc/atmel_pwm.c driver on those processors (and not all AT91 processors). Signed-off-by: Andrew Victor Cc: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d133181d873255cb071f8b19c4b2c1f326c2de95 Author: Alberto Bertogli Date: Wed Oct 15 22:01:53 2008 -0700 Fix typo in the FIRMWARE_IN_KERNEL help Signed-off-by: Alberto Bertogli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 362e6663ef2369d77251496d865ad02a2376f962 Author: Jason Baron Date: Wed Oct 15 22:01:52 2008 -0700 exec.c, compat.c: fix count(), compat_count() bounds checking With MAX_ARG_STRINGS set to 0x7FFFFFFF, and being passed to 'count()' and compat_count(), it would appear that the current max bounds check of fs/exec.c:394: if(++i > max) return -E2BIG; would never trigger. Since 'i' is of type int, so values would wrap and the function would continue looping. Simple fix seems to be chaning ++i to i++ and checking for '>='. Signed-off-by: Jason Baron Acked-by: Peter Zijlstra Cc: "Ollie Wild" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9679e4dd628743b9ef4375d60ae69923c3766173 Author: Andrew Morton Date: Wed Oct 15 22:01:51 2008 -0700 kernel/sys.c: improve code generation utsname() is quite expensive to calculate. Cache it in a local. text data bss dec hex filename before: 11136 720 16 11872 2e60 kernel/sys.o after: 11096 720 16 11832 2e38 kernel/sys.o Acked-by: Vegard Nossum Cc: "Eric W. Biederman" Acked-by: "Serge E. Hallyn" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87988815073918134c0dae059cf247a4472d78ed Author: Vegard Nossum Date: Wed Oct 15 22:01:51 2008 -0700 utsname: completely overwrite prior information On sethostname() and setdomainname(), previous information may be retained if it was longer than than the new hostname/domainname. This can be demonstrated trivially by calling sethostname() first with a long name, then with a short name, and then calling uname() to retrieve the full buffer that contains the hostname (and possibly parts of the old hostname), one just has to look past the terminating zero. I don't know if we should really care that much (hence the RFC); the only scenarios I can possibly think of is administrator putting something sensitive in the hostname (or domain name) by accident, and changing it back will not undo the mistake entirely, though it's not like we can recover gracefully from "rm -rf /" either... The other scenario is namespaces (CLONE_NEWUTS) where some information may be unintentionally "inherited" from the previous namespace (a program wants to hide the original name and does clone + sethostname, but some information is still left). I think the patch may be defended on grounds of the principle of least surprise. But I am not adamant :-) (I guess the question now is whether userspace should be able to write embedded NULs into the buffer or not...) At least the observation has been made and the patch has been presented. Signed-off-by: Vegard Nossum Cc: "Eric W. Biederman" Cc: "Serge E. Hallyn" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 929f37cb3c3e0f4d23d7106693b7067cf72f4dbc Author: Randy Dunlap Date: Wed Oct 15 22:01:48 2008 -0700 dontdiff: more updates to be closer to gitignore defkeymap.c_shipped should be diffed if it is changed. Reported-by: Mike Galbraith COPYING, CREDITS, .mailmap should be diffed if they are changed. keywords.c_shipped & lex.c_shipped should be diffed when changed. parse.[ch]_shipped should be diffed when changed. Reported-by: Sam Ravnborg vsyscall* updates from a .gitignore patch by "Denis V. Lunev" . *.so.dbg from a .gitignore patch by Thomas Gleixner . binoffset from a .gitignore patch by Uwe Kleine-Koenig . Module.markers from a .gitignore patch by Matthew Wilcox . vmlinux*.lds* should be diffed if changed. Reported-by: Etienne Lorrain vmlinux.lds from a .gitignore patch by Daniel Guilak . *.scr should be diffed if changed. Lots of updates from http://lkml.org/lkml/2008/5/20/32 Reported-by: Bart Van Assche Use ncscope.* instead of *cscope* since the latter may catch too many files. Add *.elf, from a .gitignore patch by Eduard - Gabriel Munteanu . Make firmware entries match .gitignore entries. Make some entries less greedy by removing trailing '*'. Remove "make_times_h" (no such file). Remove "filelist" (no such file). Remove "dummy_sym.c" (no such file). Remove "gen-kdb_cmds.c" (no such file). Remove "gentbl" (no such file). Remove "kconfig.tk" (no such file). Remove "tkparse" (no such file). Remove "sim710_d.h" (no such file). Remove "53c8xx_d.h" (no such file). Add "syscalltab.h" (generated file). Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c828320d2e063dd1ec84e873e6399bfc3d85d6f Author: Shane McDonald Date: Wed Oct 15 22:01:46 2008 -0700 doc: typo in Documentation/filesystems/nfsroot.txt Add a missing word to the explanation of the purpose of the zdisk and bzdisk make targets. Signed-off-by: Shane McDonald Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22b8ce94708f7cdf0b04965c6f7443dfd374c35c Author: Dave Hansen Date: Wed Oct 15 22:01:46 2008 -0700 profiling: dynamically enable readprofile at runtime Way too often, I have a machine that exhibits some kind of crappy behavior. The CPU looks wedged in the kernel or it is spending way too much system time and I wonder what is responsible. I try to run readprofile. But, of course, Ubuntu doesn't enable it by default. Dang! The reason we boot-time enable it is that it takes a big bufffer that we generally can only bootmem alloc. But, does it hurt to at least try and runtime-alloc it? To use: echo 2 > /sys/kernel/profile Then run readprofile like normal. This should fix the compile issue with allmodconfig. I've compile-tested on a bunch more configs now including a few more architectures. Signed-off-by: Dave Hansen Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0c2d64fb6cae9aae480f6a46cfe79f8d7d48b59f Author: Adam Tkac Date: Wed Oct 15 22:01:45 2008 -0700 rlimit: permit setting RLIMIT_NOFILE to RLIM_INFINITY When a process wants to set the limit of open files to RLIM_INFINITY it gets EPERM even if it has CAP_SYS_RESOURCE capability. For example, BIND does: ... #elif defined(NR_OPEN) && defined(__linux__) /* * Some Linux kernels don't accept RLIM_INFINIT; the maximum * possible value is the NR_OPEN defined in linux/fs.h. */ if (resource == isc_resource_openfiles && rlim_value == RLIM_INFINITY) { rl.rlim_cur = rl.rlim_max = NR_OPEN; unixresult = setrlimit(unixresource, &rl); if (unixresult == 0) return (ISC_R_SUCCESS); } #elif ... If we allow setting RLIMIT_NOFILE to RLIM_INFINITY we increase portability - you don't have to check if OS is linux and then use different schema for limits. The spec says "Specifying RLIM_INFINITY as any resource limit value on a successful call to setrlimit() shall inhibit enforcement of that resource limit." and we're presently not doing that. Cc: Michael Kerrisk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4236f81f2347096df650fb072f50d67bb6066a2 Author: Naohiro Ooiwa Date: Wed Oct 15 22:01:43 2008 -0700 sysrq: add enable_mask in sysrq_moom_op It is written in the Documentation/sysrq.txt that oom-killer is enabled when we set "64" in /proc/sys/kernel/sysrq: Here is the list of possible values in /proc/sys/kernel/sysrq: 64 - enable signalling of processes (term, kill, oom-kill) ^^^^^^^^ but enable_mask is not set in sysrq_moom_op. Signed-off-by: Naohiro Ooiwa Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 25ddbb18aae33ad255eb9f35aacebe3af01e1e9c Author: Andi Kleen Date: Wed Oct 15 22:01:41 2008 -0700 Make the taint flags reliable It's somewhat unlikely that it happens, but right now a race window between interrupts or machine checks or oopses could corrupt the tainted bitmap because it is modified in a non atomic fashion. Convert the taint variable to an unsigned long and use only atomic bit operations on it. Unfortunately this means the intvec sysctl functions cannot be used on it anymore. It turned out the taint sysctl handler could actually be simplified a bit (since it only increases capabilities) so this patch actually removes code. [akpm@linux-foundation.org: remove unneeded include] Signed-off-by: Andi Kleen Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 889d51a10712b6fd6175196626de2116858394f4 Author: Nye Liu Date: Wed Oct 15 22:01:40 2008 -0700 initramfs: add option to preserve mtime from initramfs cpio images When unpacking the cpio into the initramfs, mtimes are not preserved by default. This patch adds an INITRAMFS_PRESERVE_MTIME option that allows mtimes stored in the cpio image to be used when constructing the initramfs. For embedded applications that run exclusively out of the initramfs, this is invaluable: When building embedded application initramfs images, its nice to know when the files were actually created during the build process - that makes it easier to see what files were modified when so we can compare the files that are being used on the image with the files used during the build process. This might help (for example) to determine if the target system has all the updated files you expect to see w/o having to check MD5s etc. In our environment, the whole system runs off the initramfs partition, and seeing the modified times of the shared libraries (for example) helps us find bugs that may have been introduced by the build system incorrectly propogating outdated shared libraries into the image. Similarly, many of the initializion/configuration files in /etc might be dynamically built by the build system, and knowing when they were modified helps us sanity check whether the target system has the "latest" files etc. Finally, we might use last modified times to determine whether a hot fix should be applied or not to the running ramfs. Signed-off-by: Nye Liu Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9ba16087d9f996a93ab6f4453a52a4b24bc1f25c Author: Jan Beulich Date: Wed Oct 15 22:01:38 2008 -0700 Kconfig: eliminate "def_bool n" constructs Using "def_bool n" is pointless, simply using bool here appears more appropriate. Further, retaining such options that don't have a prompt and aren't selected by anything seems also at least questionable. Signed-off-by: Jan Beulich Cc: Ingo Molnar Cc: Tony Luck Cc: Thomas Gleixner Cc: Bartlomiej Zolnierkiewicz Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a25d644fc0e232f242d1f3baa63c149c42536ff0 Author: Tejun Heo Date: Wed Oct 15 22:01:38 2008 -0700 wait: kill is_sync_wait() is_sync_wait() is used to distinguish between sync and async waits. Basically sync waits are the ones initialized with init_waitqueue_entry() and async ones with init_waitqueue_func_entry(). The sync/async distinction is used only in prepare_to_wait[_exclusive]() and its only function is to skip setting the current task state if the wait is async. This has a few problems. * No one uses it. None of func_entry users use prepare_to_wait() functions, so the code path never gets executed. * The distinction is bogus. Maybe back when func_entry is used only by aio but it's now also used by epoll and in future possibly by 9p and poll/select. * Taking @state as argument and ignoring it silenly depending on how @wait is initialized is just a bad error-prone API. * It prevents func_entry waits from using wait->private for no good reason. This patch kills is_sync_wait() and the associated code paths from prepare_to_wait[_exclusive](). As there was no user of these code paths, this patch doesn't cause any behavior difference. Signed-off-by: Tejun Heo Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c80cfb0406c01bb5da91bfe30f5cb1fd96831138 Author: Bjorn Helgaas Date: Wed Oct 15 22:01:35 2008 -0700 vsprintf: use new vsprintf symbolic function pointer format Use the '%pF' format to get rid of an "#ifdef DEBUG" and make some printks atomic. This removes the last in-tree uses of print_fn_descriptor_symbol(). I marked print_fn_descriptor_symbol() deprecated and scheduled it for removal next year to give time for out-of-tree modules to be updated. parisc's print_fn_descriptor_symbol() is currently broken there (it needs to dereference the function pointer similar to ia64 and power). This patch shouldn't make anything worse, but it means we need to fix dereference_function_descriptor() instead of print_fn_descriptor_symbol() to get meaningful initcall_debug output. Signed-off-by: Bjorn Helgaas Cc: Jesse Barnes Cc: Kyle McMartin Cc: "Rafael J. Wysocki" Cc: Kay Sievers Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 404d0ae289f7a76ff233e8fbfde8b1e7b6e62ae3 Author: Danny ter Haar Date: Wed Oct 15 22:01:34 2008 -0700 fix random typos Signed-off-by: Danny ter Haar Cc: Patrick McHardy Cc: Mikael Starvik Cc: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 93fd85d005eae2d1106aabd581adb6f20e335c83 Author: Geert Uytterhoeven Date: Wed Oct 15 22:01:32 2008 -0700 identify_ramdisk_image(): correct typo about return value in comment identify_ramdisk_image() returns 0 (not -1) if a gzipped ramdisk is found: if (buf[0] == 037 && ((buf[1] == 0213) || (buf[1] == 0236))) { printk(KERN_NOTICE "RAMDISK: Compressed image found at block %d\n", start_block); nblocks = 0; ^^^^^^^^^^^ goto done; } ... done: sys_lseek(fd, start_block * BLOCK_SIZE, 0); kfree(buf); return nblocks; ^^^^^^^^^^^^^^ Hence correct the typo in the comment, which has existed since the addition of compressed ramdisk support in 1.3.48. Signed-off-by: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e0eb731e52ebfab177860e59e6e3464c2521839 Author: Ilpo Järvinen Date: Wed Oct 15 22:01:31 2008 -0700 nubus: fix mis-indented statement It seems this is the right way around because otherwise the len usage in the outer loop would be pretty pointless. Signed-off-by: Ilpo Järvinen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd1c53a64a48b6c16f349e46b71f0938d9a4fa1f Author: frans Date: Wed Oct 15 22:01:30 2008 -0700 Fix Documentation/filesystems/ramfs-rootfs-initramfs.txt First a file hello.c is created, then the file hello2.c is compiled. Change this to hello.c Signed-off-by: Frans Meulenbroeks Signed-off-by: Rob Landley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fca692c0a923c142c28d65e1101806bac1f69bb5 Author: Randy Dunlap Date: Wed Oct 15 22:01:29 2008 -0700 eeepc: depends on RFKILL EEEPC_LAPTOP uses RFKILL, so the former should depend on RFKILL. Build errors happen when EEEPC_LAPTOP=y and RFKILL=m. eeepc-laptop.c:(.text+0xd5a7b): undefined reference to `rfkill_allocate' eeepc-laptop.c:(.text+0xd5b04): undefined reference to `rfkill_register' eeepc-laptop.c:(.text+0xd5b48): undefined reference to `rfkill_allocate' eeepc-laptop.c:(.text+0xd5bd4): undefined reference to `rfkill_register' eeepc-laptop.c:(.text+0xd5ece): undefined reference to `rfkill_unregister' eeepc-laptop.c:(.text+0xd5ef6): undefined reference to `rfkill_unregister' make[1]: *** [.tmp_vmlinux1] Error 1 Signed-off-by: Randy Dunlap Cc: Corentin Chary Cc: Matthew Garrett Cc: Henrique de Moraes Holschuh Cc: Karol Kozimor Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cbf330b94e9c888e9d2b99523037f9be5c4ba795 Author: Julia Lawall Date: Wed Oct 15 22:01:27 2008 -0700 drivers/misc: Use DIV_ROUND_UP The kernel.h macro DIV_ROUND_UP performs the computation (((n) + (d) - 1) / (d)) but is perhaps more readable. An extract of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @haskernel@ @@ #include @depends on haskernel@ expression n,d; @@ ( - (n + d - 1) / d + DIV_ROUND_UP(n,d) | - (n + (d - 1)) / d + DIV_ROUND_UP(n,d) ) @depends on haskernel@ expression n,d; @@ - DIV_ROUND_UP((n),d) + DIV_ROUND_UP(n,d) @depends on haskernel@ expression n,d; @@ - DIV_ROUND_UP(n,(d)) + DIV_ROUND_UP(n,d) // Signed-off-by: Julia Lawall Cc: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ecfea06386c6b1344e83c8f909c87c88262ba1d Author: Robert P. J. Day Date: Wed Oct 15 22:01:27 2008 -0700 init.h: remove long-dead __setup_null_param() macro This macro appears to have been unused for ages, and there are no invocations of it anywhere in the source tree. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d9f3216b474be170d0c093d70125b541ace58704 Author: Adrian Bunk Date: Wed Oct 15 22:01:26 2008 -0700 kernel/dma.c: remove a CVS keyword Remove a CVS keyword that wasn't updated for a long time from a comment. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 693ac389326a87d608baa2902c45a6e78ed46681 Author: Adrian Bunk Date: Wed Oct 15 22:01:25 2008 -0700 include/linux/mount.h: remove CVS keyword Remove a CVS keyword that wasn't updated for a long time from a comment. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 80a914dc05683ecfc98f9e1887fd6564846ffbec Author: Harvey Harrison Date: Wed Oct 15 22:01:25 2008 -0700 misc: replace __FUNCTION__ with __func__ __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d5c003b4d1690e666dbab02bc8e705947baa848c Author: Harvey Harrison Date: Wed Oct 15 22:01:24 2008 -0700 include: replace __FUNCTION__ with __func__ __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e9c7716c138fa82d919bfe1115ec8c938e90918 Author: Harvey Harrison Date: Wed Oct 15 22:01:23 2008 -0700 olpc: olpc_battery.c sparse endian annotations Signed-off-by: Harvey Harrison Acked-by: Andres Salomon Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2efa6d5ce14f92d13e2710f7343687a9acfd324 Author: Adrian Bunk Date: Wed Oct 15 22:01:22 2008 -0700 uml: remove the dead TTY_LOG code Remove the dead CONFIG_TTY_LOG (no kconfig option). Reported-by: Robert P. J. Day Signed-off-by: Adrian Bunk Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b25f29b0da23f4f784f9bcae954b157e1f45cc69 Author: Frans Pop Date: Wed Oct 15 22:01:21 2008 -0700 pm: document use of RTC in pm_trace As pm_trace uses the system's hardware clock to save its magic value, users of that option should be warned that using this debug option will result in an incorrect system time after resume. Signed-off-by: Frans Pop Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1bfcf1304ea79c46efc3724e548b13b4b442b418 Author: Rafael J. Wysocki Date: Wed Oct 15 22:01:21 2008 -0700 pm: rework disabling of user mode helpers during suspend/hibernation We currently use a PM notifier to disable user mode helpers before suspend and hibernation and to re-enable them during resume. However, this is not an ideal solution, because if any drivers want to upload firmware into memory before suspend, they have to use a PM notifier for this purpose and there is no guarantee that the ordering of PM notifiers will be as expected (ie. the notifier that disables user mode helpers has to be run after the driver's notifier used for uploading the firmware). For this reason, it seems better to move the disabling and enabling of user mode helpers to separate functions that will be called by the PM core as necessary. [akpm@linux-foundation.org: remove unneeded ifdefs] Signed-off-by: Rafael J. Wysocki Cc: Alan Stern Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 574f34cee2b6574d43bf4506f771c1cec6a5d391 Author: Alexey Dobriyan Date: Wed Oct 15 22:01:19 2008 -0700 alpha: notify_cpu_starting() compile fixlet arch/alpha/kernel/smp.c:153: error: implicit declaration of function 'notify_cpu_starting' Signed-off-by: Alexey Dobriyan Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ffc32d67563774cb09496aaeac4097ae6202cfcc Author: Adrian Bunk Date: Wed Oct 15 22:01:19 2008 -0700 Alpha Miata: remove dead URL Remove a dead URL. Cc: Yoshinori Sato Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f664526def0bf8526090e32676e151738c5c39b Author: Adrian Bunk Date: Wed Oct 15 22:01:18 2008 -0700 asm-h8300/md.h: remove CVS keyword Remove a CVS keyword that wasn't updated for a long time from a comment. Signed-off-by: Adrian Bunk Cc: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9791af55b5edb44d89608b9934a0022e7a27f625 Author: Yoshinori Sato Date: Wed Oct 15 22:01:17 2008 -0700 h8300: GENERIC_BUG support CONFIG_GENERIC_BUG support. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81d423e280d193d351f41eacdb3f82c3bb9610c1 Author: Yoshinori Sato Date: Wed Oct 15 22:01:17 2008 -0700 h8300: update timer handler - misc update - Update selection - Update common timer handler - Add support functions Signed-off-by: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e0b0f9e4ead2468f84c26332ec42b118e76af572 Author: Yoshinori Sato Date: Wed Oct 15 22:01:16 2008 -0700 h8300: update timer handler - new files New timer handler files. Signed-off-by: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b6aba51fb64071e22dad7b971c73af61916a48b Author: Yoshinori Sato Date: Wed Oct 15 22:01:16 2008 -0700 h8300: update timer handler - delete files Delete old timer handler. Signed-off-by: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4cfb18d7917ecb397b3497e931a2a23175709b7 Author: Volodymyr G. Lukiianyk Date: Wed Oct 15 22:01:15 2008 -0700 uclinux: fix gzip header parsing in binfmt_flat.c There are off-by-one errors in decompress_exec() when calculating the length of optional "original file name" and "comment" fields: the "ret" index is not incremented when terminating '\0' character is reached. The check of the buffer overflow (after an "extra-field" length was taken into account) is also fixed. I've encountered this off-by-one error when tried to reuse gzip-header-parsing part of the decompress_exec() function. There was an "original file name" field in the payload (with miscalculated length) and zlib_inflate() returned Z_DATA_ERROR. But after the fix similar to this one all worked fine. Signed-off-by: Volodymyr G Lukiianyk Acked-by: Greg Ungerer Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0c6aa2639ea83bfb7f91d72118bad70b3f60012a Author: Krishna Kumar Date: Wed Oct 15 22:01:13 2008 -0700 mm: do_generic_file_read() never gets a NULL 'filp' argument The 'filp' argument to do_generic_file_read() is never NULL. Signed-off-by: Krishna Kumar Reviewed-by: KOSAKI Motohiro Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4d1d99fdd8b98fb03dfd6ef9b0ece220de38640 Author: David Gibson Date: Wed Oct 15 22:01:11 2008 -0700 hugetlb: handle updating of ACCESSED and DIRTY in hugetlb_fault() The page fault path for normal pages, if the fault is neither a no-page fault nor a write-protect fault, will update the DIRTY and ACCESSED bits in the page table appropriately. The hugepage fault path, however, does not do this, handling only no-page or write-protect type faults. It assumes that either the ACCESSED and DIRTY bits are irrelevant for hugepages (usually true, since they are never swapped) or that they are handled by the arch code. This is inconvenient for some software-loaded TLB architectures, where the _PAGE_ACCESSED (_PAGE_DIRTY) bits need to be set to enable read (write) access to the page at the TLB miss. This could be worked around in the arch TLB miss code, but the TLB miss fast path can be made simple more easily if the hugetlb_fault() path handles this, as the normal page fault path does. Signed-off-by: David Gibson Cc: William Lee Irwin III Cc: Hugh Dickins Cc: Adam Litke Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit db99100d2ed40dd9736fcb1adb3657a98f9bcfd9 Author: Andrew Morton Date: Wed Oct 15 22:01:07 2008 -0700 mm/page_alloc.c:free_area_init_nodes() fix inappropriate use of enum Local variable `i' is a) misleadingly-named for an `enum zone_type' and b) used for indexing zones as well as nodes as well as node_maps. Make it an `int'. Reported-by: Frans Pop Cc: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9363b9f23c9cc36cc8ef6c05fdf879ee4a96ae92 Author: Balbir Singh Date: Wed Oct 15 22:01:05 2008 -0700 memrlimit: cgroup mm owner callback changes to add task info This patch adds an additional field to the mm_owner callbacks. This field is required to get to the mm that changed. Hold mmap_sem in write mode before calling the mm_owner_changed callback [hugh@veritas.com: fix mmap_sem deadlock] Signed-off-by: Balbir Singh Cc: Sudhir Kumar Cc: YAMAMOTO Takashi Cc: Paul Menage Cc: Li Zefan Cc: Pavel Emelianov Cc: Balbir Singh Cc: KAMEZAWA Hiroyuki Cc: David Rientjes Cc: Vivek Goyal Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1648993fb05c487947c1cec6307aca29d8002abe Author: Joerg Roedel Date: Wed Oct 15 22:01:03 2008 -0700 introduce generic header file for the software IO/TLB A series of patches introduce a generic header file for the software IO/TLB implementation in lib/swiotlb.c. Currently each architecture using this code defines the prototypes itself. The prototypes are moved to include/linux/swiotlb.h and this file is included in architecture specific code for X86 and IA64. This patch: Create include/linux/swiotlb.h file which contains all function prototypes for the lib/swiotlb.c file. (akpm: the dependent patches will be trickled through arch trees) Signed-off-by: Joerg Roedel Cc: Ingo Molnar Cc: Thomas Gleixner Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 12caa1b6fc3a9772535227c723c11878b5ca618e Author: Andi Kleen Date: Tue Oct 7 12:17:28 2008 +0200 Add a reference to paper to SubmittingPatches Add a reference to paper to SubmittingPatches For this year's OLS I wrote a paper on successfull strategies to submit difficult kernel patches. Add a reference to it to SubmittingPatches. Signed-off-by: Andi Kleen Signed-off-by: Jonathan Corbet commit dc02c5290c02c6f6a5fdcee89260ef35f9af3970 Author: Andi Kleen Date: Tue Oct 7 12:15:32 2008 +0200 Add kerneldoc documentation for new printk format extensions Add documentation in kerneldoc for new printk format extensions This patch documents the new %pS/%pF options in printk in kernel doc. Hope I didn't miss any other extension. Signed-off-by: Andi Kleen Signed-off-by: Jonathan Corbet commit 7e3975617df8dd8b7fd94f14200abdec9f71729e Author: Jonathan Corbet Date: Thu Oct 16 11:53:20 2008 -0600 Remove videobook.tmpl This document describes the long-deprecated V4L1 interface. In-tree, it can only serve to encourage developers to write drivers to the wrong API. Remove it in favor of the V4L2 documentation which must surely show up someday. Acked-by: Alan Cox Acked-by: Mauro Carvalho Chehab Signed-off-by: Jonathan Corbet commit 58bae1f5cfd077f7f5f3af5d1ac50c3a82ac6411 Author: Hidetoshi Seto Date: Tue May 13 13:36:55 2008 +0900 doc: Test-by? Commonly used is "Tested-by." Signed-off-by: Hidetoshi Seto Signed-off-by: Jonathan Corbet commit 75b021468368288ac8fec1a86a13f5cf2229139e Author: Jonathan Corbet Date: Tue Sep 30 15:15:56 2008 -0600 Add the development process document This is an extended document intended to help interested developers, their managers, and their employers work with the kernel development process. This work was supported by the Linux Foundation. Signed-off-by: Jonathan Corbet commit d86f4bc4bc34c63c90e5fd46a60c506b234f5708 Author: Alberto Bertogli Date: Fri Sep 26 23:10:31 2008 -0300 Documentation/block/data-integrity.txt: Fix section numbers Signed-off-by: Alberto Bertogli Signed-off-by: Jonathan Corbet commit 02683ffdf655b4ae15245376ba6fea6d9e5829a6 Author: Andrew G. Harvey Date: Wed Sep 24 01:10:02 2008 +0200 UIO: Fix mapping of logical and virtual memory mmap() doesn't work as expected for UIO_MEM_LOGICAL or UIO_MEM_VIRTUAL mappings. The offset into the memory needs to be added, otherwise uio_vma_fault always returns the first page only. Note that for UIO userspace calls mmap() with offset = N * getpagesize() to access mapping N. This must be compensated when calculating the offset. A comment was added to explain this since it is not obvious. Signed-off-by: Andrew G. Harvey Signed-off-by: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit a6030fcc608bd333c80eab3bfc72f63906476c61 Author: John Ogness Date: Thu Sep 18 11:57:15 2008 +0200 UIO: add automata sercos3 pci card support Here is a new version of the patch to support the Automata Sercos III PCI card driver. I now check that the IRQ is enabled before accepting the interrupt. I still use a logical OR to store the enabled interrupts and I've added a second use of a logical OR when restoring the enabled interrupts. I added an explanation of why I do this in comments at the top of the source file. Since I use a logical OR, I also removed the extra checks if the Interrupt Enable Register and ier0_cache are 0. Signed-off-by: John Ogness Signed-off-by: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit a6fcc3a196d34f6619173ff83c33f8a42074bb76 Author: Hans J. Koch Date: Thu Sep 18 23:03:07 2008 +0200 UIO: Change driver name of uio_pdrv The generic UIO platform device driver should be given a unique driver ID and not just "uio". This is especially important since we now have a similar driver named uio_pdrv_genirq. Currently, there's no user of this driver in the mainline kernel. Signed-off-by: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit e2b39df119712ea5184562a6a14696a5cea8ef18 Author: Hans J. Koch Date: Thu Sep 18 23:53:18 2008 +0200 UIO: Add alignment warnings for uio-mem This patch adds an "offset" attribute for UIO mappings. It shows the difference between the actual start address of the memory and the start address of the page. Signed-off-by: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit 99178b036c97293a65004ff5ec5cff9f833aaecd Author: Greg Kroah-Hartman Date: Tue Aug 26 11:00:57 2008 -0500 Driver core: add bus_sort_breadthfirst() function The PCI core wants to reorder the devices in the bus list. So move this functionality out of the pci core and into the driver core so that anyone else can also do this if needed. This also lets us change how struct device is attached to drivers in the future without messing with the PCI core. Acked-by: Jesse Barnes Signed-off-by: Greg Kroah-Hartman commit 26853ab6f9a4c482be4b638477335704724d4854 Author: Greg Kroah-Hartman Date: Sun Jan 27 10:29:20 2008 -0800 NET: convert the phy_device file to use bus_find_device_by_name The driver core now has this helper function, so might as well use it instead of forcing the phy code to roll their own version. Signed-off-by: Greg Kroah-Hartman commit 0b4a4fea253e1296222603ccc55430ed7cd9413a Author: Eric W. Biederman Date: Thu Jul 3 18:05:28 2008 -0700 kobject: Cleanup kobject_rename and !CONFIG_SYSFS It finally dawned on me what the clean fix to sysfs_rename_dir calling kobject_set_name is. Move the work into kobject_rename where it belongs. The callers serialize us anyway so this is safe. Signed-off-by: Eric W. Biederman Acked-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 030c1d2bfcc2187650fb975456ca0b61a5bb77f4 Author: Eric W. Biederman Date: Thu May 8 14:41:00 2008 -0700 kobject: Fix kobject_rename and !CONFIG_SYSFS When looking at kobject_rename I found two bugs with that exist when sysfs support is disabled in the kernel. kobject_rename does not change the name on the kobject when sysfs support is not compiled in. kobject_rename without locking attempts to check the validity of a rename operation, which the kobject layer simply does not have the infrastructure to do. This patch documents the previously unstated requirement of kobject_rename that is the responsibility of the caller to provide mutual exclusion and to be certain that the new_name for the kobject is valid. This patch modifies sysfs_rename_dir in !CONFIG_SYSFS case to call kobject_set_name to actually change the kobject_name. This patch removes the bogus and misleading check in kobject_rename that attempts to see if a rename is valid. The check is bogus because we do not have the proper locking. The check is misleading because it looks like we can and do perform checking at the kobject level that we don't. Signed-off-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit 8c0e3998f5b71e68fe6b6e489a92e052715e563c Author: Trent Piepho Date: Thu Sep 25 16:45:13 2008 -0700 sysfs: Make dir and name args to sysfs_notify() const Because they can be, and because code like this produces a warning if they're not: struct device_attribute dev_attr; sysfs_notify(&kobj, NULL, dev_attr.attr.name); Signed-off-by: Trent Piepho CC: Neil Brown Signed-off-by: Greg Kroah-Hartman commit d8bf254089a6c31d7d01a4d1d2f1861662900855 Author: Dmitry Baryshkov Date: Mon Sep 22 14:41:40 2008 -0700 platform: add new device registration helper Add a helper that registers simple platform_device w/o resources but with parent and device data. This is usefull to cleanup platform code from code that registers such simple devices as leds-gpio, generic-bl, etc. Signed-off-by: Dmitry Baryshkov Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 45c076c5d71e6e644e2eae64f80922d162c900ac Author: Tejun Heo Date: Sun Sep 28 07:48:08 2008 +0900 sysfs: use ilookup5() instead of ilookup5_nowait() As inode creation is protected by sysfs_mutex, ilookup5_nowait() always either fails to find at all or finds one which is fully initialized, so using ilookup5_nowait() or ilookup5() doesn't make any difference. Switch to ilookup5() as it's planned to be removed. This change also makes lookup return value handling a bit simpler. This change was suggested by Al Viro. Signed-off-by: Tejun Heo Cc: Al Viro Signed-off-by: Greg Kroah-Hartman commit 8a89efd18aa15bb832778baa4e6eee3857ecada4 Author: Drew Moseley Date: Sun Sep 28 01:31:35 2008 +0200 PNP: create device attributes via default device attributes This creates the attributes before the uevent is sent. Signed-off-by: Drew Moseley Acked-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 3ce24d8d93f8f9617841d0c8416174da7ee1b042 Author: Peter Korsgaard Date: Tue Sep 23 22:01:27 2008 +0200 Driver core: make bus_find_device_by_name() more robust Use sysfs_streq() in bus_find_device_by_name() so trailing newlines are ignored (E.G. in bind/unbind). Signed-off-by: Peter Korsgaard Signed-off-by: Greg Kroah-Hartman commit 5172046d960b27f7c22bed8038d696e7004cb112 Author: Arjan van de Ven Date: Sat Sep 20 19:09:37 2008 -0700 usb: turn dev_warn+WARN_ON combos into dev_WARN dev_WARN is both compacter and gives better debug information than just a WARN_ON, since people and tools will copy the device information message together with the WARN_ON in bug reports. Signed-off-by: Arjan van de Ven Signed-off-by: Greg Kroah-Hartman commit 728f08934b087b96aacb00467f5551e0a5593fca Author: Arjan van de Ven Date: Sat Sep 20 19:09:00 2008 -0700 debug: use dev_WARN() rather than WARN_ON() in device_pm_add() device_pm_add() has a WARN_ON that is showing relatively high on kerneloops.org, but unfortunately the WARN_ON is less than useful in that it doesn't print any information about what device is causing the issue. This patch fixes this by turning the WARN_ON() into the newly introduces dev_WARN() which will print information about the device in question. Signed-off-by: Arjan van de Ven Signed-off-by: Greg Kroah-Hartman commit e61396627f91abb855ddd8925be9172fb5871944 Author: Arjan van de Ven Date: Sat Sep 20 19:08:39 2008 -0700 debug: Introduce a dev_WARN() function in the line of dev_printk(), this patch introduces a dev_WARN() function, that takes a struct device and then a printk format/args set of arguments. Unlike dev_printk(), the effect is that of WARN() in that a full warning message (including filename/line, module list, versions and a backtrace) is printed in addition to the device name and the arguments. Signed-off-by: Arjan van de Ven Signed-off-by: Greg Kroah-Hartman commit b31ca3f5dfc89c3f1f654b30f0760d0e2fb15e45 Author: Nick Piggin Date: Fri Sep 12 11:24:11 2008 +0200 sysfs: fix deadlock On Thu, Sep 11, 2008 at 10:27:10AM +0200, Ingo Molnar wrote: > and it's working fine on most boxes. One testbox found this new locking > scenario: > > PM: Adding info for No Bus:vcsa7 > EDAC DEBUG: MC0: i82860_check() > > ======================================================= > [ INFO: possible circular locking dependency detected ] > 2.6.27-rc6-tip #1 > ------------------------------------------------------- > X/4873 is trying to acquire lock: > (&bb->mutex){--..}, at: [] mmap+0x40/0xa0 > > but task is already holding lock: > (&mm->mmap_sem){----}, at: [] sys_mmap2+0x8e/0xc0 > > which lock already depends on the new lock. > > > the existing dependency chain (in reverse order) is: > > -> #1 (&mm->mmap_sem){----}: > [] validate_chain+0xa96/0xf50 > [] __lock_acquire+0x2cb/0x5b0 > [] lock_acquire+0x89/0xc0 > [] might_fault+0x6b/0x90 > [] copy_to_user+0x38/0x60 > [] read+0xfb/0x170 > [] vfs_read+0x95/0x110 > [] sys_pread64+0x63/0x80 > [] sysenter_do_call+0x12/0x43 > [] 0xffffffff > > -> #0 (&bb->mutex){--..}: > [] validate_chain+0x6b7/0xf50 > [] __lock_acquire+0x2cb/0x5b0 > [] lock_acquire+0x89/0xc0 > [] __mutex_lock_common+0xab/0x3c0 > [] mutex_lock_nested+0x38/0x50 > [] mmap+0x40/0xa0 > [] mmap_region+0x14e/0x450 > [] do_mmap_pgoff+0x2ef/0x310 > [] sys_mmap2+0xad/0xc0 > [] sysenter_do_call+0x12/0x43 > [] 0xffffffff > > other info that might help us debug this: > > 1 lock held by X/4873: > #0: (&mm->mmap_sem){----}, at: [] sys_mmap2+0x8e/0xc0 > > stack backtrace: > Pid: 4873, comm: X Not tainted 2.6.27-rc6-tip #1 > [] print_circular_bug_tail+0x79/0xc0 > [] validate_chain+0x6b7/0xf50 > [] ? trace_hardirqs_off_caller+0x15/0xb0 > [] __lock_acquire+0x2cb/0x5b0 > [] lock_acquire+0x89/0xc0 > [] ? mmap+0x40/0xa0 > [] __mutex_lock_common+0xab/0x3c0 > [] ? mmap+0x40/0xa0 > [] mutex_lock_nested+0x38/0x50 > [] ? mmap+0x40/0xa0 > [] mmap+0x40/0xa0 > [] mmap_region+0x14e/0x450 > [] ? arch_get_unmapped_area_topdown+0xf8/0x160 > [] do_mmap_pgoff+0x2ef/0x310 > [] sys_mmap2+0xad/0xc0 > [] sysenter_do_call+0x12/0x43 > [] ? __switch_to+0x130/0x220 > ======================= > evbug.c: Event. Dev: input3, Type: 20, Code: 0, Value: 500 > warning: `sudo' uses deprecated v2 capabilities in a way that may be insecure. > > i've attached the config. > > at first sight it looks like a genuine bug in fs/sysfs/bin.c? Yes, it is a real bug by the looks. bin.c takes bb->mutex under mmap_sem when it is mmapped, and then does its copy_*_user under bb->mutex too. Here is a basic fix for the sysfs lor. From: Nick Piggin Signed-off-by: Ingo Molnar Signed-off-by: Greg Kroah-Hartman commit 6cd49586090187a2a145bb6570fb2392f121aa22 Author: Arjan van de Ven Date: Sun Sep 14 08:32:06 2008 -0700 device model: Do a quickcheck for driver binding before doing an expensive check This patch adds a quick check for the driver<->device match before taking the locks and doin gthe expensive checks. Taking the lock hurts in asynchronous boot context where the device lock gets hit; one of the init functions takes the lock and goes to do an expensive hardware init; the other init functions walk the same PCI list and get stuck on the lock as a result. For the common case, we can know there's no chance whatsoever of a match if the device isn't in the drivers ID table... so this patch does that check as a best-effort-avoid-the-lock approach. Bootcharts for before and after can be seen at http://www.fenrus.org/before.svg http://www.fenrus.org/after.svg Note the long time "agp_ali_init" takes in the first graph; my laptop doesn't even have an ALI chip in it! (the bootgraphs look a bit dissimilar, but that's the point, the first one has a bunch of arbitrary delays in it that cause it to look very different) This reduces my kernel boot time by about 20% Signed-off-by: Arjan van de Ven Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 286661b3777897220ecfcd774bccc68a34667f39 Author: Cornelia Huck Date: Wed Sep 3 18:26:41 2008 +0200 Driver core: Fix cleanup in device_create_vargs(). If device_register() in device_create_vargs() fails, the device must be cleaned up with put_device() (which is also fine on NULL) instead of kfree(). Signed-off-by: Cornelia Huck Cc: stable Signed-off-by: Greg Kroah-Hartman commit 5739411acbaa63a6c22c91e340fdcdbcc7d82a51 Author: Cornelia Huck Date: Wed Sep 3 18:26:40 2008 +0200 Driver core: Clarify device cleanup. Make the comments on how to use device_initialize(), device_add() and device_register() a bit clearer - in particular, explicitly note that put_device() must be used once we tried to add the device to the hierarchy. Signed-off-by: Cornelia Huck Cc: stable Signed-off-by: Greg Kroah-Hartman commit 9cf899d12583082c77a0fcc758f3179b440518ee Author: Adrian Bunk Date: Tue Aug 12 15:43:59 2008 -0400 drivers/firmware/iscsi_ibft.c: make 3 functions static This patch makes the following needlessly global functions static: - ibft_attr_show_initiator() - ibft_attr_show_nic() - ibft_attr_show_target() Signed-off-by: Adrian Bunk Signed-off-by: Konrad Rzeszutek Signed-off-by: Greg Kroah-Hartman commit f1282c844e86db5a041afa41335b5f9eea6cec0c Author: Neil Brown Date: Wed Jul 16 08:58:04 2008 +1000 sysfs: Support sysfs_notify from atomic context with new sysfs_notify_dirent Support sysfs_notify from atomic context with new sysfs_notify_dirent sysfs_notify currently takes sysfs_mutex. This means that it cannot be called in atomic context. sysfs_mutex is sometimes held over a malloc (sysfs_rename_dir) so it can block on low memory. In md I want to be able to notify on a sysfs attribute from atomic context, and I don't want to block on low memory because I could be in the writeout path for freeing memory. So: - export the "sysfs_dirent" structure along with sysfs_get, sysfs_put and sysfs_get_dirent so I can get the sysfs_dirent that I want to notify on and hold it in an md structure. - split sysfs_notify_dirent out of sysfs_notify so the sysfs_dirent can be notified on with no blocking (just a spinlock). Signed-off-by: Neil Brown Acked-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit ec748fa9ed3fec44aeebbf86ae050b0cc7a978d9 Author: Adrian Bunk Date: Mon Jul 21 22:33:36 2008 +0300 driver core: make struct platform_pm_ops static This patch makes the needlessly global struct platform_pm_ops static. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 346e15beb5343c2eb8216d820f2ed8f150822b08 Author: Jason Baron Date: Tue Aug 12 16:46:19 2008 -0400 driver core: basic infrastructure for per-module dynamic debug messages Base infrastructure to enable per-module debug messages. I've introduced CONFIG_DYNAMIC_PRINTK_DEBUG, which when enabled centralizes control of debugging statements on a per-module basis in one /proc file, currently, /dynamic_printk/modules. When, CONFIG_DYNAMIC_PRINTK_DEBUG, is not set, debugging statements can still be enabled as before, often by defining 'DEBUG' for the proper compilation unit. Thus, this patch set has no affect when CONFIG_DYNAMIC_PRINTK_DEBUG is not set. The infrastructure currently ties into all pr_debug() and dev_dbg() calls. That is, if CONFIG_DYNAMIC_PRINTK_DEBUG is set, all pr_debug() and dev_dbg() calls can be dynamically enabled/disabled on a per-module basis. Future plans include extending this functionality to subsystems, that define their own debug levels and flags. Usage: Dynamic debugging is controlled by the debugfs file, /dynamic_printk/modules. This file contains a list of the modules that can be enabled. The format of the file is as follows: . . . : Name of the module in which the debug call resides : whether the messages are enabled or not For example: snd_hda_intel enabled=0 fixup enabled=1 driver enabled=0 Enable a module: $echo "set enabled=1 " > dynamic_printk/modules Disable a module: $echo "set enabled=0 " > dynamic_printk/modules Enable all modules: $echo "set enabled=1 all" > dynamic_printk/modules Disable all modules: $echo "set enabled=0 all" > dynamic_printk/modules Finally, passing "dynamic_printk" at the command line enables debugging for all modules. This mode can be turned off via the above disable command. [gkh: minor cleanups and tweaks to make the build work quietly] Signed-off-by: Jason Baron Signed-off-by: Greg Kroah-Hartman commit 33376c1c043c05077b4ac79c33804266f6c45e49 Author: David Brownell Date: Mon Aug 18 17:45:07 2008 -0700 usb gadget: link fixes for network gadget Change how the Ethernet/RNDIS gadget driver builds: don't use separate compilation, since it works poorly when key parts are library code (with init sections etc). Instead be as close as we can to "gcc --combine ...". This is a bit more complicated than most of the others because it had to resolve a few symbol collisions. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 8a1ce2c0447b1a0816f66fde2f832c31b5fbee2c Author: David Brownell Date: Mon Aug 18 17:43:56 2008 -0700 usb gadget: link fixes for cdc composite gadget Change how the CDC Composite gadget driver builds: don't use separate compilation, since it works poorly when key parts are library code (with init sections etc). Instead be as close as we can to "gcc --combine ...". Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 352e2b961c885b98065c402e2ad85057d0a334b2 Author: David Brownell Date: Mon Aug 18 17:43:25 2008 -0700 usb gadget: link fixes for storage gadget Change how the file storage gadget driver builds: don't use separate compilation, since it works poorly when key parts are library code (with init sections etc). Instead be as close as we can to "gcc --combine ...". Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 0a56b03f68d93ddaaaf11281fed9a7940ff62216 Author: David Brownell Date: Mon Aug 18 17:42:49 2008 -0700 usb gadget: link fixes for printer gadget Change how the printer gadget driver builds: don't use separate compilation, since it works poorly when key parts are library code (with init sections etc). Instead be as close as we can to "gcc --combine ...". Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 77f754c4335d87e785cb0b85cc81e4f16d610fe5 Author: David Brownell Date: Mon Aug 18 17:42:04 2008 -0700 usb gadget: link fixes for MIDI gadget Change how the MIDI gadget driver builds: don't use separate compilation, since it works poorly when key parts are library code (with init sections etc). Instead be as close as we can to "gcc --combine ...". Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 7e75bc0f9006e995a0fa25f0a285addc3d5fd5cb Author: David Brownell Date: Mon Aug 18 17:41:31 2008 -0700 usb gadget: link fixes for gadget zero Change how the Gadget Zero driver builds: don't use separate compilation, since it works poorly when key parts are library code (with init sections etc). Instead be as close as we can to "gcc --combine ...". Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 4e9ba518ec19c6c961bf6074ec05ae1a927230bc Author: David Brownell Date: Mon Aug 18 17:41:02 2008 -0700 usb gadget: link fixes for serial gadget Change how the serial gadget driver builds: don't use separate compilation, since it works poorly when key parts are library code (with init sections etc). Instead be as close as we can to "gcc --combine ...". Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 7fb6b5d51daf3613045258ee8add07022d8c39d3 Author: Greg Kroah-Hartman Date: Mon Jul 21 20:03:34 2008 -0700 device create: remove device_create_drvdata Now that the tree is cleaned up, device_create_drvdata can be safely removed. Signed-off-by: Greg Kroah-Hartman commit 3ee074bf432d24a92894397ac48ad2f2bb95efdc Author: Greg Kroah-Hartman Date: Mon Jul 21 20:03:34 2008 -0700 device create: ide: convert device_create_drvdata to device_create Now that device_create() has been audited, rename things back to the original call to be sane. Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 77997aaadd34510ed73153a4cd60161257a9e289 Author: Greg Kroah-Hartman Date: Mon Jul 21 20:03:34 2008 -0700 device create: video: convert device_create_drvdata to device_create Now that device_create() has been audited, rename things back to the original call to be sane. Signed-off-by: Greg Kroah-Hartman commit b0b090e5792fa228b5c825fcc5e1b7b0da7abec9 Author: Greg Kroah-Hartman Date: Mon Jul 21 20:03:34 2008 -0700 device create: usb: convert device_create_drvdata to device_create Now that device_create() has been audited, rename things back to the original call to be sane. Signed-off-by: Greg Kroah-Hartman commit abe9ab8f62203ced11119fb96acc3b8dd107ebc4 Author: Greg Kroah-Hartman Date: Mon Jul 21 20:03:34 2008 -0700 device create: sound: convert device_create_drvdata to device_create Now that device_create() has been audited, rename things back to the original call to be sane. Cc: Jaroslav Kysela Signed-off-by: Greg Kroah-Hartman commit d73a1a674b5383bb3b38ae3dd625504ffc623d90 Author: Greg Kroah-Hartman Date: Mon Jul 21 20:03:34 2008 -0700 device create: scsi: convert device_create_drvdata to device_create Now that device_create() has been audited, rename things back to the original call to be sane. Cc: James E.J. Bottomley Signed-off-by: Greg Kroah-Hartman commit ea9e42f627a45f979b4977009724eb114406e3c7 Author: Greg Kroah-Hartman Date: Mon Jul 21 20:03:34 2008 -0700 device create: s390: convert device_create_drvdata to device_create Now that device_create() has been audited, rename things back to the original call to be sane. Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Greg Kroah-Hartman commit 6e05d6c4676408b46b01eef29fd472b89ba1f98a Author: Greg Kroah-Hartman Date: Mon Jul 21 20:03:34 2008 -0700 device create: net: convert device_create_drvdata to device_create Now that device_create() has been audited, rename things back to the original call to be sane. Cc: Jeff Garzik Signed-off-by: Greg Kroah-Hartman commit a9b12619f7b6f19c871437ec24a088787a04b1de Author: Greg Kroah-Hartman Date: Mon Jul 21 20:03:34 2008 -0700 device create: misc: convert device_create_drvdata to device_create Now that device_create() has been audited, rename things back to the original call to be sane. Signed-off-by: Greg Kroah-Hartman commit 91bd418fdc8526ee70a0e8f7970b584c8870ae10 Author: Greg Kroah-Hartman Date: Mon Jul 21 20:03:34 2008 -0700 device create: infiniband: convert device_create_drvdata to device_create Now that device_create() has been audited, rename things back to the original call to be sane. Cc: Roland Dreier Cc: Sean Hefty Cc: Hal Rosenstock Signed-off-by: Greg Kroah-Hartman commit 6229df31b9e7919f3b3217897ae9b9dc8196eb16 Author: Greg Kroah-Hartman Date: Mon Jul 21 20:03:34 2008 -0700 device create: ieee1394: convert device_create_drvdata to device_create Now that device_create() has been audited, rename things back to the original call to be sane. Cc: Ben Collins Acked-by: Stefan Richter Signed-off-by: Greg Kroah-Hartman commit 03457cd455d042c9ee4cc47c1ed4532257980693 Author: Greg Kroah-Hartman Date: Mon Jul 21 20:03:34 2008 -0700 device create: char: convert device_create_drvdata to device_create Now that device_create() has been audited, rename things back to the original call to be sane. Signed-off-by: Greg Kroah-Hartman commit 1ff9f542e5f87c299226557ce5e67a402ed4b502 Author: Greg Kroah-Hartman Date: Mon Jul 21 20:03:34 2008 -0700 device create: block: convert device_create_drvdata to device_create Now that device_create() has been audited, rename things back to the original call to be sane. Signed-off-by: Greg Kroah-Hartman commit ae87221d3ce49d9de1e43756da834fd0bf05a2ad Author: Andrew Morton Date: Fri Aug 24 16:11:54 2007 -0700 sysfs: crash debugging Print the name of the last-accessed sysfs file when we oops, to help track down oopses which occur in sysfs store/read handlers. Because these oopses tend to not leave any trace of the offending code in the stack traces. Cc: Kay Sievers Cc: Mathieu Desnoyers Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit e94320939f44e0cbaccc3f259a5778abced4949c Author: Alexey Dobriyan Date: Tue Sep 23 23:51:11 2008 +0400 modules: fix module "notes" kobject leak Fix "notes" kobject leak It happens every rmmod if KALLSYMS=y and SYSFS=y. # modprobe foo kobject: 'foo' (ffffffffa00743d0): kobject_add_internal: parent: 'module', set: 'module' kobject: 'holders' (ffff88017e7c5770): kobject_add_internal: parent: 'foo', set: '' kobject: 'foo' (ffffffffa00743d0): kobject_uevent_env kobject: 'foo' (ffffffffa00743d0): fill_kobj_path: path = '/module/foo' kobject: 'notes' (ffff88017fa9b668): kobject_add_internal: parent: 'foo', set: '' ^^^^^ # rmmod foo kobject: 'holders' (ffff88017e7c5770): kobject_cleanup kobject: 'holders' (ffff88017e7c5770): auto cleanup kobject_del kobject: 'holders' (ffff88017e7c5770): calling ktype release kobject: (ffff88017e7c5770): dynamic_kobj_release kobject: 'holders': free name kobject: 'foo' (ffffffffa00743d0): kobject_cleanup kobject: 'foo' (ffffffffa00743d0): does not have a release() function, it is broken and must be fixed. kobject: 'foo' (ffffffffa00743d0): auto cleanup 'remove' event kobject: 'foo' (ffffffffa00743d0): kobject_uevent_env kobject: 'foo' (ffffffffa00743d0): fill_kobj_path: path = '/module/foo' kobject: 'foo' (ffffffffa00743d0): auto cleanup kobject_del kobject: 'foo': free name [whooops] Signed-off-by: Alexey Dobriyan Cc: stable Signed-off-by: Greg Kroah-Hartman commit 1390da4ee75168b6e4d8354e93e3b5f0a0291f2f Author: Mike Frysinger Date: Thu Oct 16 23:55:41 2008 +0800 Blackfin arch: make sure cycles is marked as volatile so gcc doesnt reorder on us Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit ed061b7ac8afb1181c6195aa502a8a7ef7ac3015 Author: Mike Frysinger Date: Thu Oct 16 23:54:43 2008 +0800 Blackfin arch: disable CONFIG_HW_RANDOM and CONFIG_DAB in defconfig files Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 8fb4f8f056977464fa022ff7263ca91af3c2b94d Author: Mike Frysinger Date: Thu Oct 16 23:39:12 2008 +0800 Blackfin arch: update cache flush prototypes with argument names to make them less mysterious Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 118a9069f06ff591d51a3133e242f0c256ba2db7 Author: Rusty Russell Date: Fri Oct 17 02:38:36 2008 -0500 module: remove CONFIG_KMOD in comment after #endif Signed-off-by: Rusty Russell commit 5f4123be3cdb1dbd77fa9d6d2bb96bb9689a0a19 Author: Johannes Berg Date: Wed Jul 9 10:28:40 2008 +0200 remove CONFIG_KMOD from fs Just always compile the code when the kernel is modular. Convert load_nls to use try_then_request_module to tidy up the code. Signed-off-by: Johannes Berg Signed-off-by: Rusty Russell commit a65e5d782f9db2a61a914dc01a329e0c2dcf92a1 Author: Johannes Berg Date: Wed Jul 9 10:28:38 2008 +0200 remove CONFIG_KMOD from drivers Straight forward conversions to CONFIG_MODULE; many drivers include conditionally and then don't have any other conditional code so remove it from those. Signed-off-by: Johannes Berg Cc: video4linux-list@redhat.com Cc: David Woodhouse Cc: linux-ppp@vger.kernel.org Cc: dm-devel@redhat.com Signed-off-by: Rusty Russell commit 04be80ef0bab044e89ab04b84ccea14a5dc4543b Author: Mike Frysinger Date: Thu Oct 16 23:33:53 2008 +0800 Blackfin arch: move bfin_addr_dcachable() and friends into the cacheflush header where it belongs Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit a92946bc6abad6494ac95ea1a8b7c224b15fa1f7 Author: Mike Frysinger Date: Thu Oct 16 23:25:34 2008 +0800 Blackfin arch: use the new bfin_addr_dcachable() function Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 9bebeff98ea960b13c4de95782c54f8e5e8b70fc Author: Robin Getz Date: Thu Oct 16 23:05:28 2008 +0800 Blackfin arch: fix bug - build kernel failed at head.S when reprogram clock on all platforms Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit ded963a486e08eb89a2c861c3323fe33abf2c6c8 Author: Mike Frysinger Date: Thu Oct 16 23:01:24 2008 +0800 Blackfin arch: unify/cleanup cache code - to be correct wrt to end ranges - to be optimal with a one-instruction hardware loop Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit f51501551ef5c3f3d3911fbd736664d614014344 Author: Michael Hennerich Date: Thu Oct 16 23:23:18 2008 +0800 Blackfin arch: update AD7879 platform resources in board file Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit b4f5c58fd1de11f698d95beb1e67d5b8f97fbe66 Author: Graf Yang Date: Thu Oct 16 22:50:46 2008 +0800 Blackfin arch: Zero out bss region in L1/L2 memory. Signed-off-by: Graf Yang Signed-off-by: Bryan Wu commit 121e598f5d5a9cc7e3bbd203a5c97afa1c46c521 Author: Bryan Wu Date: Thu Oct 16 22:31:56 2008 +0800 Blackfin arch: add read/write IO accessor functions to Blackfin This is to kill some compiling warning on DM9000 netdev driver. Signed-off-by: Bryan Wu commit 0b59268285ca6cdc46191f2995bf632088e3e277 Author: Martin Schwidefsky Date: Thu Oct 16 15:39:57 2008 +0200 [PATCH] remove unused ibcs2/PER_SVR4 in SET_PERSONALITY The SET_PERSONALITY macro is always called with a second argument of 0. Remove the ibcs argument and the various tests to set the PER_SVR4 personality. Signed-off-by: Martin Schwidefsky commit a64d2b37c2259e169759c1701ac565f0a11dc0ea Author: Thomas Hellstrom Date: Wed Sep 10 14:13:33 2008 +0200 agp/nvidia: Support agp user-memory on nvidia agp. This adds user memory support required for TTM to the nvidia AGP driver. Signed-off-by: Dave Airlie commit 97ce0a7f9caf9d715cee815a016ee21575f71c95 Author: Dan Williams Date: Wed Sep 24 22:48:19 2008 -0700 md: fix input truncation in safe_delay_store() safe_delay_store() currently truncates the last character of input since it tells strlcpy that the buffer can only hold 'len' characters, off by one. sysfs already null terminates the buffer, so just increase the last argument to strlcpy. Signed-off-by: Dan Williams Signed-off-by: NeilBrown commit 2a32c3c894bcd3b3f8cc7e23f5ecbebca4a9f8e8 Author: Stuart Bennett Date: Tue Aug 12 15:19:18 2008 +0100 agp/amd-k7: Suspend support for AMD K7 GART driver Reinitialize bridge registers after suspend, but avoid repeating the ioremap Tested and works on AMD761 Signed-off-by: Stuart Bennett Signed-off-by: Dave Airlie commit 44d494417278e49f5b42bd3ded1801b6d2254db8 Author: Keith Packard Date: Tue Oct 14 17:18:45 2008 -0700 agp/intel: Reduce extraneous PCI posting reads during init Instead of doing a posting read after each GTT entry update, do a single one at the end of the writes. This should reduce boot time a tiny amount by avoiding a lot of extra uncached reads. Signed-off-by: Keith Packard Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 82e14a6215cbc9804ecc35281e973c6c8ce22fe7 Author: Eric Anholt Date: Tue Oct 14 11:28:58 2008 -0700 agp: Fix stolen memory counting on G4X. On the GM45, the amount of stolen memory mapped to the GTT was underestimated, even though we had 508KB more available since the GTT doesn't take from stolen memory. On the non-GM45 G4X, we overestimated how much stolen was mapped to the GTT by 4KB, resulting in GPU page faults when that page was accessed. This update requires a corresponding update to xf86-video-intel to work correctly. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 4c0e799a9a6dc64426ddb6c03aea1a154357658f Merge: 3fa8749... b8d055a... Author: Dmitry Torokhov Date: Wed Oct 15 23:29:12 2008 -0400 Merge branch 'next' into for-linus commit 08ff39f1c8f2134f7d0f38123ca5952371665cc5 Author: Sven Wegener Date: Thu Oct 16 14:16:53 2008 +1100 md: check for memory allocation failure in faulty personality It's a fault injection module, but I don't think we should oops here. Signed-off-by: Sven Wegener Signed-off-by: Andrew Morton Signed-off-by: Neil Brown commit 459fc208abd1b365fa013c17d433dfb5b4bc1e3a Author: Dominik Brodowski Date: Thu Oct 16 00:11:04 2008 +0200 cpufreq: remove policy->governor setting in drivers initialization As policy->governor is already set to CPUFREQ_DEFAULT_GOVERNOR in the (always built-in) cpufreq core, we do not need to set it in the drivers. This fixes the sparc64 allmodconfig build failure. Also, remove a totally useles setting of ->policy in cpufreq-pxa3xx.c. Signed-off-by: Dominik Brodowski Acked-by: David S. Miller Signed-off-by: Linus Torvalds commit 24c88eb671b437d700fbfa7aa79adeb9690db1eb Author: Jarod Wilson Date: Thu Oct 16 01:26:43 2008 +0200 HID: blacklist additional SoundGraph iMon LCD models hid_ignore_list additions for more SoundGraph iMon LCD devices Signed-off-by: Jarod Wilson Signed-off-by: Jiri Kosina commit f0bd8e43265b7f25b8a0ffeda714cc8a35b456cc Author: Jiri Kosina Date: Thu Oct 16 01:25:15 2008 +0200 HID: fix/improve help texts for quirk drivers Update the help texts for the HID-quirk drivers, so that they are a little bit more descriptive. Also make some obsolete help descriptions up to date. Signed-off-by: Jiri Kosina commit b36299bcc0feae4c1bcff6a1561b8beb635e9c80 Author: Jiri Kosina Date: Thu Oct 16 01:18:54 2008 +0200 HID: fix default building of HID-quirk drivers Commit 9be7bbd54df3c9c393ccd19acc49f90c517d1291 (HID: build drivers for all quirky devices by default) made a wrong assumption about select/depends interaction in Kconfig, resulting in possibility of link failure with certain configuration options. Fix this by explicitly having all the quirk-drivers depend on USB_HID, default to y and make the possibility to alter the settings dependent on EBMEDDED. Reported-by: Adrian Bunk Signed-off-by: Jiri Kosina commit 8fa0b315fc0c1a414da1371f1fc39523a657c192 Author: David S. Miller Date: Wed Oct 15 15:59:50 2008 -0700 decnet: Fix compiler warning in dn_dev.c Use offsetof() instead of home-brewed version. Based upon initial patch by Steven Whitehouse and suggestions by Ben Hutchings. Signed-off-by: David S. Miller commit 22441cfa0c70dcd457f3c081fcf285c3bd155824 Author: Pedro Ribeiro Date: Wed Oct 15 15:47:49 2008 -0700 IPV6: Fix default gateway criteria wrt. HIGH/LOW preference radv option Problem observed: In IPv6, in the presence of multiple routers candidates to default gateway in one segment, each sending a different value of preference, the Linux hosts connected to the segment weren't selecting the right one in all the combinations possible of LOW/MEDIUM/HIGH preference. This patch changes two files: include/linux/icmpv6.h Get the "router_pref" bitfield in the right place (as RFC4191 says), named the bit left with this fix as "home_agent" (RFC3775 say that's his function) net/ipv6/ndisc.c Corrects the binary logic behind the updating of the router preference in the flags of the routing table Result: With this two fixes applied, the default route used by the system was to consistent with the rules mentioned in RFC4191 in case of changes in the value of preference in router advertisements Signed-off-by: Pedro Ribeiro Acked-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 2502991560dc8244dbe10e48473d85722c1e2ec1 Merge: 7e69a8c... a9ff8f6... Author: Russell King Date: Wed Oct 15 23:16:07 2008 +0100 Merge branch 'fixes' into for-linus Conflicts: arch/arm/mach-versatile/core.c commit be585c07dd577faac26014db4246e6d7c7a131e7 Author: Jay Fenlason Date: Wed Oct 1 18:13:20 2008 -0400 firewire: Add more documentation to firewire-cdev.h Signed-off-by: Jay Fenlason Signed-off-by: Stefan Richter commit 99692f71ee04c6f249d0bf6a581359f32f409a38 Author: Stefan Richter Date: Fri Sep 12 18:20:16 2008 +0200 firewire: fix ioctl() return code Reported by Jay Fenlason: ioctl() did not return as intended - the size of data read into ioctl_send_request, - the number of datagrams enqueued by ioctl_queue_iso. Signed-off-by: Stefan Richter commit 7a1003449c693f0d57443c8786bbf19717921ae0 Author: Stefan Richter Date: Fri Sep 12 18:09:55 2008 +0200 firewire: fix setting tag and sy in iso transmission Reported by Jay Fenlason: The iso packet control accessors in fw-cdev.c had bogus masks. Signed-off-by: Stefan Richter commit 4bbc1bdd010cbfcb749e4f947161ec3ab3337893 Author: Stefan Richter Date: Sat Aug 9 20:22:17 2008 +0200 firewire: fw-sbp2: fix another small generation access bug queuecommand() looked at the remote and local node IDs before it read the bus generation. The corresponding race with sbp2_reconnect updating these data was probably impossible to happen though because the current code blocks the SCSI layer during reconnection. However, better safe than sorry, especially if someone later improves the code to not block the SCSI layer. Signed-off-by: Stefan Richter commit 09b12dd4e3caff165a0f17a2f3ebd2bbc8544cc6 Author: Stefan Richter Date: Thu Aug 14 21:47:21 2008 +0200 firewire: fw-sbp2: enforce s/g segment size limit 1. We don't need to round the SBP-2 segment size limit down to a multiple of 4 kB (0xffff -> 0xf000). It is only necessary to ensure quadlet alignment (0xffff -> 0xfffc). 2. Use dma_set_max_seg_size() to tell the DMA mapping infrastructure and the block IO layer about the restriction. This way we can remove the size checks and segment splitting in the queuecommand path. This assumes that no other code in the firewire stack uses dma_map_sg() with conflicting requirements. It furthermore assumes that the controller device's platform actually allows us to set the segment size to our liking. Assert the latter with a BUG_ON(). 3. Also use blk_queue_max_segment_size() to tell the block IO layer about it. It cannot know it because our scsi_add_host() does not point to the FireWire controller's device. Thanks to Grant Grundler and FUJITA Tomonori for advice. Signed-off-by: Stefan Richter commit 1e119fa9950dfe0e6d97470098db776110ca47a9 Author: Jay Fenlason Date: Sun Jul 20 14:20:53 2008 +0200 firewire: fw_send_request_sync() Share code between fw_send_request + wait_for_completion callers. Signed-off-by: Jay Fenlason Addendum: Removes an unnecessary struct and an ununsed retry loop. Calls it fw_run_transaction() instead of fw_send_request_sync(). Signed-off-by: Stefan Richter Acked-by: Kristian Høgsberg commit fc392fe83176cefbab99f9d12e6e27395aa2b5d0 Author: Stefan Richter Date: Tue Aug 19 21:30:17 2008 +0200 ieee1394: survive a few seconds connection loss There are situations when nodes vanish from the bus and come back in quickly thereafter: - When certain bus-powered hubs are plugged in, - when certain disk enclosures are switched from self-power to bus power or vice versa and break the daisy chain during the transition, - when the user plugs a cable out and quickly plugs it back in, e.g. to reorder a daisy chain (works on Mac OS X if done quickly enough), - when certain hubs temporarily malfunction during high bus traffic. The ieee1394 driver's nodemgr already contained a function to set vanished nodes aside into "limbo"; i.e. they wouldn't actually be deleted right away. (In fact, only unloading the driver or writing into an obscure sysfs attribute would delete them eventually.) If nodes reappeared later, they would be resurrected out of limbo. Moving nodes into and out of limbo was accompanied with calling the .suspend() and .resume() driver methods of the drivers which were bound to a respective node's unit directories. Not only is this somewhat strange due to the intended use of these driver methods for power management, also the sbp2 driver in particular does not implement .suspend() and .resume(). Hence sbp2 would be disconnected from devices in situations as listed above. We now: - leave drivers bound when nodes go into limbo, - call the drivers' .update() when nodes come out of limbo, - automatically delete in-limbo nodes 3 seconds after the last bus reset and bus rescan. - Because of the automatic removal, the now obsolete bus attribute /sys/bus/ieee1394/destroy_node is removed. This especially lets sbp2 survive brief disconnections. You can for example yank a disk's cable and plug it back in while reading the respective disk with dd, but dd will happily continue as if nothing happened. Signed-off-by: Stefan Richter commit 11305c3eda233d3aff52d755a2d6c1706c509962 Author: Stefan Richter Date: Tue Aug 19 21:29:23 2008 +0200 ieee1394: nodemgr clean up class iterators Remove useless pointer type casts. Remove unnecessary hi->host indirection where only host is used. Remove an unnecessary WARN_ON. Change a few names. Signed-off-by: Stefan Richter commit d98562d12f71284593b3a5db020d6f2655061efe Author: Stefan Richter Date: Thu Sep 11 19:22:53 2008 +0200 ieee1394: dv1394, video1394: remove unnecessary expressions init->channel and v.buffer are unsigned and tests for < 0 therefore always false. gcc knows this and eliminates the code, but anyway... Reported by Roel Kluin. Signed-off-by: Stefan Richter commit f22e52b89e036fd12b9374212da8b5d4a447bd1e Author: Stefan Richter Date: Sat Aug 16 00:15:16 2008 +0200 ieee1394: raw1394: make write() thread-safe Application programs should use a libraw1394 handle only in a single thread. The raw1394 driver was apparently relying on this, because it did nothing to protect its fi->state variable from corruption due to concurrent accesses. We now serialize the fi->state accesses. This affects the write() path. We re-use the state_mutex which was introduced to protect fi->iso_state accesses in the ioctl() path. These paths and accesses are independent of each other, hence separate mutexes could be used. But I don't see much benefit in that. Signed-off-by: Stefan Richter commit ddfb908d3f905dbb5964d6fbf783e69c417eb13e Author: Stefan Richter Date: Sat Aug 16 17:52:04 2008 +0200 ieee1394: raw1394: narrow down the state_mutex protected region Refactor the ioctl dispatcher in order to move a fraction of it out of the section which is serialized by fi->state_mutex. This is not so much about performance but more about self-documentation: The mutex_lock()/ mutex_unlock() calls are now closer to the data accesses which the mutex protects, i.e. to the iso_state switch. Signed-off-by: Stefan Richter commit 10963ea1bd966ba46a46178c4d6abcdf3c23538d Author: Stefan Richter Date: Sat Aug 16 00:11:48 2008 +0200 ieee1394: raw1394: replace BKL by local mutex, make ioctl() and mmap() thread-safe This removes the last usage of the Big Kernel Lock from the ieee1394 stack, i.e. from raw1394's (unlocked_)ioctl and compat_ioctl. The ioctl()s don't need to take the BKL, but they need to be serialized per struct file *. In particular, accesses to ->iso_state need to be serial. We simply use a blocking mutex for this purpose because libraw1394 does not use O_NONBLOCK. In practice, there is no lock contention anyway because most if not all libraw1394 clients use a libraw1394 handle only in a single thread. mmap() also accesses ->iso_state. Until now this was unprotected against concurrent changes by ioctls. Fix this bug while we are at it. Signed-off-by: Stefan Richter commit ed6ffd08084c68e9c3911e27706dec9d4c9a4175 Author: Stefan Richter Date: Thu Aug 14 09:28:14 2008 +0200 ieee1394: sbp2: enforce s/g segment size limit 1. We don't need to round the SBP-2 segment size limit down to a multiple of 4 kB (0xffff -> 0xf000). It is only necessary to ensure quadlet alignment (0xffff -> 0xfffc). 2. Use dma_set_max_seg_size() to tell the DMA mapping infrastructure and the block IO layer about the restriction. This way we can remove the size checks and segment splitting in the queuecommand path. This assumes that no other code in the ieee1394 stack uses dma_map_sg() with conflicting requirements. It furthermore assumes that the controller device's platform actually allows us to set the segment size to our liking. Assert the latter with a BUG_ON(). 3. Also use blk_queue_max_segment_size() to tell the block IO layer about it. It cannot know it because our scsi_add_host() does not point to the FireWire controller's device. We can also uniformly use dma_map_sg() for the single segment case just like for the multi segment case, to further simplify the code. Also clean up how the page table is converted to big endian. Thanks to Grant Grundler and FUJITA Tomonori for advice. Signed-off-by: Stefan Richter commit cd8c79f17a878b01f3e83a8efd89da18ccdc7ef3 Author: Stefan Richter Date: Sat Aug 9 20:16:24 2008 +0200 ieee1394: sbp2: check for DMA mapping failures Signed-off-by: Stefan Richter commit 0a77b17c855c4ec1c87ed80e0f280095a4ee1f4f Author: Stefan Richter Date: Sat Aug 9 20:13:00 2008 +0200 ieee1394: sbp2: stricter dma_sync Two dma_sync_single_for_cpu() were called in the wrong place. Luckily they were merely for DMA_TO_DEVICE, hence nobody noticed. Also reorder the matching dma_sync_single_for_device() a little bit so that they reside in the same functions as their counterparts. This also avoids syncing the s/g table for requests which don't use it. Signed-off-by: Stefan Richter commit 68e2aa793ed55b0c1461b4ab92554bb5ad152724 Author: Julia Lawall Date: Sat Aug 2 17:13:09 2008 +0200 ieee1394: Use DIV_ROUND_UP Signed-off-by: Julia Lawall Signed-off-by: Stefan Richter commit 6925bac120097b823fc990c143b9789c21cc60b5 Merge: 04ab591... 011935a... Author: Trond Myklebust Date: Wed Oct 15 15:54:56 2008 -0400 Merge branch 'next' commit 04ab591808565f968d4406f6435090ad671ebdab Merge: 7c3b1dc... 08da6f1... Author: Linus Torvalds Date: Wed Oct 15 10:22:21 2008 -0700 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: MIPS: Kill unused inclusions MIPS: IP32: Add platform device for CMOS RTC; remove dead code RTC: M48T35: new RTC driver MIPS: IP27: Switch over to RTC class driver MIPS: DS1286: New RTC driver MIPS: IP22/28: Switch over to RTC class driver MIPS: PCI: Scan busses when they are registered MIPS: WGT634U: Add reset button support MIPS: BCM47xx: Use the new SSB GPIO API MIPS: BCM47xx: Remove references to BCM947XX MIPS: WGT634U: Add machine detection message MIPS: Align .data.cacheline_aligned based on CONFIG_MIPS_L1_CACHE_SHIFT MIPS: show_cpuinfo prints the type of the calling CPU MIPS: Fix wrong branch target in new spin_lock code. MIPS: Have a heart for a lonely, lost header file ... commit 7c3b1dcf13d5660152e02c6dea47b0bd9fd5d871 Author: Arjan van de Ven Date: Wed Oct 15 10:52:34 2008 +0100 tty: make sure that proc_clear_tty stores the cpu flags proc_clear_tty() gets called with interrupts off (while holding the task list lock) from sys_setid. This means that it needs the _irqsave version of the locking primitives. Reported-by: Marcin Slusarz Tested-by: Marcin Slusarz Signed-off-by: Arjan van de Ven Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 6d54aaf389bb47f30fd6567b88665689967be642 Author: Alan Cox Date: Wed Oct 15 10:50:32 2008 +0100 metronomefb: Fix warning when building 64bit The metronome driver produces warnings when built on x86-64 as it assumes that size_t is an int. Use %Zd instead. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 6c5e51dae2c37127e00be392f40842e08077e96a Author: Christoph Hellwig Date: Sun Oct 12 14:30:44 2008 +0200 xfs: fix remount rw with unrecognized options When we skip unrecognized options in xfs_fs_remount we should just break out of the switch and not return because otherwise we may skip clearing the xfs-internal read-only flag. This will only show up on some operations like touch because most read-only checks are done by the VFS which thinks this filesystem is r/w. Eventually we should replace the XFS read-only flag with a helper that always checks the VFS flag to make sure they can never get out of sync. Bug reported and fix verified by Marcel Beister on #xfs. Bug fix verified by updated xfstests/189. Signed-off-by: Christoph Hellwig Acked-by: Eric Sandeen Signed-off-by: Timothy Shimmin Signed-off-by: Linus Torvalds commit f61f1b5717dec9968efd6c8d61bd73b7a61b72a0 Author: Suresh Siddha Date: Wed Oct 15 07:46:27 2008 -0700 x86: fix compat-vdso Jeff Chua reported that this patch: > -#define PTE_IDENT_ATTR 0x007 /* PRESENT+RW+USER */ > -#define PDE_IDENT_ATTR 0x067 /* PRESENT+RW+USER+DIRTY+ACCESSED */ > +#define PTE_IDENT_ATTR 0x003 /* PRESENT+RW */ > +#define PDE_IDENT_ATTR 0x063 /* PRESENT+RW+DIRTY+ACCESSED */ broke kernels with CONFIG_COMPAT_VDSO set with this init segfault: init[1]: segfault at ffffe01c up b7f0dc28 sp bfc26628 error 5 in ld-2.7.90.so[b7f0b000+1c000] Include USER bit in the PDE_IDENT_ATTR only, as the protection bits are combined from the PDE and PTE entries. This will allow the high mapped VDSO page in the case of CONFIG_COMPAT_VDSO to be user readable. Reported-by: Jeff Chua Signed-off-by: Suresh Siddha Tested-by: Jeff Chua Signed-off-by: Ingo Molnar commit eae82541cf62cd8b585377d799335b8f9a701c4a Merge: 5f2434a... 1efd47f... Author: Linus Torvalds Date: Wed Oct 15 08:08:57 2008 -0700 Merge branch 'build_fix' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 * 'build_fix' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: ocfs2: fix build error commit 5f2434a66dfa4701b81b79a78eaf9c32da0f8839 Merge: 278429c... 6dc6472... Author: Linus Torvalds Date: Wed Oct 15 08:07:35 2008 -0700 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (158 commits) powerpc: Fix CHRP PCI config access for indirect_pci powerpc/chrp: Fix detection of Python PCI host bridge on IBM CHRPs powerpc: Fix 32-bit SMP boot on CHRP powerpc: Fix link errors on 32-bit machines using legacy DMA powerpc/pci: Improve detection of unassigned bridge resources hvc_console: Fix free_irq in spinlocked section powerpc: Get USE_STRICT_MM_TYPECHECKS working again powerpc: Reflect the used arguments in machine_init() prototype powerpc: Fix DMA offset for non-coherent DMA powerpc: fix fsl_upm nand driver modular build powerpc/83xx: add NAND support for the MPC8360E-RDK boards powerpc: FPGA support for GE Fanuc SBC610 i2c: MPC8349E-mITX Power Management and GPIO expander driver powerpc: reserve two DMA channels for audio in MPC8610 HPCD device tree powerpc: document the "fsl,ssi-dma-channel" compatible property powerpc: disable CHRP and PMAC support in various defconfigs OF: add fsl,mcu-mpc8349emitx to the exception list powerpc/83xx: add DS1374 RTC support for the MPC837xE-MDS boards powerpc: remove support for bootmem-allocated memory for the DIU driver powerpc: remove non-dependent load fsl_booke PTE_64BIT ... commit af31ed217a0fe433e06c83b978bcb805ada6295a Merge: 428ffb7... 80ffe86... d5d8d83... Author: Takashi Iwai Date: Wed Oct 15 16:18:19 2008 +0200 Merge branches 'topic/misc-fixes', 'topic/hda' and 'topic/asoc' into for-linus commit 2381ad241d0bea1253a37f314b270848067640bb Author: Xiantao Zhang Date: Wed Oct 8 08:29:33 2008 +0800 KVM: ia64: Add intel iommu support for guests. With intel iommu hardware, we can assign devices to kvm/ia64 guests. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit b010eb5103cfbe12ae6f08a4cdb3a748bf78c410 Author: Xiantao Zhang Date: Sun Sep 28 01:39:46 2008 -0700 KVM: ia64: add directed mmio range support for kvm guests Using vt-d, kvm guests can be assigned physcial devices, so this patch introduce a new mmio type (directed mmio) to handle its mmio access. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 1cbea809c400661eecb538e0dd0bc4f3660f0a35 Author: Xiantao Zhang Date: Fri Oct 3 14:58:09 2008 +0800 KVM: ia64: Make pmt table be able to hold physical mmio entries. Don't try to do put_page once the entries are mmio. Set the tag to indicate the mmio space for vmm setting TLB's memory attribute. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 2f7497719179a9f3270b05434be989d21f9fdc09 Author: Xiantao Zhang Date: Sat Sep 27 11:46:36 2008 +0800 KVM: Move irqchip_in_kernel() from ioapic.h to irq.h Moving irqchip_in_kernel() from ioapic.h to irq.h. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 3de42dc094ecd313dc7d551e007a134b52f8663d Author: Xiantao Zhang Date: Mon Oct 6 13:48:45 2008 +0800 KVM: Separate irq ack notification out of arch/x86/kvm/irq.c Moving irq ack notification logic as common, and make it shared with ia64 side. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit c77fb9dc7a0383c86eabef30272a763a482403e1 Author: Xiantao Zhang Date: Sat Sep 27 10:55:40 2008 +0800 KVM: Change is_mmio_pfn to kvm_is_mmio_pfn, and make it common for all archs Add a kvm_ prefix to avoid polluting kernel's name space. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 8a98f6648a2b0756d8f26d6c13332f5526355fec Author: Xiantao Zhang Date: Mon Oct 6 13:47:38 2008 +0800 KVM: Move device assignment logic to common code To share with other archs, this patch moves device assignment logic to common parts. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 371c01b28e4049d1fbf60a9631cdad98f7cae030 Author: Zhang xiantao Date: Thu Sep 11 13:19:32 2008 +0800 KVM: Device Assignment: Move vtd.c from arch/x86/kvm/ to virt/kvm/ Preparation for kvm/ia64 VT-d support. Signed-off-by: Zhang xiantao Signed-off-by: Avi Kivity commit 83dbc83a0d7c88c919d769177bd1924a46c9c034 Author: Marcelo Tosatti Date: Tue Oct 7 17:01:27 2008 -0300 KVM: VMX: enable invlpg exiting if EPT is disabled Manually disabling EPT via module option fails to re-enable INVLPG exiting. Reported-by: Gleb Natapov Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 1b10bf31a5de5b76e2e9c2937878a45c5ae2be37 Author: Jan Kiszka Date: Tue Sep 30 10:41:06 2008 +0200 KVM: x86: Silence various LAPIC-related host kernel messages KVM-x86 dumps a lot of debug messages that have no meaning for normal operation: - INIT de-assertion is ignored - SIPIs are sent and received - APIC writes are unaligned or < 4 byte long (Windows Server 2003 triggers this on SMP) Degrade them to true debug messages, keeping the host kernel log clean for real problems. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit e5fcfc821a467bd0827635db8fd39ab1213987e5 Author: Weidong Han Date: Thu Sep 25 23:32:02 2008 +0800 KVM: Device Assignment: Map mmio pages into VT-d page table Assigned device could DMA to mmio pages, so also need to map mmio pages into VT-d page table. Signed-off-by: Weidong Han Signed-off-by: Avi Kivity commit e48258009d941891fca35348986b8d280caf31cd Author: Marcelo Tosatti Date: Wed Sep 24 20:28:34 2008 -0300 KVM: PIC: enhance IPI avoidance The PIC code makes little effort to avoid kvm_vcpu_kick(), resulting in unnecessary guest exits in some conditions. For example, if the timer interrupt is routed through the IOAPIC, IRR for IRQ 0 will get set but not cleared, since the APIC is handling the acks. This means that everytime an interrupt < 16 is triggered, the priority logic will find IRQ0 pending and send an IPI to vcpu0 (in case IRQ0 is not masked, which is Linux's case). Introduce a new variable isr_ack to represent the IRQ's for which the guest has been signalled / cleared the ISR. Use it to avoid more than one IPI per trigger-ack cycle, in addition to the avoidance when ISR is set in get_priority(). Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 582801a95d2f2ceab841779e1dec0e11dfec44c0 Author: Marcelo Tosatti Date: Tue Sep 23 13:18:41 2008 -0300 KVM: MMU: add "oos_shadow" parameter to disable oos Subject says it all. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 0074ff63ebc195701062ca46e0d82fcea0fa3a0a Author: Marcelo Tosatti Date: Tue Sep 23 13:18:40 2008 -0300 KVM: MMU: speed up mmu_unsync_walk Cache the unsynced children information in a per-page bitmap. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 4731d4c7a07769cf2926c327177b97bb8c68cafc Author: Marcelo Tosatti Date: Tue Sep 23 13:18:39 2008 -0300 KVM: MMU: out of sync shadow core Allow guest pagetables to go out of sync. Instead of emulating write accesses to guest pagetables, or unshadowing them, we un-write-protect the page table and allow the guest to modify it at will. We rely on invlpg executions to synchronize individual ptes, and will synchronize the entire pagetable on tlb flushes. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 6844dec6948679d084f054235fee19ba4e3a3096 Author: Marcelo Tosatti Date: Tue Sep 23 13:18:38 2008 -0300 KVM: MMU: mmu_convert_notrap helper Need to convert shadow_notrap_nonpresent -> shadow_trap_nonpresent when unsyncing pages. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 0738541396be165995c7f2387746eb0b47024fec Author: Marcelo Tosatti Date: Tue Sep 23 13:18:37 2008 -0300 KVM: MMU: awareness of new kvm_mmu_zap_page behaviour kvm_mmu_zap_page will soon zap the unsynced children of a page. Restart list walk in such case. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit ad8cfbe3fffdc09704f0808fde3934855620d545 Author: Marcelo Tosatti Date: Tue Sep 23 13:18:36 2008 -0300 KVM: MMU: mmu_parent_walk Introduce a function to walk all parents of a given page, invoking a handler. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit a7052897b3bcd568a9f5bfaa558957039e7e7ec0 Author: Marcelo Tosatti Date: Tue Sep 23 13:18:35 2008 -0300 KVM: x86: trap invlpg With pages out of sync invlpg needs to be trapped. For now simply nuke the entry. Untested on AMD. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 0ba73cdadb8ac172f396df7e23c4a9cebd59b550 Author: Marcelo Tosatti Date: Tue Sep 23 13:18:34 2008 -0300 KVM: MMU: sync roots on mmu reload Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit e8bc217aef67d41d767ede6e7a7eb10f1d47c86c Author: Marcelo Tosatti Date: Tue Sep 23 13:18:33 2008 -0300 KVM: MMU: mode specific sync_page Examine guest pagetable and bring the shadow back in sync. Caller is responsible for local TLB flush before re-entering guest mode. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 38187c830cab84daecb41169948467f1f19317e3 Author: Marcelo Tosatti Date: Tue Sep 23 13:18:32 2008 -0300 KVM: MMU: do not write-protect large mappings There is not much point in write protecting large mappings. This can only happen when a page is shadowed during the window between is_largepage_backed and mmu_lock acquision. Zap the entry instead, so the next pagefault will find a shadowed page via is_largepage_backed and fallback to 4k translations. Simplifies out of sync shadow. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit a378b4e64c0fef2d9e53214db167878b7673a7a3 Author: Marcelo Tosatti Date: Tue Sep 23 13:18:31 2008 -0300 KVM: MMU: move local TLB flush to mmu_set_spte Since the sync page path can collapse flushes. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 1e73f9dd885957bf0c7bb5e63b350d5aeb06b726 Author: Marcelo Tosatti Date: Tue Sep 23 13:18:30 2008 -0300 KVM: MMU: split mmu_set_spte Split the spte entry creation code into a new set_spte function. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 93a423e7045cf3cf69f960ff307edda1afcd7b41 Author: Marcelo Tosatti Date: Tue Sep 23 13:18:29 2008 -0300 KVM: MMU: flush remote TLBs on large->normal entry overwrite It is necessary to flush all TLB's when a large spte entry is overwritten with a normal page directory pointer. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit a08546001c2b0f584ffc81987340943a7d6d6acb Author: Harvey Harrison Date: Tue Sep 23 11:01:45 2008 -0700 x86: pvclock: fix shadowed variable warning arch/x86/kernel/pvclock.c:102:6: warning: symbol 'tsc_khz' shadows an earlier one include/asm/tsc.h:18:21: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Avi Kivity commit 1f095610aabb9d54617901aa734d2a6093f2000c Author: Xiantao Zhang Date: Sat Sep 13 06:21:22 2008 +0800 KVM: ia64: add support for Tukwila processors In Tukwila processor, VT-i has been enhanced in its implementation, it is often called VT-i2 techonology. With VTi-2 support, virtulization performance should be improved. In this patch, we added the related stuff to support kvm/ia64 for Tukwila processors. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 81aec5227eedf9035e8544d8021ca6b8fb7c357a Author: Xiantao Zhang Date: Fri Sep 12 20:23:11 2008 +0800 KVM: ia64: Implement a uniform vps interface An uniform entry kvm_vps_entry is added for vps_sync_write/read, vps_resume_handler/guest, and branches to differnt PAL service according to the offset. Singed-off-by: Anthony Xu Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 271b05281f7f485a0be8764860687ebb98459b80 Author: Weidong Han Date: Wed Sep 24 13:39:57 2008 +0800 KVM: Remove useless intel-iommu.h header inclusion Currently "#include " is not needed in virt/kvm/kvm_main.c. Signed-off-by: Weidong Han Signed-off-by: Avi Kivity commit 7d8fece678c1abc2ca3e1ceda2277c3538a9161c Author: Glauber Costa Date: Wed Sep 17 23:16:59 2008 -0300 KVM: Don't destroy vcpu in case vcpu_setup fails One of vcpu_setup responsibilities is to do mmu initialization. However, in case we fail in kvm_arch_vcpu_reset, before we get the chance to init mmu. OTOH, vcpu_destroy will attempt to destroy mmu, triggering a bug. Keeping track of whether or not mmu is initialized would unnecessarily complicate things. Rather, we just make return, making sure any needed uninitialization is done before we return, in case we fail. Signed-off-by: Glauber Costa Signed-off-by: Avi Kivity commit af2152f5457448bd90cb019c108e0a85e716fdbe Author: Gleb Natapov Date: Mon Sep 22 14:28:53 2008 +0300 KVM: don't enter guest after SIPI was received by a CPU The vcpu should process pending SIPI message before entering guest mode again. kvm_arch_vcpu_runnable() returns true if the vcpu is in SIPI state, so we can't call it here. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 9ea1de4ea4b04d5132eb74917ecea77dda13ce76 Author: Avi Kivity Date: Fri Sep 19 19:25:30 2008 -0700 MAINTAINERS: Update Avi Kivity's email address Signed-off-by: Avi Kivity commit 2259e3a7a6089007839cd4bbf7c9867190c67238 Author: Harvey Harrison Date: Fri Aug 22 13:29:17 2008 -0700 KVM: x86.c make kvm_load_realmode_segment static Noticed by sparse: arch/x86/kvm/x86.c:3591:5: warning: symbol 'kvm_load_realmode_segment' was not declared. Should it be static? Signed-off-by: Harvey Harrison Signed-off-by: Avi Kivity commit 4c2155ce81c193788082d4b8cdbc26d79edebc58 Author: Marcelo Tosatti Date: Tue Sep 16 20:54:47 2008 -0300 KVM: switch to get_user_pages_fast Convert gfn_to_pfn to use get_user_pages_fast, which can do lockless pagetable lookups on x86. Kernel compilation on 4-way guest is 3.7% faster on VMX. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 777b3f49d297e387866604093b635e5bc9b9d2a6 Author: Marcelo Tosatti Date: Tue Sep 16 20:54:46 2008 -0300 KVM: opencode gfn_to_page in kvm_vm_fault kvm_vm_fault is invoked with mmap_sem held in read mode. Since gfn_to_page will be converted to get_user_pages_fast, which requires this lock NOT to be held, switch to opencoded get_user_pages. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit bfadaded0dc323a1cf3f08b5068f12955b54cbaa Author: Amit Shah Date: Tue Sep 16 18:04:28 2008 +0300 KVM: Device Assignment: Free device structures if IRQ allocation fails When an IRQ allocation fails, we free up the device structures and disable the device so that we can unregister the device in the userspace and not expose it to the guest at all. Signed-off-by: Amit Shah Signed-off-by: Avi Kivity commit 62c476c7c7f25a5b245b9902a935636e6316e58c Author: Ben-Ami Yassour Date: Sun Sep 14 03:48:28 2008 +0300 KVM: Device Assignment with VT-d Based on a patch by: Kay, Allen M This patch enables PCI device assignment based on VT-d support. When a device is assigned to the guest, the guest memory is pinned and the mapping is updated in the VT-d IOMMU. [Amit: Expose KVM_CAP_IOMMU so we can check if an IOMMU is present and also control enable/disable from userspace] Signed-off-by: Kay, Allen M Signed-off-by: Weidong Han Signed-off-by: Ben-Ami Yassour Signed-off-by: Amit Shah Acked-by: Mark Gross Signed-off-by: Avi Kivity commit 387179464257921eb9aa3d15cc3ff194f6945a7c Author: Kay, Allen M Date: Tue Sep 9 18:37:29 2008 +0300 VT-d: Changes to support KVM This patch extends the VT-d driver to support KVM [Ben: fixed memory pinning] [avi: move dma_remapping.h as well] Signed-off-by: Kay, Allen M Signed-off-by: Weidong Han Signed-off-by: Ben-Ami Yassour Signed-off-by: Amit Shah Acked-by: Mark Gross Signed-off-by: Avi Kivity commit a9ff8f6462635c8d9f8d64b7b10ddcea8404d77b Author: Marc Zyngier Date: Wed Oct 15 12:54:05 2008 +0100 [ARM] 5308/1: Fix Viper ISA IRQ handling The ISA IRQ renumbering broke the Viper ISA code in interesting ways. It originally assumed that ISA interrupt were numbered in the order that is defined by the CPLD registers. Unfortunately, this is no longer the case. Furthermore, the viper_irq_handler() function being a chained IRQ handler, it must ACK the interrupt by itself, or the handler will be immediately reentered, with the expected damages. This fix was made possible thanks to the help of David Raeman, who provided debug information and tested each version of this patch. Tested-by: David Raeman Signed-off-by: Marc Zyngier Acked-by: Eric Miao Signed-off-by: Russell King commit 08da6f1bdddca14ba0fe28a5f6c41aa163aa27d3 Author: Shinya Kuribayashi Date: Sun Oct 12 22:56:11 2008 +0900 MIPS: Kill unused inclusions Signed-off-by: Shinya Kuribayashi Signed-off-by: Ralf Baechle commit 656e9503bae1dbc7b0e8c709715e5eda9ae82653 Author: Thomas Bogendoerfer Date: Tue Sep 23 00:53:20 2008 +0200 MIPS: IP32: Add platform device for CMOS RTC; remove dead code Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit d1dbd82e2ff02181a7102088a9fe83e17ddbcb47 Author: Thomas Bogendoerfer Date: Tue Oct 14 17:17:32 2008 +0200 RTC: M48T35: new RTC driver This driver replaces the broken ip27-rtc driver in drivers/char and gives back RTC support for SGI IP27 machines. Signed-off-by: Thomas Bogendoerfer Acked-by: Alessandro Zummo Signed-off-by: Ralf Baechle commit 3ec066cdb75fb0ece5d4cc1ddfa93392f0f6498a Author: Thomas Bogendoerfer Date: Tue Oct 14 17:17:28 2008 +0200 MIPS: IP27: Switch over to RTC class driver This patchset removes some dead code and creates a platform device for the RTC class driver. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 5f119f29063c9a9bf1ab40112c02710c2db84f29 Author: Thomas Bogendoerfer Date: Tue Oct 14 17:16:59 2008 +0200 MIPS: DS1286: New RTC driver This driver replaces the broken DS1286 driver in drivers/char and gives back RTC support for SGI IP22 and IP28 machines. Signed-off-by: Thomas Bogendoerfer Acked-by: Alessandro Zummo Signed-off-by: Ralf Baechle commit 7d81a5e03ddbb44d05a32cad4a46a23577216497 Author: Thomas Bogendoerfer Date: Tue Oct 14 17:16:55 2008 +0200 MIPS: IP22/28: Switch over to RTC class driver This patchset removes some dead code and creates a platform device for the RTC class driver. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 540799e32eb146c9363445d1118b2bfdebd3da0b Author: Aurelien Jarno Date: Tue Oct 14 11:45:09 2008 +0200 MIPS: PCI: Scan busses when they are registered The patch below changes register_pci_controller() such that controllers being added after pcibios_init() has run are be scanned immediately. This is needed for example by the BCM47xx PCI controller, which is located on the SSB bus, which is now initialized after the PCI subsystem. Signed-off-by: Aurelien Jarno Signed-off-by: Ralf Baechle commit 89f8c04a49019eeb3998f9f0990256aec146fe9d Author: Aurelien Jarno Date: Tue Oct 14 11:44:43 2008 +0200 MIPS: WGT634U: Add reset button support This patch adds support for the reset button of WGT634U machine, using GPIO interrupts. Based on a patch from Michel Lespinasse. Signed-off-by: Aurelien Jarno Signed-off-by: Ralf Baechle commit b06f3e19a673e44ff56ce265600c5c6eb99aa914 Author: Aurelien Jarno Date: Tue Oct 14 11:44:26 2008 +0200 MIPS: BCM47xx: Use the new SSB GPIO API This patch simplifies the BCM47xx GPIO code by using the new SSB GPIO API, which does a lot things that were implemented directly in the BCM47xx code. Signed-off-by: Aurelien Jarno Signed-off-by: Ralf Baechle commit d412283cef135811e1ed6c3840376c239f4920dd Author: Aurelien Jarno Date: Tue Oct 14 11:43:47 2008 +0200 MIPS: BCM47xx: Remove references to BCM947XX This patch removes the remaining reference to the BCM947xx development board codename. Signed-off-by: Florian Fainelli Signed-off-by: Aurelien Jarno Signed-off-by: Ralf Baechle commit 91a385b8f2d0b4000fffb99b9411c1ffa926dc91 Author: Aurelien Jarno Date: Tue Oct 14 11:42:10 2008 +0200 MIPS: WGT634U: Add machine detection message This adds a printk message when a WGT634U machine is detected. Signed-off-by: Aurelien Jarno Signed-off-by: Ralf Baechle commit 2dbac10263b2f3c561de68b4c369bc679352ccee Author: David Daney Date: Mon Oct 13 16:36:13 2008 -0700 MIPS: Align .data.cacheline_aligned based on CONFIG_MIPS_L1_CACHE_SHIFT Signed-off-by: David Daney Signed-off-by: Tomaso Paoletti Signed-off-by: Ralf Baechle commit e47c659b55aff703a2a28e8bd01ee64948eeb417 Author: Johannes Dickgreber Date: Mon Oct 13 19:36:21 2008 +0200 MIPS: show_cpuinfo prints the type of the calling CPU It should print the type of the Nth processor. Signed-off-by: Johannes Dickgreber Signed-off-by: Ralf Baechle commit 9b8f3863d958eaf8747d9daf89998b558bcd6e33 Author: Johannes Dickgreber Date: Mon Oct 13 19:33:32 2008 +0200 MIPS: Fix wrong branch target in new spin_lock code. Signed-off-by: Johannes Dickgreber Signed-off-by: Ralf Baechle commit 201c72a3799af598d492c500259c9e18b7db321a Author: Ralf Baechle Date: Mon Oct 13 13:41:55 2008 +0100 MIPS: Have a heart for a lonely, lost header file ... ... and move it to where all its brothers and sisters reside. Requested by Shane McDonald . Signed-off-by: Ralf Baechle commit af2010daf7538b1483280f7aefffe4bff67696c0 Author: Mike Rapoport Date: Wed Oct 15 11:37:35 2008 +0100 [ARM] 5307/1: pxa: fix CM-X2XX PCMCIA build error Fix build error introduced by commit 27c4cae28148ad97baa2bf8275f7ebc9e2c37c34 [ARM] pxa: allow multi-machine PCMCIA builds MODPOST 76 modules ERROR: "cmx270_pcmcia_exit" [drivers/pcmcia/pxa2xx_cm_x2xx.ko] undefined! ERROR: "cmx255_pcmcia_exit" [drivers/pcmcia/pxa2xx_cm_x2xx.ko] undefined! ERROR: "cmx270_pcmcia_init" [drivers/pcmcia/pxa2xx_cm_x2xx.ko] undefined! ERROR: "cmx255_pcmcia_init" [drivers/pcmcia/pxa2xx_cm_x2xx.ko] undefined! make[2]: *** [__modpost] Error 1 make[1]: *** [modules] Error 2 make: *** [sub-make] Error 2 Signed-off-by: Mike Rapoport Signed-off-by: Russell King commit 598dca1f4c6ef83d1d9f77c2b0c027adb94c570a Author: Mike Rapoport Date: Wed Oct 15 11:07:21 2008 +0100 [ARM] 5306/1: pxa: fix build error on CM-X270 Fix build for CM-X2XX with CONFIG_RTC_DRV_V3020 unset: CC arch/arm/mach-pxa/cm-x270.o /mnt/sdb1/git/linux-2.6-arm/arch/arm/mach-pxa/cm-x270.c: In function 'cmx270_init': /mnt/sdb1/git/linux-2.6-arm/arch/arm/mach-pxa/cm-x270.c:338: error: implicit declaration of function 'cmx270_init_rtc' make[2]: *** [arch/arm/mach-pxa/cm-x270.o] Error 1 Signed-off-by: Mike Rapoport Signed-off-by: Russell King commit 255707274ea25d486b7de060a30ba4ac50593408 Author: Stephen Rothwell Date: Wed Oct 15 09:09:21 2008 +1100 md: build failure due to missing delay.h Today's linux-next build (powerpc ppc64_defconfig) failed like this: drivers/md/raid1.c: In function 'sync_request': drivers/md/raid1.c:1759: error: implicit declaration of function 'msleep_interruptible' make[3]: *** [drivers/md/raid1.o] Error 1 make[3]: *** Waiting for unfinished jobs.... drivers/md/raid10.c: In function 'sync_request': drivers/md/raid10.c:1749: error: implicit declaration of function 'msleep_interruptible' make[3]: *** [drivers/md/raid10.o] Error 1 drivers/md/md.c: In function 'md_do_sync': drivers/md/md.c:5915: error: implicit declaration of function 'msleep' Caused by commit 6caa3b0bbdb474647f6bdd8a958ffc46f78d8d58 ("md: Remove unnecessary #includes, #defines, and function declarations"). I added the following patch. Signed-off-by: Stephen Rothwell Signed-off-by: NeilBrown commit 6b2ada82101a08e2830fb29d7dc9b858be637dd4 Merge: 278429c... 3b7ecb5... 77af7e3... 1516071... 1fa63a8... 8546232... Author: Ingo Molnar Date: Wed Oct 15 12:48:44 2008 +0200 Merge branches 'core/softlockup', 'core/softirq', 'core/resources', 'core/printk' and 'core/misc' into core-v28-for-linus commit 428ffb7151a4078994b5c01ecbf845954843c1ec Author: Li Zefan Date: Wed Oct 15 10:07:23 2008 +0800 ALSA: us122l: fix missing unlock in usb_stream_hwdep_vm_fault() Should unlock us122l->mutex before returning VM_FAULT_SIGBUS. Signed-off-by: Li Zefan Signed-off-by: Takashi Iwai commit 80ffe86925a226f513b36d0ce13e049133841970 Author: Kailang Yang Date: Wed Oct 15 11:23:27 2008 +0200 ALSA: hda - Fix quirk lists for realtek codecs - Fix Toshiba S06 SSID to 1179:ff7b - Fix ASUS G50V quirk name - Add ASUS N20 quirk Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai commit 01afd41f55524e8378601dbf33b858d8dd4b3f31 Author: Kailang Yang Date: Wed Oct 15 11:22:09 2008 +0200 ALSA: hda - Add support of ALC272 Added the support of ALC272 codec. It's almost compatible with ALC663. Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai commit a385a52925398e53bedf1a8b30a9a3e002569f27 Author: Kailang Yang Date: Wed Oct 15 11:20:21 2008 +0200 ALSA: hda - Add ALC887 support Added ALC887 support. It's almost compatible with ALC883/888. Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai commit 4442608d4b0071a00067dcbf64e7362ce08e91a5 Author: Kailang Yang Date: Wed Oct 15 11:18:05 2008 +0200 ALSA: hda - Add ALC1200 support Add ALC1200 codec support. Almost compatible with ALC888. Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai commit a01c30cb77aa7b80ea08d003783fb9f0470455ee Author: Kailang Yang Date: Wed Oct 15 11:14:58 2008 +0200 ALSA: hda - Fix PCI SSID of ASUS M90V ASUS M90V has PCI SSID 1043:1873. Corrected in the quirk list. Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai commit 7fb0d78fb155845812e98ed10605d8f01963ce05 Author: Kailang Yang Date: Wed Oct 15 11:12:35 2008 +0200 ALSA: hda - Add auto mic switch in realtek auto-probe mode Add the automatic mic switch via jack sensing in auto-probe mode for Realtek codecs. Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai commit aa3a816b6d0bd59e1a9c548cc7d2dd829f26534f Author: Guillaume Thouvenin Date: Fri Sep 12 13:52:18 2008 +0200 KVM: x86 emulator: Use DstAcc for 'and' For instruction 'and al,imm' we use DstAcc instead of doing the emulation directly into the instruction's opcode. Signed-off-by: Guillaume Thouvenin Signed-off-by: Avi Kivity commit 8a9fee67fba585b4c4731a749367e1751ebf416c Author: Guillaume Thouvenin Date: Fri Sep 12 13:51:15 2008 +0200 KVM: x86 emulator: Add cmp al, imm and cmp ax, imm instructions (ocodes 3c, 3d) Add decode entries for these opcodes; execution is already implemented. Signed-off-by: Guillaume Thouvenin Signed-off-by: Avi Kivity commit 9c9fddd0e784346a6d0ce82ed20d9ad21f3c8a2c Author: Guillaume Thouvenin Date: Fri Sep 12 13:50:25 2008 +0200 KVM: x86 emulator: Add DstAcc operand type Add DstAcc operand type. That means that there are 4 bits now for DstMask. "In the good old days cpus would have only one register that was able to fully participate in arithmetic operations, typically called A for Accumulator. The x86 retains this tradition by having special, shorter encodings for the A register (like the cmp opcode), and even some instructions that only operate on A (like mul). SrcAcc and DstAcc would accommodate these instructions by decoding A into the corresponding 'struct operand'." -- Avi Kivity Signed-off-by: Guillaume Thouvenin Signed-off-by: Avi Kivity commit defed7ed926eca9f178a632df05baa866abe754e Author: Sheng Yang Date: Thu Sep 11 15:27:50 2008 +0800 x86: Move FEATURE_CONTROL bits to msr-index.h For MSR_IA32_FEATURE_CONTROL is already there. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 9ea542facbd0fd12a53e169953a3fdd6d0364532 Author: Sheng Yang Date: Thu Sep 11 15:27:49 2008 +0800 KVM: VMX: Rename IA32_FEATURE_CONTROL bits Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit ad8003d33efe856515a5c2e9b63637de85c44788 Author: Joerg Roedel Date: Wed Sep 10 20:01:07 2008 +0200 MAINTAINERS: add entry for the KVM AMD module Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit ef46f18ea010359f7536afd3f56a92c9c83ac09a Author: Avi Kivity Date: Thu Sep 11 19:47:13 2008 +0300 KVM: x86 emulator: fix jmp r/m64 instruction jmp r/m64 doesn't require the rex.w prefix to indicate the operand size is 64 bits. Set the Stack attribute (even though it doesn't involve the stack, really) to indicate this. Signed-off-by: Avi Kivity commit 4b92fe0c9d0376eb105c88d49b77595e8e5b1548 Author: Jan Kiszka Date: Thu Sep 11 12:58:00 2008 +0200 KVM: VMX: Cleanup stalled INTR_INFO read Commit 1c0f4f5011829dac96347b5f84ba37c2252e1e08 left a useless access of VM_ENTRY_INTR_INFO_FIELD in vmx_intr_assist behind. Clean this up. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 0bd595fc222583ca260f259698f72e9946c6e524 Author: Hollis Blanchard Date: Thu Sep 11 10:04:29 2008 -0500 KVM: ppc: kvmppc_44x_shadow_release() does not require mmap_sem to be locked And it gets in the way of get_user_pages_fast(). Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 9c3e4aab5ae27bf8589d61c7874e213832b4b7d2 Author: Marcelo Tosatti Date: Wed Sep 10 16:40:55 2008 -0300 KVM: x86: unhalt vcpu0 on reset Since "KVM: x86: do not execute halted vcpus", HLT by vcpu0 before system reset by the IO thread will hang the guest. Mark vcpu as runnable in such case. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit d19292e457a7c1b7f6c12bccbfdfd53630de1cee Author: Mohammed Gamal Date: Mon Sep 8 21:47:19 2008 +0300 KVM: x86 emulator: Add call near absolute instruction (opcode 0xff/2) Add call near absolute instruction. Signed-off-by: Mohammed Gamal Signed-off-by: Avi Kivity commit d76901750ab9f71091d33ef3d2b5909d8a9a4ad4 Author: Marcelo Tosatti Date: Mon Sep 8 15:23:48 2008 -0300 KVM: x86: do not execute halted vcpus Offline or uninitialized vcpu's can be executed if requested to perform userspace work. Follow Avi's suggestion to handle halted vcpu's in the main loop, simplifying kvm_emulate_halt(). Introduce a new vcpu->requests bit to indicate events that promote state from halted to running. Also standardize vcpu wake sites. Signed-off-by: Marcelo Tosatti redhat.com> Signed-off-by: Avi Kivity commit a6a3034cb979b1fa3948d8e1e91b2387fc66b89b Author: Mohammed Gamal Date: Sat Sep 6 17:22:29 2008 +0300 KVM: x86 emulator: Add in/out instructions (opcodes 0xe4-0xe7, 0xec-0xef) The patch adds in/out instructions to the x86 emulator. The instruction was encountered while running the BIOS while using the invalid guest state emulation patch. Signed-off-by: Mohammed Gamal Signed-off-by: Avi Kivity commit fa89a81766e33343fa8f0fe0e371819bf94a17a1 Author: Avi Kivity Date: Mon Sep 1 15:57:51 2008 +0300 KVM: Add statistics for guest irq injections These can help show whether a guest is making progress or not. Signed-off-by: Avi Kivity commit d40a1ee4859c673677c9811ae84475c4051baca5 Author: Sheng Yang Date: Mon Sep 1 19:41:20 2008 +0800 KVM: MMU: Modify kvm_shadow_walk.entry to accept u64 addr EPT is 4 level by default in 32pae(48 bits), but the addr parameter of kvm_shadow_walk->entry() only accept unsigned long as virtual address, which is 32bit in 32pae. This result in SHADOW_PT_INDEX() overflow when try to fetch level 4 index. Fix it by extend kvm_shadow_walk->entry() to accept 64bit addr in parameter. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 8c4b537da7eceab1246695df21beea10f180d460 Author: Xiantao Zhang Date: Thu Aug 28 09:34:08 2008 +0800 KVM: ia64: Implement kvm_arch_vcpu_ioctl_{set,get}_mpstate Two ioctl arch functions are added to set vcpu's smp state. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit fb4616f43148c5b3f3e453a47657572d1bda39ee Author: Mohammed Gamal Date: Mon Sep 1 04:52:24 2008 +0300 KVM: x86 emulator: Add std and cld instructions (opcodes 0xfc-0xfd) This adds the std and cld instructions to the emulator. Encountered while running the BIOS with invalid guest state emulation enabled. Signed-off-by: Mohammed Gamal Signed-off-by: Avi Kivity commit 20766c083e6ab3c33125f07c7ffe39914c106d98 Author: Christian Borntraeger Date: Fri Aug 29 13:30:56 2008 +0200 KVM: s390: change help text of guest Kconfig The current help text for CONFIG_S390_GUEST is not very helpful. Lets add more text. Signed-off-by: Christian Borntraeger Signed-off-by: Avi Kivity commit a0046b6db1c514149585e11895cd8434e0eafa79 Author: Christian Borntraeger Date: Fri Aug 29 13:29:45 2008 +0200 KVM: s390: Make facility bits future-proof Heiko Carstens pointed out, that its safer to activate working facilities instead of disabling problematic facilities. The new code uses the host facility bits and masks it with known good ones. Signed-off-by: Christian Borntraeger Signed-off-by: Avi Kivity commit a89c1ad270ca7ad0eec2667bc754362ce7b142be Author: Joerg Roedel Date: Fri Aug 29 11:52:07 2008 +0200 KVM: add MC5_MISC msr read support Currently KVM implements MC0-MC4_MISC read support. When booting Linux this results in KVM warnings in the kernel log when the guest tries to read MC5_MISC. Fix this warnings with this patch. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 48d150394999c542b2e828f03da226842950d46a Author: Avi Kivity Date: Thu Aug 28 18:27:15 2008 +0300 KVM: SVM: No need to unprotect memory during event injection when using npt No memory is protected anyway. Signed-off-by: Avi Kivity commit 3201b5d9f0f7ef392886cd76dcd2c69186d9d5cd Author: Avi Kivity Date: Wed Aug 27 20:01:04 2008 +0300 KVM: MMU: Fix setting the accessed bit on non-speculative sptes The accessed bit was accidentally turned on in a random flag word, rather than, the spte itself, which was lucky, since it used the non-EPT compatible PT_ACCESSED_MASK. Fix by turning the bit on in the spte and changing it to use the portable accessed mask. Signed-off-by: Avi Kivity commit 171d595d3b3254b9a952af8d1f6965d2e85dcbaa Author: Avi Kivity Date: Wed Aug 27 16:40:51 2008 +0300 KVM: MMU: Flush tlbs after clearing write permission when accessing dirty log Otherwise, the cpu may allow writes to the tracked pages, and we lose some display bits or fail to migrate correctly. Signed-off-by: Avi Kivity commit 2245a28fe2e6fdb1bdabc4dcde1ea3a5c37e2a9e Author: Avi Kivity Date: Wed Aug 27 16:32:24 2008 +0300 KVM: MMU: Add locking around kvm_mmu_slot_remove_write_access() It was generally safe due to slots_lock being held for write, but it wasn't very nice. Signed-off-by: Avi Kivity commit bc2d429979451d69d0985c5dbdf908cace2831cc Author: Avi Kivity Date: Wed Aug 27 16:30:56 2008 +0300 KVM: MMU: Account for npt/ept/realmode page faults Now that two-dimensional paging is becoming common, account for tdp page faults. Signed-off-by: Avi Kivity commit a5e2e82b8b62acd24a44b851e6bb4fd0793ead01 Author: Mohammed Gamal Date: Wed Aug 27 05:02:56 2008 +0300 KVM: x86 emulator: Add mov r, imm instructions (opcodes 0xb0-0xbf) The emulator only supported one instance of mov r, imm instruction (opcode 0xb8), this adds the rest of these instructions. Signed-off-by: Mohammed Gamal Signed-off-by: Avi Kivity commit d657c7335b97d746aa6123c56504b46c20e37df3 Author: Avi Kivity Date: Tue Aug 26 17:31:31 2008 +0300 KVM: Don't call get_user_pages(.force = 1) This is esoteric and only needed to break COW on MAP_SHARED mappings. Since KVM no longer does these sorts of mappings, breaking COW on them is no longer necessary. Signed-off-by: Avi Kivity commit acee3c04e8208c17aad1baff99baa68d71640a19 Author: Avi Kivity Date: Tue Aug 26 17:22:47 2008 +0300 KVM: Allocate guest memory as MAP_PRIVATE, not MAP_SHARED There is no reason to share internal memory slots with fork()ed instances. Signed-off-by: Avi Kivity commit abb9e0b8e33e58ac8e04e03b680c46435bc312fd Author: Avi Kivity Date: Fri Aug 22 19:11:39 2008 +0300 KVM: MMU: Convert the paging mode shadow walk to use the generic walker Signed-off-by: Avi Kivity commit 140754bc80e1cdbf2d14cdb10d900da1f7718e7b Author: Avi Kivity Date: Fri Aug 22 19:28:04 2008 +0300 KVM: MMU: Convert direct maps to use the generic shadow walker Signed-off-by: Avi Kivity commit 3d000db5688c8beff6319fb9ff4b98dcac32f798 Author: Avi Kivity Date: Fri Aug 22 19:24:38 2008 +0300 KVM: MMU: Add generic shadow walker We currently walk the shadow page tables in two places: direct map (for real mode and two dimensional paging) and paging mode shadow. Since we anticipate requiring a third walk (for invlpg), it makes sense to have a generic facility for shadow walk. This patch adds such a shadow walker, walks the page tables and calls a method for every spte encountered. The method can examine the spte, modify it, or even instantiate it. The walk can be aborted by returning nonzero from the method. Signed-off-by: Avi Kivity commit 6c41f428b72afe5a581b967590c12538db31d399 Author: Avi Kivity Date: Tue Aug 26 16:16:08 2008 +0300 KVM: MMU: Infer shadow root level in direct_map() In all cases the shadow root level is available in mmu.shadow_root_level, so there is no need to pass it as a parameter. Signed-off-by: Avi Kivity commit 0be9e929e398d6da6406183a8732dbfd0937fafe Author: Xiantao Zhang Date: Tue Aug 26 08:58:53 2008 +0800 KVM: ia64: Enable virtio driver for ia64 in Kconfig kvm/ia64 uses the virtio drivers to optimize its I/O subsytem. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 6e37d3dc3e358dbf907f8b96a51282966934124b Author: Avi Kivity Date: Fri Aug 22 19:14:17 2008 +0300 KVM: MMU: Unify direct map 4K and large page paths The two paths are equivalent except for one argument, which is already available. Merge the two codepaths. Signed-off-by: Avi Kivity commit 135f8c2b078533cc74e75f696e73d47304a61125 Author: Avi Kivity Date: Thu Aug 21 17:49:56 2008 +0300 KVM: MMU: Move SHADOW_PT_INDEX to mmu.c It is not specific to the paging mode, so can be made global (and reusable). Signed-off-by: Avi Kivity commit 6eb06cb2863a2ff5704b501f1699216180e790b5 Author: Avi Kivity Date: Thu Aug 21 17:41:39 2008 +0300 KVM: x86 emulator: remove bad ByteOp specifier from NEG descriptor Signed-off-by: Avi Kivity commit 41afa025878bc31c9c4e18415fba2435fe035376 Author: roel kluin Date: Mon Aug 18 21:25:01 2008 -0400 KVM: x86 emulator: remove duplicate SrcImm Signed-off-by: Roel Kluin Signed-off-by: Avi Kivity commit f4bbd9aaaae23007e4d79536d35a30cbbb11d407 Author: Avi Kivity Date: Wed Aug 20 15:51:42 2008 +0300 KVM: Load real mode segments correctly Real mode segments to not reference the GDT or LDT; they simply compute base = selector * 16. Signed-off-by: Avi Kivity commit a16b20da879430fdf245ed45461ed40ffef8db3c Author: Avi Kivity Date: Wed Aug 20 15:48:27 2008 +0300 KVM: VMX: Change segment dpl at reset to 3 This is more emulation friendly, if not 100% correct. Signed-off-by: Avi Kivity commit 5706be0dafd6f42852f85fbae292301dcad4ccec Author: Avi Kivity Date: Wed Aug 20 15:07:31 2008 +0300 KVM: VMX: Change cs reset state to be a data segment Real mode cs is a data segment, not a code segment. Signed-off-by: Avi Kivity commit 26815a648e1ec2b338a63a2bc301dcf449b93e5a Author: Xiantao Zhang Date: Tue Aug 19 20:48:03 2008 +0800 KVM: ia64: add a dummy irq ack notification Before enabling notify_acked_irq for ia64, leave the related APIs as nop-op first. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit ee032c993edd34e0bdf64dab06a55d0e08a4eeb9 Author: Harvey Harrison Date: Mon Aug 11 16:54:20 2008 -0700 KVM: make irq ack notifier functions static sparse says: arch/x86/kvm/x86.c:107:32: warning: symbol 'kvm_find_assigned_dev' was not declared. Should it be static? arch/x86/kvm/i8254.c:225:6: warning: symbol 'kvm_pit_ack_irq' was not declared. Should it be static? Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Avi Kivity commit 29c8fa32c5d1e2d26d53ad9467b3a13130014cdf Author: Amit Shah Date: Mon Aug 18 15:07:05 2008 +0300 KVM: Use kvm_set_irq to inject interrupts ... instead of using the pic and ioapic variants Signed-off-by: Amit Shah Signed-off-by: Avi Kivity commit 94c935a1ee7a9c134f0ebed656384186619d05cb Author: Amit Shah Date: Mon Aug 18 13:11:46 2008 +0300 KVM: SVM: Fix typo Fix typo in as-yet unused macro definition. Signed-off-by: Amit Shah Signed-off-by: Avi Kivity commit a89a8fb93ba63d4ad39db97c90997c409c87ccb9 Author: Mohammed Gamal Date: Sun Aug 17 16:42:16 2008 +0300 KVM: VMX: Modify mode switching and vmentry functions This patch modifies mode switching and vmentry function in order to drive invalid guest state emulation. Signed-off-by: Mohammed Gamal Signed-off-by: Avi Kivity commit ea953ef0ca84e778187905177e2a789a1974837b Author: Mohammed Gamal Date: Sun Aug 17 16:47:05 2008 +0300 KVM: VMX: Add invalid guest state handler This adds the invalid guest state handler function which invokes the x86 emulator until getting the guest to a VMX-friendly state. [avi: leave atomic context if scheduling] [guillaume: return to atomic context correctly] Signed-off-by: Laurent Vivier Signed-off-by: Guillaume Thouvenin Signed-off-by: Mohammed Gamal Signed-off-by: Avi Kivity commit 04fa4d32117b1a7773290fd59a97cf90cfc2a0d4 Author: Mohammed Gamal Date: Sun Aug 17 16:39:48 2008 +0300 KVM: VMX: Add module parameter and emulation flag. The patch adds the module parameter required to enable emulating invalid guest state, as well as the emulation_required flag used to drive emulation whenever needed. Signed-off-by: Mohammed Gamal Signed-off-by: Avi Kivity commit 648dfaa7df2d3692db4e63dcb18dccb275d9c5a7 Author: Mohammed Gamal Date: Sun Aug 17 16:38:32 2008 +0300 KVM: VMX: Add Guest State Validity Checks This patch adds functions to check whether guest state is VMX compliant. Signed-off-by: Mohammed Gamal Signed-off-by: Avi Kivity commit 6762b7299aa115e11815decd1fd982d015f09615 Author: Amit Shah Date: Wed Aug 13 16:22:37 2008 +0300 KVM: Device assignment: Check for privileges before assigning irq Even though we don't share irqs at the moment, we should ensure regular user processes don't try to allocate system resources. We check for capability to access IO devices (CAP_SYS_RAWIO) before we request_irq on behalf of the guest. Noticed by Avi. Signed-off-by: Amit Shah Signed-off-by: Avi Kivity commit dc7404cea34ef997dfe89ca94d16358e9d29c8d8 Author: Avi Kivity Date: Sun Aug 17 16:03:46 2008 +0300 KVM: Handle spurious acks for PIT interrupts Spurious acks can be generated, for example if the PIC is being reset. Handle those acks gracefully rather than flooding the log with warnings. Signed-off-by: Avi Kivity commit 85428ac7c39ab5fff23b5d14ccb32941e9401285 Author: Marcelo Tosatti Date: Thu Aug 14 20:53:25 2008 -0300 KVM: fix i8259 reset irq acking The irq ack during pic reset has three problems: - Ignores slave/master PIC, using gsi 0-8 for both. - Generates an ACK even if the APIC is in control. - Depends upon IMR being clear, which is broken if the irq was masked at the time it was generated. The last one causes the BIOS to hang after the first reboot of Windows installation, since PIT interrupts stop. [avi: fix check whether pic interrupts are seen by cpu] Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 8ceed34744f81c4a33d68ab825fd9ad3dd5f5505 Author: Avi Kivity Date: Thu Aug 14 21:25:47 2008 +0300 KVM: Simplify exception entries by using __ASM_SIZE and _ASM_PTR Signed-off-by: Avi Kivity commit ecfc79c700b02c5ad1ccae58718015caa84824be Author: Avi Kivity Date: Thu Aug 14 11:13:16 2008 +0300 KVM: VMX: Use interrupt queue for !irqchip_in_kernel Signed-off-by: Avi Kivity commit 29415c37f043d1d54dcf356601d738ff6633b72b Author: Marcelo Tosatti Date: Fri Aug 1 20:09:13 2008 -0300 KVM: set debug registers after "schedulable" section The vcpu thread can be preempted after the guest_debug_pre() callback, resulting in invalid debug registers on the new vcpu. Move it inside the non-preemptable section. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 8349b5cd816adf102c078553ec8ca63b3beb457c Author: Ben-Ami Yassour Date: Tue Aug 5 15:30:13 2008 +0300 KVM: remove unused field from the assigned dev struct Remove unused field: struct kvm_assigned_pci_dev assigned_dev from struct: struct kvm_assigned_dev_kernel Signed-off-by: Ben-Ami Yassour Signed-off-by: Avi Kivity commit 464d17c8b747deb77d1bf8c14cc4f28aab2a4952 Author: Sheng Yang Date: Wed Aug 13 14:10:33 2008 +0800 KVM: VMX: Clean up magic number 0x66 in init_rmode_tss Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 6ad18fba05228fb1d47cdbc0339fe8b3fca1ca26 Author: Dave Hansen Date: Mon Aug 11 10:01:49 2008 -0700 KVM: Reduce stack usage in kvm_pv_mmu_op() We're in a hot path. We can't use kmalloc() because it might impact performance. So, we just stick the buffer that we need into the kvm_vcpu_arch structure. This is used very often, so it is not really a waste. We also have to move the buffer structure's definition to the arch-specific x86 kvm header. Signed-off-by: Dave Hansen Signed-off-by: Avi Kivity commit b772ff362ec6b821c8a5227a3355e263f917bfad Author: Dave Hansen Date: Mon Aug 11 10:01:47 2008 -0700 KVM: Reduce stack usage in kvm_arch_vcpu_ioctl() [sheng: fix KVM_GET_LAPIC using wrong size] Signed-off-by: Dave Hansen Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit fa3795a7308df099f0f2c9e5ca2c20a5ff65bdc4 Author: Dave Hansen Date: Mon Aug 11 10:01:46 2008 -0700 KVM: Reduce stack usage in kvm_vcpu_ioctl() Signed-off-by: Dave Hansen Signed-off-by: Avi Kivity commit f0d662759a2465babdba1160749c446648c9d159 Author: Dave Hansen Date: Mon Aug 11 10:01:45 2008 -0700 KVM: Reduce kvm stack usage in kvm_arch_vm_ioctl() On my machine with gcc 3.4, kvm uses ~2k of stack in a few select functions. This is mostly because gcc fails to notice that the different case: statements could have their stack usage combined. It overflows very nicely if interrupts happen during one of these large uses. This patch uses two methods for reducing stack usage. 1. dynamically allocate large objects instead of putting on the stack. 2. Use a union{} member for all of the case variables. This tricks gcc into combining them all into a single stack allocation. (There's also a comment on this) Signed-off-by: Dave Hansen Signed-off-by: Avi Kivity commit 4d5c5d0fe89c921336b95f5e7e4f529a9df92f53 Author: Ben-Ami Yassour Date: Mon Jul 28 19:26:26 2008 +0300 KVM: pci device assignment Based on a patch from: Amit Shah This patch adds support for handling PCI devices that are assigned to the guest. The device to be assigned to the guest is registered in the host kernel and interrupt delivery is handled. If a device is already assigned, or the device driver for it is still loaded on the host, the device assignment is failed by conveying a -EBUSY reply to the userspace. Devices that share their interrupt line are not supported at the moment. By itself, this patch will not make devices work within the guest. The VT-d extension is required to enable the device to perform DMA. Another alternative is PVDMA. Signed-off-by: Amit Shah Signed-off-by: Ben-Ami Yassour Signed-off-by: Weidong Han Signed-off-by: Avi Kivity commit cbff90a7caa49507d399c9a55ba4a411e840bfb4 Author: Ben-Ami Yassour Date: Mon Jul 28 19:26:24 2008 +0300 KVM: direct mmio pfn check Userspace may specify memory slots that are backed by mmio pages rather than normal RAM. In some cases it is not enough to identify these mmio pages by pfn_valid(). This patch adds checking the PageReserved as well. Signed-off-by: Ben-Ami Yassour Signed-off-by: Muli Ben-Yehuda Signed-off-by: Avi Kivity commit 0293615f3fb9886b6b23800c121be293bb7483e9 Author: Glauber Costa Date: Mon Jul 28 11:47:53 2008 -0300 x86: KVM guest: use paravirt function to calculate cpu khz We're currently facing timing problems in guests that do calibration under heavy load, and then the load vanishes. This means we'll have a much lower lpj than we actually should, and delays end up taking less time than they should, which is a nasty bug. Solution is to pass on the lpj value from host to guest, and have it preset. Signed-off-by: Glauber Costa Signed-off-by: Avi Kivity commit 3807f345b2c610336c17c7624a0d496a38df75a0 Author: Glauber Costa Date: Mon Jul 28 11:47:52 2008 -0300 x86: paravirt: factor out cpu_khz to common code KVM intends to use paravirt code to calibrate khz. Xen current code will do just fine. So as a first step, factor out code to pvclock.c. Signed-off-by: Glauber Costa Signed-off-by: Avi Kivity commit 3cf57fed216e2c1b6fdfeccb792650bab72a350a Author: Marcelo Tosatti Date: Sat Jul 26 17:01:01 2008 -0300 KVM: PIT: fix injection logic and count The PIT injection logic is problematic under the following cases: 1) If there is a higher priority vector to be delivered by the time kvm_pit_timer_intr_post is invoked ps->inject_pending won't be set. This opens the possibility for missing many PIT event injections (say if guest executes hlt at this point). 2) ps->inject_pending is racy with more than two vcpus. Since there's no locking around read/dec of pt->pending, two vcpu's can inject two interrupts for a single pt->pending count. Fix 1 by using an irq ack notifier: only reinject when the previous irq has been acked. Fix 2 with appropriate locking around manipulation of pending count and irq_ack by the injection / ack paths. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit f52447261bc8c21dfd4635196e32d2da1352f589 Author: Marcelo Tosatti Date: Sat Jul 26 17:01:00 2008 -0300 KVM: irq ack notification Based on a patch from: Ben-Ami Yassour which was based on a patch from: Amit Shah Notify IRQ acking on PIC/APIC emulation. The previous patch missed two things: - Edge triggered interrupts on IOAPIC - PIC reset with IRR/ISR set should be equivalent to ack (LAPIC probably needs something similar). Signed-off-by: Marcelo Tosatti CC: Amit Shah CC: Ben-Ami Yassour Signed-off-by: Avi Kivity commit 564f15378f04921d5749f27ec53d5e68a6d1d446 Author: Avi Kivity Date: Sat Jul 26 17:00:59 2008 -0300 KVM: Add irq ack notifier list This can be used by kvm subsystems that are interested in when interrupts are acked, for example time drift compensation. Signed-off-by: Avi Kivity commit 49dd2c492895828a90ecdf889e7fe9cfb40a82a7 Author: Hollis Blanchard Date: Fri Jul 25 13:54:53 2008 -0500 KVM: powerpc: Map guest userspace with TID=0 mappings When we use TID=N userspace mappings, we must ensure that kernel mappings have been destroyed when entering userspace. Using TID=1/TID=0 for kernel/user mappings and running userspace with PID=0 means that userspace can't access the kernel mappings, but the kernel can directly access userspace. The net is that we don't need to flush the TLB on privilege switches, but we do on guest context switches (which are far more infrequent). Guest boot time performance improvement: about 30%. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 83aae4a8098eb8a40a2e9dab3714354182143b4f Author: Hollis Blanchard Date: Fri Jul 25 13:54:52 2008 -0500 KVM: ppc: Write only modified shadow entries into the TLB on exit Track which TLB entries need to be written, instead of overwriting everything below the high water mark. Typically only a single guest TLB entry will be modified in a single exit. Guest boot time performance improvement: about 15%. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 20754c2495a791b5b429c0da63394c86ade978e7 Author: Hollis Blanchard Date: Fri Jul 25 13:54:51 2008 -0500 KVM: ppc: Stop saving host TLB state We're saving the host TLB state to memory on every exit, but never using it. Originally I had thought that we'd want to restore host TLB for heavyweight exits, but that could actually hurt when context switching to an unrelated host process (i.e. not qemu). Since this decreases the performance penalty of all exits, this patch improves guest boot time by about 15%. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 6a0ab738ef42d87951b3980f61b1f4cbb14d4171 Author: Hollis Blanchard Date: Fri Jul 25 13:54:49 2008 -0500 KVM: ppc: guest breakpoint support Allow host userspace to program hardware debug registers to set breakpoints inside guests. Signed-off-by: Jerone Young Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit b5e2fec0ebc3fcaff954092bb69444a67a904c0a Author: Alexander Graf Date: Tue Jul 22 08:00:45 2008 +0200 KVM: Ignore DEBUGCTL MSRs with no effect Netware writes to DEBUGCTL and reads from the DEBUGCTL and LAST*IP MSRs without further checks and is really confused to receive a #GP during that. To make it happy we should just make them stubs, which is exactly what SVM already does. Writes to DEBUGCTL that are vendor-specific are resembled to behave as if the virtual CPU does not know them. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit 313dbd49dc239205b96da79fba09f7637cf84f3c Author: Avi Kivity Date: Thu Jul 17 18:04:30 2008 +0300 KVM: VMX: Avoid vmwrite(HOST_RSP) when possible Usually HOST_RSP retains its value across guest entries. Take advantage of this and avoid a vmwrite() when this is so. Signed-off-by: Avi Kivity commit 3b4bd7969f7b61a1ab455bff084ee4f0a2411055 Author: Christian Ehrhardt Date: Mon Jul 14 14:00:04 2008 +0200 KVM: ppc: trace powerpc instruction emulation This patch adds a trace point for the instruction emulation on embedded powerpc utilizing the KVM_TRACE interface. Signed-off-by: Christian Ehrhardt Signed-off-by: Avi Kivity commit 31711f2294b38d8334efaf7dbac6da4781fd151e Author: Jerone Young Date: Mon Jul 14 14:00:03 2008 +0200 KVM: ppc: adds trace points for ppc tlb activity This patch adds trace points to track powerpc TLB activities using the KVM_TRACE infrastructure. Signed-off-by: Jerone Young Signed-off-by: Christian Ehrhardt Signed-off-by: Avi Kivity commit 12f67556023389a6be929a56617142a8e8ab20fe Author: Jerone Young Date: Mon Jul 14 14:00:02 2008 +0200 KVM: ppc: enable KVM_TRACE building for powerpc This patch enables KVM_TRACE to build for PowerPC arch. This means just adding sections to Kconfig and Makefile. Signed-off-by: Jerone Young Signed-off-by: Christian Ehrhardt Signed-off-by: Avi Kivity commit 3f7f95c65ef6a89472a28da1b9436eaeee288831 Author: Christian Ehrhardt Date: Mon Jul 14 14:00:01 2008 +0200 KVM: kvmtrace: replace get_cycles with ktime_get v3 The current kvmtrace code uses get_cycles() while the interpretation would be easier using using nanoseconds. ktime_get() should give at least the same accuracy as get_cycles on all architectures (even better on 32bit archs) but at a better unit (e.g. comparable between hosts with different frequencies. [avi: avoid ktime_t in public header] Signed-off-by: Christian Ehrhardt Acked-by: Christian Borntraeger Signed-off-by: Avi Kivity commit e32c8f2c0720fb21c6f4a5f6ccbebdadc878f707 Author: Christian Ehrhardt Date: Mon Jul 14 14:00:00 2008 +0200 KVM: kvmtrace: Remove use of bit fields in kvm trace structure This patch fixes kvmtrace use on big endian systems. When using bit fields the compiler will lay data out in the wrong order expected when laid down into a file. This fixes it by using one variable instead of using bit fields. Signed-off-by: Jerone Young Signed-off-by: Christian Ehrhardt Signed-off-by: Avi Kivity commit 80e31d4f61f69d0e480ae092cda0e590d6a30aeb Author: Avi Kivity Date: Mon Jul 14 14:44:59 2008 +0300 KVM: SVM: Unify register save/restore across 32 and 64 bit hosts Signed-off-by: Avi Kivity commit c801949ddf0a51074937f488a52072825ed50174 Author: Avi Kivity Date: Mon Jul 14 14:44:59 2008 +0300 KVM: VMX: Unify register save/restore across 32 and 64 bit hosts Signed-off-by: Avi Kivity commit 77ab6db0a1c403387b403e9351ab3f5ae1df83e6 Author: Jan Kiszka Date: Mon Jul 14 12:28:51 2008 +0200 KVM: VMX: Reinject real mode exception As we execute real mode guests in VM86 mode, exception have to be reinjected appropriately when the guest triggered them. For this purpose the patch adopts the real-mode injection pattern used in vmx_inject_irq to vmx_queue_exception, additionally taking care that the IP is set correctly for #BP exceptions. Furthermore it extends handle_rmode_exception to reinject all those exceptions that can be raised in real mode. This fixes the execution of himem.exe from FreeDOS and also makes its debug.com work properly. Note that guest debugging in real mode is broken now. This has to be fixed by the scheduled debugging infrastructure rework (will be done once base patches for QEMU have been accepted). Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 19bd8afdc4e6fbb47e4841f8d771f8cb29916d9f Author: Jan Kiszka Date: Sun Jul 13 13:40:55 2008 +0200 KVM: Consolidate XX_VECTOR defines Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 7edd0ce05892831c77fa4cebe24a6056d33336d5 Author: Avi Kivity Date: Mon Jul 7 14:45:39 2008 +0300 KVM: Consolidate PIC isr clearing into a function Signed-off-by: Avi Kivity commit 60bd83a125030878665684f353c7d36fd54f09fd Author: Mohammed Gamal Date: Sat Jul 12 16:02:08 2008 +0300 KVM: VMX: Remove redundant check in handle_rmode_exception Since checking for vcpu->arch.rmode.active is already done whenever we call handle_rmode_exception(), checking it inside the function is redundant. Signed-off-by: Mohammed Gamal Signed-off-by: Avi Kivity commit f7d9238f5dc9306fd3bf1653c2939eef72f94d06 Author: Avi Kivity Date: Thu Jul 3 16:14:28 2008 +0300 KVM: VMX: Move interrupt post-processing to vmx_complete_interrupts() Instead of looking at failed injections in the vm entry path, move processing to the exit path in vmx_complete_interrupts(). This simplifes the logic and removes any state that is hidden in vmx registers. Signed-off-by: Avi Kivity commit 937a7eaef9f08342958d17055a350982b7bd92cb Author: Avi Kivity Date: Thu Jul 3 15:17:01 2008 +0300 KVM: Add a pending interrupt queue Similar to the exception queue, this hold interrupts that have been accepted by the virtual processor core but not yet injected. Not yet used. Signed-off-by: Avi Kivity commit 35920a356957eea9fd1f9da043f93469e8d72eab Author: Avi Kivity Date: Thu Jul 3 14:50:12 2008 +0300 KVM: VMX: Fix pending exception processing The vmx code assumes that IDT-Vectoring can only be set when an exception is injected due to the exception in question. That's not true, however: if the exception is injected correctly, and later another exception occurs but its delivery is blocked due to a fault, then we will incorrectly assume the first exception was not delivered. Fix by unconditionally dequeuing the pending exception, and requeuing it (or the second exception) if we see it in the IDT-Vectoring field. Signed-off-by: Avi Kivity commit 26eef70c3e8c76e73dff2579c792fc7355f8a291 Author: Avi Kivity Date: Thu Jul 3 14:59:22 2008 +0300 KVM: Clear exception queue before emulating an instruction If we're emulating an instruction, either it will succeed, in which case any previously queued exception will be spurious, or we will requeue the same exception. Signed-off-by: Avi Kivity commit 668f612fa0d8d4120ec5dc0725d7e1ca3152a954 Author: Avi Kivity Date: Wed Jul 2 09:28:55 2008 +0300 KVM: VMX: Move nmi injection failure processing to vm exit path Instead of processing nmi injection failure in the vm entry path, move it to the vm exit path (vm_complete_interrupts()). This separates nmi injection from nmi post-processing, and moves the nmi state from the VT state into vcpu state (new variable nmi_injected specifying an injection in progress). Signed-off-by: Avi Kivity commit cf393f75661f4b17451377b353833eb5502a9688 Author: Avi Kivity Date: Tue Jul 1 16:20:21 2008 +0300 KVM: Move NMI IRET fault processing to new vmx_complete_interrupts() Currently most interrupt exit processing is handled on the entry path, which is confusing. Move the NMI IRET fault processing to a new function, vmx_complete_interrupts(), which is called on the vmexit path. Signed-off-by: Avi Kivity commit 5b5c6a5a60801effb559e787a947885d9850a7da Author: Avi Kivity Date: Fri Jul 11 18:07:26 2008 +0300 KVM: MMU: Simplify kvm_mmu_zap_page() The twisty maze of conditionals can be reduced. [joerg: fix tlb flushing] Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 31aa2b44afd5e73365221b1de66f6081e4616f33 Author: Avi Kivity Date: Fri Jul 11 17:59:46 2008 +0300 KVM: MMU: Separate the code for unlinking a shadow page from its parents Place into own function, in preparation for further cleanups. Signed-off-by: Avi Kivity commit 867767a365ee74a3adcfaba27075eefb66b14bfd Author: Amit Shah Date: Fri Jun 27 15:55:02 2008 +0300 KVM: Introduce kvm_set_irq to inject interrupts in guests This function injects an interrupt into the guest given the kvm struct, the (guest) irq number and the interrupt level. Signed-off-by: Amit Shah Signed-off-by: Avi Kivity commit d98e6346350ac909f095768beb28b82368bd126f Author: Hollis Blanchard Date: Tue Jul 1 16:23:49 2008 -0500 KVM: Move KVM TRACE DEFINITIONS to common header Move KVM trace definitions from x86 specific kvm headers to common kvm headers to create a cross-architecture numbering scheme for trace events. This means the kvmtrace_format userspace tool won't need to know which architecture produced the log file being processed. Signed-off-by: Jerone Young Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 5fdbf9765b7ba6a45100851154768de703d51e76 Author: Marcelo Tosatti Date: Fri Jun 27 14:58:02 2008 -0300 KVM: x86: accessors for guest registers As suggested by Avi, introduce accessors to read/write guest registers. This simplifies the ->cache_regs/->decache_regs interface, and improves register caching which is important for VMX, where the cost of vmcs_read/vmcs_write is significant. [avi: fix warnings] Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit ca60dfbb69afb549e33527cbf676e4daf8febfb5 Author: Sheng Yang Date: Tue Jun 24 17:02:38 2008 +0800 KVM: VMX: Rename misnamed msr bits MSR_IA32_FEATURE_LOCKED is just a bit in fact, which shouldn't be prefixed with MSR_. So is MSR_IA32_FEATURE_VMXON_ENABLED. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit deb28d9bc4bb6922c1f7e459744d7b2d0db3a1d2 Author: Manish Katiyar Date: Wed Oct 15 00:13:53 2008 -0700 net/802/fc.c: Fix compilation warnings Signed-off-by: Manish Katiyar Signed-off-by: David S. Miller commit ab55570d64d5409fa940e85dd8de2594b160f826 Merge: eef9d90... 8713a7c... Author: David S. Miller Date: Tue Oct 14 23:19:16 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit eef9d90dcde7bb4d029b67ed36457efc4970d5a2 Author: Alexey Dobriyan Date: Tue Oct 14 22:55:21 2008 -0700 netns: correct mib stats in ip6_route_me_harder() Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 4ef079ccc1d934c5f9966f2bfcd5dbbef8f7a0a7 Author: Alexey Dobriyan Date: Tue Oct 14 22:54:48 2008 -0700 netns: fix net_generic array leak Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 1efd47f87317030cb7e37821b8562a8162c1223f Author: Mark Fasheh Date: Tue Oct 14 18:31:46 2008 -0700 ocfs2: fix build error I merged the latest ocfs2_read_blocks() changes in xattr.c wrong. This makes Ocfs2 compile again. Signed-off-by: Mark Fasheh commit 8713a7ccd88d93d9f8a72436088d6627c82490db Author: Felix Fietkau Date: Tue Oct 14 23:57:43 2008 +0200 rt2x00: fix regression introduced by "mac80211: free up 2 bytes in skb->cb" The hw_key pointer is used (and obviously NULL) after skb->cb is memset to 0. This patch grabs the iv_len before the memset call. Signed-off-by: Felix Fietkau Signed-off-by: Stephen Blackheath Acked-by: Johannes Berg Signed-off-by: John W. Linville commit eaca90dab6ab9853223029deffdd226f41b2028c Author: Florent Fourcot Date: Mon Oct 13 16:34:26 2008 -0700 rtl8187: Add USB ID for Belkin F5D7050 with RTL8187B chip The Belkin F5D7050rev5000de (id 050d:705e) has the Realtek RTL8187B chip and works with the 2.6.27 driver. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit ec366eba3b8d96fdb2e629c64fa2750be2723ba7 Author: Christian Lamparter Date: Mon Oct 13 23:41:53 2008 +0200 p54usb: Device ID updates This patch updates p54usb's device list. It adds the ID for SMC 2862W-G v2 and marks the "Spinnaker Proto board" as a first generation device. Reported-by: Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit e1a65b5828edfddb29c6fb4eb556fa503295146b Author: Randy Dunlap Date: Mon Oct 13 09:15:01 2008 -0700 mac80211: fixme for kernel-doc Fix kernel-doc warnings in mac80211.h. Fields need real explanations added to them. Warning(lin2627-g3-kdocfixes//include/net/mac80211.h:659): No description found for parameter 'icv_len' Warning(lin2627-g3-kdocfixes//include/net/mac80211.h:659): No description found for parameter 'iv_len' Signed-off-by: Randy Dunlap Signed-off-by: John W. Linville commit 4233df6b748193d45f79fb7448991a473061a65d Author: Johannes Berg Date: Mon Oct 13 13:35:05 2008 +0200 ath9k/mac80211: disallow fragmentation in ath9k, report to userspace As I've reported, ath9k currently fails utterly when fragmentation is enabled. This makes ath9k "support" hardware fragmentation by not supporting fragmentation at all to avoid the double-free issue. The patch also changes mac80211 to report errors from the driver operation to userspace. That hack in ath9k should be removed once the rate control algorithm it has is fixed, and we can at that time consider removing the hw fragmentation support entirely since it's not used by any driver. Signed-off-by: Johannes Berg Cc: stable@kernel.org Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 96d46d5d792d96f80e9bd274ab6d433b8a3c22bc Author: Manish Katiyar Date: Mon Oct 13 16:22:42 2008 +0530 libertas : Remove unused variable warning for "old_channel" from cmd.c Below patch removes the following warning during compilation. drivers/net/wireless/libertas/cmd.c:826: warning: unused variable 'old_channel' Signed-off-by : Manish Katiyar Acked-by: Dan Williams Signed-off-by: John W. Linville commit d048e503a2b01e771ee87921c24d89d7ec3f0c2f Author: Jouni Malinen Date: Sat Oct 11 03:29:55 2008 +0300 mac80211: Fix scan RX processing oops ieee80211_bss_info_update() can return NULL. Verify that this is not the case before calling ieee802111_rx_bss_put() which would trigger an oops in interrupt context in atomic_dec_and_lock(). Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Acked-by: Benoit Papillault Signed-off-by: John W. Linville commit c25bab54fe30d26a2cddf7058d77da72be630b23 Author: David Kilroy Date: Fri Oct 10 22:58:32 2008 +0100 orinoco: fix unsafe locking in spectrum_cs_suspend A similar problem was highlighted in the orinoco_cs driver by lockdep. This patch fixes the spectrum_cs driver. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 552a71515eef5cba9af8bfe608149557059c4463 Author: Andrey Borzenkov Date: Fri Oct 10 20:22:38 2008 +0400 orinoco: fix unsafe locking in orinoco_cs_resume [ 6972.562035] ================================= [ 6972.562040] [ INFO: inconsistent lock state ] [ 6972.562048] 2.6.27-1avb #17 [ 6972.562053] --------------------------------- [ 6972.562060] inconsistent {in-hardirq-W} -> {hardirq-on-W} usage. [ 6972.562068] pm-suspend/17062 [HC0[0]:SC0[0]:HE1:SE1] takes: [ 6972.562076] (&priv->lock){++..}, at: [] orinoco_cs_resume+0x5b/0xd0 [orinoco_cs] [ 6972.562122] {in-hardirq-W} state was registered at: [ 6972.562128] [] __lock_acquire+0x6cb/0x1640 [ 6972.562171] [] lock_acquire+0x5c/0x80 [ 6972.562181] [] _spin_lock_irqsave+0x49/0x80 [ 6972.562210] [] orinoco_interrupt+0x4d/0x16d0 [orinoco] [ 6972.562257] [] handle_IRQ_event+0x31/0x60 [ 6972.562278] [] handle_level_irq+0x6e/0xe0 [ 6972.562291] [] do_IRQ+0xb0/0x130 [ 6972.562313] [] 0xffffffff Signed-off-by: Andrey Borzenkov Signed-off-by: John W. Linville commit 33c0360bf74d5fded34cb08d3512ada32ad661e4 Author: Johannes Berg Date: Wed Oct 8 10:23:48 2008 +0200 cfg80211: fix debugfs error handling If something goes wrong creating the debugfs dir or when debugfs is not compiled in, the current code might lead to trouble; make it more robust. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c74e90a9e37c4a3923905189a6ebbd7ef61e6e67 Author: Johannes Berg Date: Wed Oct 8 10:18:36 2008 +0200 mac80211: fix debugfs netdev rename If, for some reason, a netdev has no debugfs dir, we shouldn't try to rename that dir. Signed-off-by: Johannes Berg Cc: Robin Holt Signed-off-by: John W. Linville commit d5d7c584810b3be2b70c979af3283a1e48b6574d Author: Tomas Winkler Date: Wed Oct 8 09:37:28 2008 +0800 iwlwifi: fix ct kill configuration for 5350 This patch fixes ct kill configuration for 5350. Temperature units that HW expects are in Celsius not in kelvins. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 09914813da37f1ee9d77998a0701629cfbbd98f4 Author: Johannes Berg Date: Tue Oct 7 19:31:17 2008 +0200 mac80211: fix HT information element parsing There's no checking that the HT IEs are of the right length which can be used by an attacker to cause an out-of-bounds access by sending a too short HT information/capability IE. Fix it by simply pretending those IEs didn't exist when too short. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3eadd751eb8cb8090a65b4fa72c6360fd1aa5f06 Author: Larry Finger Date: Tue Oct 7 08:27:45 2008 -0700 p54: Fix compilation problem on PPC The commit entitled "p54: Fix sparse warnings" introduced a compile error on PPC architecture. Thanks to Johannes Berg for reporting this problem. Signed-off-by: Signed-off-by: John W. Linville commit 63044e9f54b6bac50d2380bf4d14f63e9e7de72b Author: Johannes Berg Date: Tue Oct 7 12:04:29 2008 +0200 mac80211: fix debugfs lockup When debugfs_create_dir fails, sta_info_debugfs_add_work will not terminate because it will find the same station again and again. This is possible whenever debugfs fails for whatever reason; one reason is a race condition in mac80211, unfortunately we cannot do much about it, so just document it, it just means some station may be missing from debugfs. Signed-off-by: Johannes Berg Cc: Robin Holt Signed-off-by: John W. Linville commit 45527c2c4f698f8927239cfdec9f515cafed5f10 Author: Rami Rosen Date: Tue Oct 7 09:50:01 2008 +0200 iwlwifi: fix compilation warning when CONFIG_IWLWIFI_DEBUG is not set. When CONFIG_IWLWIFI_DEBUG is not set and CONFIG_IWLWIFI is set, we get this compilation warning: /wireless-next-2.6/drivers/net/wireless/iwlwifi/iwl-agn-rs.c: In function 'rs_free_sta': /wireless-next-2.6/drivers/net/wireless/iwlwifi/iwl-agn-rs.c:2425: warning: unused variable 'priv' This patch fixes it by adding __maybe_unused attribute. Signed-off-by: Rami Rosen Signed-off-by: John W. Linville commit 6dc6472581f693b5fc95aebedf67b4960fb85cf0 Merge: ee673ea... 8acd3a6... Author: Benjamin Herrenschmidt Date: Wed Oct 15 11:31:54 2008 +1100 Merge commit 'origin' Manual fixup of conflicts on: arch/powerpc/include/asm/dcr-regs.h drivers/net/ibm_newemac/core.h commit 746db510395e32ff57b9f8582e520df6b3fac618 Author: John W. Linville Date: Fri Oct 10 14:16:46 2008 -0400 rtl8187: add device ID 0bda:8198 Reported by zOOmER.gm@gmail.com to work here: http://bugzilla.kernel.org/show_bug.cgi?id=11728 Signed-off-by: John W. Linville commit 278429cff8809958d25415ba0ed32b59866ab1a8 Merge: e413b21... a05f2c5... Author: Linus Torvalds Date: Tue Oct 14 16:53:02 2008 -0700 Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: i2c-viapro: Add support for SMBus Process Call transactions i2c: Restore i2c_smbus_process_call function i2c: Do earlier driver model init i2c: Only build Tyan SMBus mux drivers on x86 i2c: Guard against oopses from bad init sequences i2c: Document the implementation details of the /dev interface i2c: Improve dev-interface documentation i2c-parport-light: Don't register a platform device resource hwmon: (dme1737) Convert to a new-style i2c driver hwmon: (dme1737) Be less i2c-centric i2c/tps65010: Vibrator hookup to gpiolib i2c-viapro: Add VX800/VX820 support i2c: Renesas Highlander FPGA SMBus support i2c-pca-isa: Don't grab arbitrary resources i2c/isp1301_omap: Convert to a new-style i2c driver, part 2 i2c/isp1301_omap: Convert to a new-style i2c driver, part 1 commit e413b210c541acac1a194085627db28a122f3bdf Merge: acd15a8... 9be7bbd... Author: Linus Torvalds Date: Tue Oct 14 16:35:43 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (55 commits) HID: build drivers for all quirky devices by default HID: add missing blacklist entry for Apple ATV ircontrol HID: add support for Bright ABNT2 brazilian device HID: Don't let Avermedia Radio FM800 be handled by usb hid drivers HID: fix numlock led on Dell device 0x413c/0x2105 HID: remove warn() macro from usb hid drivers HID: remove info() macro from usb HID drivers HID: add appletv IR receiver quirk HID: fix a lockup regression when using force feedback on a PID device HID: hiddev.h: Fix example code. HID: hiddev.h: Fix mixed space and tabs in example code. HID: convert to dev_* prints HID: remove hid-ff HID: move zeroplus FF processing HID: move thrustmaster FF processing HID: move pantherlord FF processing HID: fix incorrent length condition in hidraw_write() HID: fix tty<->hid deadlock HID: ignore iBuddy devices HID: report descriptor fix for remaining MacBook JIS keyboards ... commit acd15a836053ff6b48e78dc6de388b225ba9e40d Merge: 72f22b1... d4a8c93... Author: Linus Torvalds Date: Tue Oct 14 16:34:11 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: (56 commits) ocfs2: Make cached block reads the common case. ocfs2: Kill the last naked wait_on_buffer() for cached reads. ocfs2: Move ocfs2_bread() into dir.c ocfs2: Simplify ocfs2_read_block() ocfs2: Require an inode for ocfs2_read_block(s)(). ocfs2: Separate out sync reads from ocfs2_read_blocks() ocfs2: Refactor xattr list and remove ocfs2_xattr_handler(). ocfs2: Calculate EA hash only by its suffix. ocfs2: Move trusted and user attribute support into xattr.c ocfs2: Uninline ocfs2_xattr_name_hash() ocfs2: Don't check for NULL before brelse() ocfs2: use smaller counters in ocfs2_remove_xattr_clusters_from_cache ocfs2: Documentation update for user_xattr / nouser_xattr mount options ocfs2: make la_debug_mutex static ocfs2: Remove pointless !! ocfs2: Add empty bucket support in xattr. ocfs2/xattr.c: Fix a bug when inserting xattr. ocfs2: Add xattr mount option in ocfs2_show_options() ocfs2: Switch over to JBD2. ocfs2: Add the 'inode64' mount option. ... commit 72f22b1eb6ca5e4676a632a04d40d46cb61d4562 Author: Bjorn Helgaas Date: Tue Oct 14 17:01:59 2008 -0600 rtc-cmos: look for PNP RTC first, then for platform RTC We shouldn't rely on "pnp_platform_devices" to tell us whether there is a PNP RTC device. I introduced "pnp_platform_devices", but I think it was a mistake. All it tells us is whether we found any PNPBIOS or PNPACPI devices. Many machines have some PNP devices, but do not describe the RTC via PNP. On those machines, we need to do the platform driver probe to find the RTC. We should just register the PNP driver and see whether it claims anything. If we don't find a PNP RTC, fall back to the platform driver probe. This (in conjunction with the arch/x86/kernel/rtc.c patch to add a platform RTC device when PNP doesn't have one) should resolve these issues: http://bugzilla.kernel.org/show_bug.cgi?id=11580 https://bugzilla.redhat.com/show_bug.cgi?id=451188 Signed-off-by: Bjorn Helgaas Acked-by: Rafael J. Wysocki Acked-by: David Brownell Reported-by: Rik Theys Reported-by: shr_msn@yahoo.com.tw Signed-off-by: Linus Torvalds commit 758a7f7bb86b520aadc484f23da85e547b3bf3d8 Author: Bjorn Helgaas Date: Tue Oct 14 17:01:03 2008 -0600 x86: register a platform RTC device if PNP doesn't describe it Most if not all x86 platforms have an RTC device, but sometimes the RTC is not exposed as a PNP0b00/PNP0b01/PNP0b02 device in PNPBIOS or ACPI: http://bugzilla.kernel.org/show_bug.cgi?id=11580 https://bugzilla.redhat.com/show_bug.cgi?id=451188 It's best if we can discover the RTC via PNP because then we know which flavor of device it is, where it lives, and which IRQ it uses. But if we can't, we should register a platform device using the compiled-in RTC_PORT/RTC_IRQ resource assumptions. Signed-off-by: Bjorn Helgaas Acked-by: Rafael J. Wysocki Acked-by: David Brownell Reported-by: Rik Theys Reported-by: shr_msn@yahoo.com.tw Signed-off-by: Linus Torvalds commit 011935a0a710c20bb7ae63523b78856848db1926 Author: Trond Myklebust Date: Tue Oct 14 19:24:50 2008 -0400 NFS: Fix a resolution problem with nfs_inode->cache_change_attribute The cache_change_attribute is used to decide whether or not a directory has changed, in which case we may need to look it up again. Again, the use of 'jiffies' leads to an issue of resolution. Once again, the fix is to change nfs_inode->cache_change_attribute, and just make it a simple counter. Signed-off-by: Trond Myklebust commit 4704f0e274829e3af00737d2d9adace2d71a9605 Author: Trond Myklebust Date: Tue Oct 14 19:16:07 2008 -0400 NFS: Fix the resolution problem with nfs_inode_attrs_need_update() It appears that 'jiffies' timestamps do not have high enough resolution for nfs_inode_attrs_need_update(). One problem is that a GETATTR can be launched within < 1 jiffy of the last operation that updated the attribute. Another problem is that RPC calls can take < 1 jiffy to execute. We can fix this by switching the variables to use a simple global counter that gets incremented every time we start another GETATTR call. Signed-off-by: Trond Myklebust commit 921615f111108258820226a3258a047d9bf1d96a Author: Trond Myklebust Date: Tue Oct 14 19:23:07 2008 -0400 NFS: Changes to inode->i_nlinks must set the NFS_INO_INVALID_ATTR flag Signed-off-by: Trond Myklebust commit ee673eaa72d8d185012b1027a05e25aba18c267f Author: Benjamin Herrenschmidt Date: Mon Oct 13 20:49:47 2008 +0000 powerpc: Fix CHRP PCI config access for indirect_pci Recently, indirect_pci was changed to test if the bus number requested is the one hanging straight off the PHB, then it substitutes the bus number with another one contained in a new "self_busno" field of the pci_controller structure. However, this breaks CHRP which didn't initialize this new field, and which relies on having the right bus number passed to the hardware. This fixes it by initializing this variable properly for all CHRP bridges Signed-off-by: Benjamin Herrenschmidt commit 22007a165d2da38686d528f3af5c5d8b6713728c Author: Benjamin Herrenschmidt Date: Mon Oct 13 20:14:09 2008 +0000 powerpc/chrp: Fix detection of Python PCI host bridge on IBM CHRPs The detection of the IBM "Python" PCI host bridge on IBM CHRP machines such as old RS6000 was broken when we changed of_device_is_compatible() from strncasecmp to strcasecmp (dropped the "n" variant) due to the way IBM encodes the chip version. We fix that by instead doing a match on the model property like we do for others bridges in that file. It should be good enough for those machines. If yours is still broken, let me know. Signed-off-by: Benjamin Herrenschmidt commit 2bda347bc53fe2cacd5621d8a0426840a8d2a6a6 Author: Benjamin Herrenschmidt Date: Mon Oct 13 18:38:48 2008 +0000 powerpc: Fix 32-bit SMP boot on CHRP prom_init was changed to take a new argument, the address where the kernel is loaded, which is now used to copy the SMP spin loop down before use. However, only head_64.S was adapted to pass this new value, not head_32.S, thus breaking SMP boot on 32-bit SMP CHRP machines. Signed-off-by: Benjamin Herrenschmidt commit 7b6b574ca7d5d5ba6ae7155c1fb877cc7130eff7 Author: Benjamin Herrenschmidt Date: Mon Oct 13 17:51:46 2008 +0000 powerpc: Fix link errors on 32-bit machines using legacy DMA The new merged DMA code will try to access isa_bridge_pcidev when trying to DMA to/from legacy devices. This is however only defined on 64-bit. Fixes this for now by adding the variable, even if it stays NULL. In the long run, we'll make isa-bridge.c common to 32 and 64-bit. Signed-off-by: Benjamin Herrenschmidt commit b556151110ff003ce77d84597400c84824690ccf Author: Benjamin Herrenschmidt Date: Mon Oct 13 13:56:31 2008 +0000 powerpc/pci: Improve detection of unassigned bridge resources When the powerpc PCI layer is not configured to re-assign everything, it currently fails to detect that a PCI to PCI bridge has been left unassigned by the firmware and tries to allocate resource for the default window values in the bridge (0...X) (with the notable exception of a hack we have in there that detects some Apple firmware unassigned bridge resources). This results in resource allocation failures, which are generally fixed up later on but it causes scary warnings in the logs and we have seen the fixup code fall over in some circumstances (a different issue to fix as well). This code improves that by providing a more complete & useful function to intuit that a bridge was left unassigned by the firmware, and thus force a full re-allocation by the PCI code without trying to allocate the existing useless resources first. The algorithm we use basically considers unassigned a window that starts at 0 (PCI address) if the corresponding address space enable bit is not set. In addition, for memory space, it considers such a resource unassigned also if the host bridge isn't configured to forward cycles to address 0 (ie, the resource basically overlaps main memory). This fixes a range of problems with things like Bare-Metal support on pSeries machines, or attempt to use partial firmware PCI setup. Signed-off-by: Benjamin Herrenschmidt commit eef2622a9fcfa964073333ea72c7c9cd20ad45e6 Author: Christian Borntraeger Date: Sun Oct 12 21:51:31 2008 +0000 hvc_console: Fix free_irq in spinlocked section commit 611e097d7707741a336a0677d9d69bec40f29f3d Author: Christian Borntraeger hvc_console: rework setup to replace irq functions with callbacks introduced a spinlock recursion problem. The notifier_del is called with a lock held, and in turns calls free_irq which then complains when manipulating procfs. This fixes it by moving the call to the notifier to outside of the locked section. Signed-off-by: Christian Borntraeger Signed-off-by: Benjamin Herrenschmidt commit a474aaedac99ba86e28ef6c912a7647c482db6dd Author: Bjorn Helgaas Date: Tue Oct 14 13:50:21 2008 -0600 rtc-cmos: move wake setup from ACPI glue into RTC driver Move rtc_wake_setup() from drivers/acpi/glue.c into the RTC driver in drivers/rtc/rtc-cmos.c. This removes the ordering constraint between the module_init(acpi_rtc_init) and the cmos_do_probe() code that depends on it. Signed-off-by: Bjorn Helgaas Acked-by: Rafael J. Wysocki Signed-off-by: Linus Torvalds commit 9be7bbd54df3c9c393ccd19acc49f90c517d1291 Author: Jiri Kosina Date: Tue Oct 14 23:37:33 2008 +0200 HID: build drivers for all quirky devices by default Once kernel configuration has CONFIG_HID turned on, let also all the specialized drivers for quirky devices to be built (unless CONFIG_EMBEDDED is specified), as usually users don't care that much which driver gives them the functionality, but when they want generic support, they probably want to have support for all the quirky devices as well. Signed-off-by: Jiri Kosina commit df9bcace7b1c29e9be1c13b034ff04f4f4c90ede Author: Jiri Kosina Date: Tue Oct 14 22:45:40 2008 +0200 HID: add missing blacklist entry for Apple ATV ircontrol This device is already handled by hid-apple driver, but the blacklist entry was missing in generic driver. Reported-by: Jiri Slaby Signed-off-by: Jiri Kosina commit a48c65b35a6f993aec13d18a37f6ea71fbcb0c06 Author: Mauro Carvalho Chehab Date: Tue Oct 14 22:41:43 2008 +0200 HID: add support for Bright ABNT2 brazilian device This keyboard needs to reset the LEDS during probe. Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Jiri Kosina commit ffcf70fb0693f1ab0133f973b5b9c552be766b16 Author: Mauro Carvalho Chehab Date: Tue Oct 14 22:34:32 2008 +0200 HID: Don't let Avermedia Radio FM800 be handled by usb hid drivers Based on an original patch from Alexey Klimov , against kernel version 2.6.27. This device is already handled by radio-mr800 driver, and we therefore want usbhid not to touch it. Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Jiri Kosina commit 0dc491682f6e673a14c643d9a3e7305ce4616b96 Author: Mauro Carvalho Chehab Date: Tue Oct 14 11:08:47 2008 -0200 HID: fix numlock led on Dell device 0x413c/0x2105 This keyboard needs to re-sync numlock after probing. Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Jiri Kosina commit 7d89fe12bd21f1383a6a240114221bf31fd71904 Author: From: Greg Kroah-Hartman Date: Sun Oct 12 00:25:51 2008 +0200 HID: remove warn() macro from usb hid drivers USB should not be having it's own printk macros, so remove warn() and use the system-wide standard of dev_warn() wherever possible. In the few places that will not work out, use a basic printk(). Signed-off-by: Greg Kroah-Hartman Signed-off-by: Jiri Kosina commit ddbe32491951c092abbd3647fd104e79deb19528 Author: Greg Kroah-Hartman Date: Sun Oct 12 00:14:23 2008 +0200 HID: remove info() macro from usb HID drivers USB should not be having it's own printk macros, so remove info() and use the system-wide standard of dev_info() wherever possible. Signed-off-by: Greg Kroah-Hartman Signed-off-by: Jiri Kosina commit 0f492f2aa908edea5e23c4b0d033b858cd90ea37 Author: Peter Korsgaard Date: Mon Oct 6 11:15:34 2008 +0200 HID: add appletv IR receiver quirk Similar to the existing IRCONTROL4 handling Signed-off-by: Peter Korsgaard Signed-off-by: Jiri Kosina commit f129ea6d1efe0eddcbb1f0faaec5623788ad9e58 Author: Anssi Hannula Date: Sat Oct 4 14:44:06 2008 +0200 HID: fix a lockup regression when using force feedback on a PID device Commit 8006479c9b75fb6594a7b746af3d7f1fbb68f18f introduced a spinlock in input_dev->event_lock, which is locked when handling input events. However, the hid-pidff driver sleeps when handling events as it waits for reports being sent to the device before changing the report contents again. This causes a system lockup when trying to use force feedback with a PID device, a regression introduced in 2.6.24 and 2.6.23.15. Fix it by extracting the raw report data from struct hid_report immediately when hid_submit_report() is called, therefore allowing drivers to change the contents of struct hid_report immediately without affecting the already-queued transfer. In hid-pidff, re-add the removed usbhid_wait_io() to pidff_erase_effect() instead, to prevent a full report queue from causing the submission to fail, thus not freeing up device memory. pidff_erase_effect() is not called while dev->event_lock is held. Signed-off-by: Anssi Hannula Signed-off-by: Jiri Kosina commit dded364bf4e1f0de67d7d7b9e77c06b23a9f081f Author: Antonio Ospite Date: Thu Oct 2 22:15:02 2008 +0200 HID: hiddev.h: Fix example code. Fix hiddev.h example code. To get the correct usage code, you need to set report_type and report_id. Signed-off-by: Antonio Ospite Signed-off-by: Jiri Kosina commit 34a5ceee5eafe8cfa650d333304ce84a573ff7f0 Author: Antonio Ospite Date: Thu Oct 2 22:14:54 2008 +0200 HID: hiddev.h: Fix mixed space and tabs in example code. Fix mixed space and tabs in example code. Signed-off-by: Antonio Ospite Signed-off-by: Jiri Kosina commit 795750197f240ca2a3f064c0210c4efd40dbaed3 Author: Jiri Slaby Date: Thu Sep 18 12:23:34 2008 +0200 HID: convert to dev_* prints Since we have a real device bound to a driver, we may use struct device for printing. Use dev_* functions instead of printks in 4 drivers. Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 76483cf4d0efbc35eaf9905a437f2f1be0221360 Author: Jiri Slaby Date: Thu Sep 18 12:23:33 2008 +0200 HID: remove hid-ff hid-ff.c now calls only pidff (generic driver), the special ones are now in separate drivers. Invoke pidff on all non-special directly. Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 987fbc1f7d446f4bf7063d3b756ae29db80be75e Author: Jiri Slaby Date: Thu Sep 18 12:23:32 2008 +0200 HID: move zeroplus FF processing Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 10e41a711e55f485709b4ca157e587cf36ef5a69 Author: Jiri Slaby Date: Thu Sep 18 12:23:31 2008 +0200 HID: move thrustmaster FF processing Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 5f022298aab58ddff9bccdb28b82a59109789da9 Author: Jiri Slaby Date: Thu Sep 18 19:43:32 2008 +0200 HID: move pantherlord FF processing Move the force feedback processing into a separate module. [jkosina@suse.cz: fix Kconfig texts a little bit] Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 2b107d629dc0c35de606bb7b010b829cd247a93a Author: Jiri Kosina Date: Wed Sep 17 19:41:58 2008 +0200 HID: fix incorrent length condition in hidraw_write() The bound check on the buffer length if (count > HID_MIN_BUFFER_SIZE) is of course incorrent, the proper check is if (count > HID_MAX_BUFFER_SIZE) Fix it. Reported-by: Jerry Ryle Signed-off-by: Jiri Kosina commit d92870ddd248e8c2562a8c4047885d3ad221ece7 Author: Jiri Slaby Date: Tue Sep 9 01:23:03 2008 +0200 HID: fix tty<->hid deadlock hid_compat_load() runs on the default workqueue, it request_module(), it execs modprobe, it exits, tty flushes default workqueue, it hangs, because we are still in it. Signed-off-by: Jiri Slaby Tested-by: Signed-off-by: Andrew Morton Signed-off-by: Jiri Kosina commit d1d3a5f6eaee337d793ab9ac28e696f0262c3c8a Author: Remi Cattiau Date: Tue Sep 9 01:39:33 2008 +0200 HID: ignore iBuddy devices iBuddy devices claim to be HID devices, but they are not. Add them to the blacklist. Signed-off-by: Remi Cattiau Signed-off-by: Jiri Kosina commit 1f934451825f8cfefd97e4eab4d1ab2f6591ec0f Author: Tomoya Adachi Date: Thu Sep 4 11:29:27 2008 +0200 HID: report descriptor fix for remaining MacBook JIS keyboards This patch fixes a problem that MacBook JIS keyboard sends wrong report descriptors. Although it has already been fixed in the first Core 2 Duo model, it still remains in other models of MacBook. Signed-off-by: Tomoya Adachi Signed-off-by: Jiri Kosina commit e36153f5a4b256c3a724b00b535f9dc44edf2372 Author: Randy Dunlap Date: Thu Sep 4 10:55:00 2008 +0200 HID: fix gyration build error Fix config symbol name in ifdef to fix build error: ERROR: "hid_compat_gyration" [drivers/hid/hid-dummy.ko] undefined! Signed-off-by: Randy Dunlap Acked-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 2bea94db87362ad90d0959201f5c401767042be1 Author: Sergey Belyashov Date: Tue Sep 2 17:31:16 2008 +0200 HID: Autocentering support for Logitech MOMO Racing Wheel Current kernel has no support for autocentering for Logitech wheels. By default autocentering enabled in wheel and constant effect does not work properly. Using USB sniffer I found command which change autocentering settings: 0xFE, 0x0D, 0x0R, 0x0L, 0x80, 0x00, 0x00, where R - clockwise force, L - counter-clockwise (0x0-0xF, 0xC = 100%). Signed-off-by: Sergey Belyashov Signed-off-by: Jiri Kosina commit 6f3c0e509640070e3c013cd9787a7d1892276b3f Author: Alex Chiang Date: Wed Aug 27 13:36:18 2008 +0200 HID: fix grammo in HID_COMPAT Kconfig help text The Kconfig option for HID_COMPAT should read "lose", not "loose". Signed-off-by: Alex Chiang Signed-off-by: Jiri Kosina commit 66ebf66e497094f2c3fb3107d309c6a753beb0ff Author: Jiri Kosina Date: Wed Aug 27 11:21:42 2008 +0200 HID: add support for Super Dual Box Pro USB PS2/PS2 adapter This seems to be the very same device, as already supported Smartjoy dual Plus, but with slightly different vendor ID. Let's support this one too. Reported-by: David Ashley Signed-off-by: Jiri Kosina commit c0bd6a429819f794f626f9e73be4564e18e132db Author: Richard Hughes Date: Wed Aug 27 11:19:37 2008 +0200 HID: remove ignore quirk for MGE UPS devices This patch reverts the change made four years ago here: http://www.vg.kernel.org/pub/linux/kernel/people/gregkh/usb/2.4/usb-hid-2.4.25-pre7.patch UPS's made by MGE can be used with usbhid just fine, and by removing the ignore quirk allows them to be used with HAL so they just work when plugged in, without needing to be manually configured. With the ignore quirk in place a user would have to configure NUT before the UPS could be used, as NUT uses it's own internal USB matching framework to match against the USB devices, do low level control messages on the device and then parse the HID tables all in userspace. This is not needed, as allowing the device to be claimed as a usbhid device allows it to be used like any other USB UPS device. The devices correctly advertise the power device page which can be queried for the device state. I assume the quirk was changed so that people using < libusb 0.1.8 could still use NUT's internal HID code to manage the UPS. libusb 0.1.8 was released quite some time ago: 2004-02-11. This patch does not break NUT as in drivers/libusb.c the device is force unbound from the kernel driver using usb_detach_kernel_driver_np () where it can be controlled like normal. [jkosina@suse.cz: adapt to the new hidbus code] Signed-off-by: Richard Hughes Signed-off-by: Jiri Kosina commit 0f37cd0306463ad35f958d8f74a2b00e5b190b4b Author: Jiri Kosina Date: Wed Aug 20 19:13:52 2008 +0200 HID: introduce list for hiddev creation forcing Introduce a list of devices for which there is need to force a creation of the hiddev interface, but still they are operated by generic driver (i.e. certain UPS). Signed-off-by: Jiri Kosina commit 606bd0a8616a0e59021cb2997e942513f24f641d Author: Jiri Slaby Date: Fri Jul 4 23:06:45 2008 +0200 HID: move logitech FF processing Merge the logitech force feedback processing directly into logitech driver from the usbhid core. Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 6edfa8dc33803a49ad936ead9840e453bee6ca3b Author: Jiri Slaby Date: Fri Jun 27 20:41:02 2008 +0200 HID: move reset leds quirk Move the handling of the leds resetting from the core to the dell and logitech drivers. Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 93c10132a7ac160df3175b53f7ee857625412165 Author: Jiri Slaby Date: Fri Jun 27 00:04:24 2008 +0200 HID: move connect quirks Move connecting from usbhid to the hid layer and fix also hidp in that manner. This removes all the ignore/force hidinput/hiddev connecting quirks. Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit fea6f1833b5bbff7066bcde1fa1141c9717bbad2 Author: Jiri Slaby Date: Thu Jun 26 22:25:33 2008 +0200 HID: move dell quirks Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit bd28ce008bdc68ef5902f68d2d62cbb7fa78c415 Author: Jiri Slaby Date: Wed Jun 25 23:47:04 2008 +0200 HID: move sony quirks Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 2b88b803018dbc2e9c68cbcd1739186e0715911a Author: Jiri Slaby Date: Wed Jun 25 23:03:55 2008 +0200 HID: remove rdesc quirk support Remove support for both dynamic and static report descriptor quirks. There is no longer rdesc code which it would support, so it's useless. Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 3715ade981d524f9bb3b851a1eb81d3604a873bc Author: Jiri Slaby Date: Thu Jul 31 11:09:37 2008 +0200 HID: remove hid-input-quirks Remove the file since these is no user now. Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 980a3da6acdd577ee3ae192e868dc52fe4b7f2e5 Author: Jiri Slaby Date: Wed Jun 25 22:31:48 2008 +0200 HID: move samsung quirks Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 949f8fef77186c7361d22e1ea6f42c76ceda42b0 Author: Jiri Slaby Date: Thu Jul 24 23:35:13 2008 +0200 HID: move gyration quirks Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 3b8006e51038ef263a0404756d9e190c9a9f74d5 Author: Jiri Slaby Date: Wed Jun 25 00:07:50 2008 +0200 HID: move monterey quirks Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 1e76253220dbe66e048e55680266dd1f4af0be85 Author: Jiri Slaby Date: Tue Jun 24 23:46:21 2008 +0200 HID: move petalynx quirks Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit b5635b129b3ca3a9c879a36f58f5b8c4903d267a Author: Jiri Slaby Date: Tue Jun 24 23:24:57 2008 +0200 HID: move belkin quirks Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit fcfacfd3594d5d2fa99fb5e7d33dee3904b1a156 Author: Jiri Slaby Date: Tue Jun 24 22:48:52 2008 +0200 HID: move chicony quirks Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 1f243e302cea1561ac881eb5d27041c5342beba4 Author: Jiri Slaby Date: Tue Jun 24 21:11:21 2008 +0200 HID: move ezkey quirks Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 3b239cd739a9499da08326356add3d9d992c7911 Author: Jiri Slaby Date: Tue Jun 24 20:42:25 2008 +0200 HID: move cherry quirks Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 14a21cd459f97e3b3cc4fcde48fc5bcdb81d097e Author: Jiri Slaby Date: Mon Jun 23 23:31:09 2008 +0200 HID: move a4tech quirks Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 0f2213208f8da51bcb665309e3468f000489c04f Author: Jiri Slaby Date: Mon Jun 23 22:54:08 2008 +0200 HID: move cypress quirks Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 90231e7eaf752856a2c13f786f36ec7f641bad28 Author: Jiri Slaby Date: Mon Jun 23 21:56:07 2008 +0200 HID: move sunplus quirks Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 78a849a682a1d5ee7b7187b08abdc48656326a4e Author: Jiri Slaby Date: Fri Jun 20 21:26:11 2008 +0200 HID: move microsoft quirks Move them from the core code to a separate driver. Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 880d29f109428be1d027adf919a7457d8fe41fd3 Author: Jiri Slaby Date: Wed Jun 18 23:55:41 2008 +0200 HID: indent switches/cases Bring switch and cases into coding style and save thus some indentation to make the code tighter. Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 02ae9a1a8bc1d08a8fd5f6a0b8bde400b0f891b9 Author: Jiri Slaby Date: Fri May 16 11:49:22 2008 +0200 HID: add compat support Add compat option to hid code to allow loading of all modules on systems which don't allow autoloading because of old userspace. Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 8c19a51591d06f5226499972567f528cf6066bb7 Author: Jiri Slaby Date: Wed Jun 18 23:36:49 2008 +0200 HID: move apple quirks Move them from the core code to a separate driver. Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit d458a9dfc4de24870b8c747484b1988726534bee Author: Jiri Slaby Date: Fri May 16 11:49:20 2008 +0200 HID: move ignore quirks Move ignore quirks from usbhid-quirks into hid-core code. Also don't output warning when ENODEV is error code in usbhid and try ordinal input in hidp when that error is returned. Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 5f22a7992349c5ca3842190be52d5e9a1dd7adf4 Author: Jiri Slaby Date: Fri May 16 11:49:19 2008 +0200 HID: move logitech quirks Move them from the core and input code to a separate driver. Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 022e8c4d08b3b06361594b60412db0242035c4b4 Author: Jiri Slaby Date: Fri May 16 11:49:18 2008 +0200 HID: move usage input mapping to hid.h This mapping are currently used on 2 placces and will be needed by more quirk drivers, so move them to hid.h to allow them to use it. Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 990436a7c9d0e5d395b83d79cfa32f89b8144e5b Author: Jiri Slaby Date: Wed Jun 4 11:02:56 2008 +0200 HID: move ids into separate file Move ids from hid-quirks.c into separate file, since it will be needed in more than one place. Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit c500c9714011edab021591340042787722db9cf0 Author: Jiri Slaby Date: Fri May 16 11:49:16 2008 +0200 HID: hid, make parsing event driven Next step for complete hid bus, this patch includes: - call parser either from probe or from hid-core if there is no probe. - add ll_driver structure and centralize some stuff there (open, close...) - split and merge usb_hid_configure and hid_probe into several functions to allow hooks/fixes between them Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 85cdaf524b7ddab627e7d15405693f2511ef7505 Author: Jiri Slaby Date: Fri May 16 11:49:15 2008 +0200 HID: make a bus from hid code Make a bus from hid core. This is the first step for converting all the quirks and separate almost-drivers into real drivers attached to this bus. It's implemented to change behaviour in very tiny manner, so that no driver needs to be changed this time. Also add generic drivers for both usb and bt into usbhid or hidp respectively which will bind all non-blacklisted device. Those blacklisted will be either grabbed by special drivers or by nobody if they are broken at the very rude base. Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit e8c84f9a5f06912c94c38961096c994da3890a2e Author: Jiri Slaby Date: Mon May 19 15:50:01 2008 +0200 modpost: add support for hid Generate aliases for hid device modules to support autoloading. Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 7e69a8c4d06b7ecb874f571e82b715a9f79bc3c4 Merge: b6825d2... d5120ae... Author: Russell King Date: Tue Oct 14 22:24:51 2008 +0100 Merge branch 's3c-move' into devel Conflicts: arch/arm/mach-versatile/core.c commit b6825d2df55aa7d7341c715b577b73a6a03dc944 Merge: 6defd90... aa59e19... Author: Russell King Date: Tue Oct 14 22:24:42 2008 +0100 Merge branch 'omap-all' into devel Conflicts: arch/arm/mach-omap2/gpmc.c arch/arm/mach-omap2/irq.c commit aa59e19d05114f9fb7718d6bc8398255476fb4f5 Author: Tony Lindgren Date: Tue Oct 14 21:27:27 2008 +0100 [ARM] 5302/1: ARM: OMAP: Revert omap3 WDT changes to avoid merge conflict With the upcoming WDT patches OMAP_WDT_BASE is no longer needed in devices.c. Revert some earlier omap3 changes to avoid merge conflicts with the WDT patches. Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit a5a5b8c527b8d88056d4a63ccac66eb20af8228b Author: Tony Lindgren Date: Tue Oct 14 21:54:23 2008 +0100 [ARM] 5305/1: ARM: OMAP: Fix compile of McBSP by removing unnecessary check Recent McBSP patches changed to allocating devices dynamically and the check for OMAP_MAX_MCBSP_COUNT became unnecessary. The check for OMAP_MAX_MCBSP_COUNT should have been removed with the earlier McBSP patches in devices.c but was accidentally left out. Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 3497b2f274b62292df67b6321d8947e24fce94a9 Author: Randy Macleod Date: Tue Oct 14 13:49:38 2008 -0700 Phonet: Simple doc fix. From: "Randy Macleod" Signed-off-by: David S. Miller commit 8acd3a60bcca17c6d89c73cee3ad6057eb83ba1e Merge: c269bc0... 107e000... Author: Linus Torvalds Date: Tue Oct 14 12:31:14 2008 -0700 Merge branch 'for-2.6.28' of git://linux-nfs.org/~bfields/linux * 'for-2.6.28' of git://linux-nfs.org/~bfields/linux: (59 commits) svcrdma: Fix IRD/ORD polarity svcrdma: Update svc_rdma_send_error to use DMA LKEY svcrdma: Modify the RPC reply path to use FRMR when available svcrdma: Modify the RPC recv path to use FRMR when available svcrdma: Add support to svc_rdma_send to handle chained WR svcrdma: Modify post recv path to use local dma key svcrdma: Add a service to register a Fast Reg MR with the device svcrdma: Query device for Fast Reg support during connection setup svcrdma: Add FRMR get/put services NLM: Remove unused argument from svc_addsock() function NLM: Remove "proto" argument from lockd_up() NLM: Always start both UDP and TCP listeners lockd: Remove unused fields in the nlm_reboot structure lockd: Add helper to sanity check incoming NOTIFY requests lockd: change nlmclnt_grant() to take a "struct sockaddr *" lockd: Adjust nlmsvc_lookup_host() to accomodate AF_INET6 addresses lockd: Adjust nlmclnt_lookup_host() signature to accomodate non-AF_INET lockd: Support non-AF_INET addresses in nlm_lookup_host() NLM: Convert nlm_lookup_host() to use a single argument svcrdma: Add Fast Reg MR Data Types ... commit c269bc00fcb876ae3b85f178f1e34601185c8ccc Merge: 2d51b75... caf1859... Author: Linus Torvalds Date: Tue Oct 14 12:28:55 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6: (26 commits) mfd: Fix warning in WM8350 mfd: Add placeholders for WM8350 client devices da903x: add regulator support for DA9030/DA9034 mfd: Add WM8350 subdevice registration helper regulator: Add WM8350 regulator support mfd: Add WM8350 interrupt support mfd: Add initialisation callback for WM8350 mfd: Add GPIO pin configuration support for WM8350 mfd: Add I2C control support for WM8350 mfd: Core support for the WM8350 AudioPlus PMIC mfd: Add WM8350 watchdog register definitions mfd: Add WM8350 RTC register definitions mfd: Add WM8350 comparator register definitions mfd: Add WM8350 PMU register definitions mfd: Add WM8350 PMIC register definitions mfd: Add WM8350 GPIO register definitions mfd: Add WM8350 audio register definitions regulator: Export regulator name via sysfs regulator: Add WM8400 regulator support mfd: Core support for the WM8400 AudioPlus HiFi CODEC and PMU ... commit 2d51b75370d83535883c66521b03fcd6a1f1f68d Merge: 93f78da... ce52aeb... Author: Linus Torvalds Date: Tue Oct 14 12:28:02 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-fastboot * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-fastboot: raid, fastboot: hide RAID autodetect option if MD is compiled as a module raid: make RAID autodetect default a KConfig option warning: fix init do_mounts_md c fastboot: make the RAID autostart code print a message just before waiting fastboot: make the raid autodetect code wait for all devices to init fastboot: Fix bootgraph.pl initcall name regexp fastboot: fix issues and improve output of bootgraph.pl Add a script to visualize the kernel boot process / time commit 93f78da405685a756beeaeae4b5e41fcec39eab3 Author: Linus Torvalds Date: Tue Oct 14 12:12:02 2008 -0700 Revert "vt: fix background color on line feed" This reverts commit c9e587abfdec2c2aaa55fab83bcb4972e2f84f9b, and the subsequent commits that fixed it up: - afa9b649 "fbcon: prevent cursor disappearance after switching to 512 character font" - d850a2fa "vt/fbcon: fix background color on line feed" - 7fe3915a "vt/fbcon: update scrl_erase_char after 256/512-glyph font switch" by request of Alan Cox. Quoth Alan: "Unfortunately it's wrong and its been causing breakages because various apps like ncurses expect our previous (and correct) behaviour." Alexander sent out a similar patch. Requested-by: Alan Cox Tested-by: Jan Engelhardt Cc: Alexander V. Lukyanov Signed-off-by: Linus Torvalds commit e6a7d3c04f8fe49099521e6dc9a46b0272381f2f Author: Pablo Neira Ayuso Date: Tue Oct 14 11:58:31 2008 -0700 netfilter: ctnetlink: remove bogus module dependency between ctnetlink and nf_nat This patch removes the module dependency between ctnetlink and nf_nat by means of an indirect call that is initialized when nf_nat is loaded. Now, nf_conntrack_netlink only requires nf_conntrack and nfnetlink. This patch puts nfnetlink_parse_nat_setup_hook into the nf_conntrack_core to avoid dependencies between ctnetlink, nf_conntrack_ipv4 and nf_conntrack_ipv6. This patch also introduces the function ctnetlink_change_nat that is only invoked from the creation path. Actually, the nat handling cannot be invoked from the update path since this is not allowed. By introducing this function, we remove the useless nat handling in the update path and we avoid deadlock-prone code. This patch also adds the required EAGAIN logic for nfnetlink. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d4a8c93c8248534bdedb07f83c9aebd6f7d1d579 Author: Joel Becker Date: Thu Oct 9 17:20:34 2008 -0700 ocfs2: Make cached block reads the common case. ocfs2_read_blocks() currently requires the CACHED flag for cached I/O. However, that's the common case. Let's flip it around and provide an IGNORE_CACHE flag for the special users. This has the added benefit of cleaning up the code some (ignore_cache takes on its special meaning earlier in the loop). Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 5e0b3dec0107540244ba343f983ef4f972db20de Author: Joel Becker Date: Thu Oct 9 17:20:33 2008 -0700 ocfs2: Kill the last naked wait_on_buffer() for cached reads. ocfs2's cached buffer I/O goes through ocfs2_read_block(s)(). dir.c had a naked wait_on_buffer() to wait for some readahead, but it should use ocfs2_read_block() instead. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 07446dc72cffcc6e2672d0e54061dcd1858725ba Author: Joel Becker Date: Thu Oct 9 17:20:32 2008 -0700 ocfs2: Move ocfs2_bread() into dir.c dir.c is the only place using ocfs2_bread(), so let's make it static to that file. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 129404a1f117c35c6224e020444fc27eb4479817 Author: Patrick McHardy Date: Tue Oct 14 11:57:33 2008 -0700 netfilter: fix ebtables dependencies Ingo Molnar reported a build error with ebtables: ERROR: "ebt_register_table" [net/bridge/netfilter/ebtable_filter.ko] undefined! ERROR: "ebt_do_table" [net/bridge/netfilter/ebtable_filter.ko] undefined! ERROR: "ebt_unregister_table" [net/bridge/netfilter/ebtable_filter.ko] undefined! ERROR: "ebt_register_table" [net/bridge/netfilter/ebtable_broute.ko] undefined! ERROR: "ebt_do_table" [net/bridge/netfilter/ebtable_broute.ko] undefined! ERROR: "ebt_unregister_table" [net/bridge/netfilter/ebtable_broute.ko] undefined! make[1]: *** [__modpost] Error 1 make: *** [modules] Error 2 This reason is a missing dependencies that got lost during Kconfig cleanups. Restore it. Tested-by: Ingo Molnar Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 38f7ac3eb7206ffd1201c14baba832d7e363de0a Author: Patrick McHardy Date: Tue Oct 14 11:56:59 2008 -0700 netfilter: restore lost #ifdef guarding defrag exception Nir Tzachar reported a warning when sending fragments over loopback with NAT: [ 6658.338121] WARNING: at net/ipv4/netfilter/nf_nat_standalone.c:89 nf_nat_fn+0x33/0x155() The reason is that defragmentation is skipped for already tracked connections. This is wrong in combination with NAT and ip_conntrack actually had some ifdefs to avoid this behaviour when NAT is compiled in. The entire "optimization" may seem a bit silly, for now simply restoring the lost #ifdef is the easiest solution until we can come up with something better. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0fcaa56a2a020dd6f90c202b7084e6f4cbedb6c2 Author: Joel Becker Date: Thu Oct 9 17:20:31 2008 -0700 ocfs2: Simplify ocfs2_read_block() More than 30 callers of ocfs2_read_block() pass exactly OCFS2_BH_CACHED. Only six pass a different flag set. Rather than have every caller care, let's make ocfs2_read_block() take no flags and always do a cached read. The remaining six places can call ocfs2_read_blocks() directly. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 31d33073ca38603dea705dae45e094a64ca062d6 Author: Joel Becker Date: Thu Oct 9 17:20:30 2008 -0700 ocfs2: Require an inode for ocfs2_read_block(s)(). Now that synchronous readers are using ocfs2_read_blocks_sync(), all callers of ocfs2_read_blocks() are passing an inode. Use it unconditionally. Since it's there, we don't need to pass the ocfs2_super either. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit a468b6484fcd13a24addeb1212538776171b49a6 Author: Tony Lindgren Date: Tue Oct 14 18:17:53 2008 +0100 [ARM] 5301/1: ARM: OMAP: Add missing irq defines Some McBSP irq defines were missing that should have been added with the earlier McBSP patches. Add the missing McBSP irqs, and a few other missing irqs as defined in linux-omap tree. Also add a blank line to separate irq defines from the irq line calculations. Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit da1e90985a0e767e44397c9db0937e236033fa58 Author: Joel Becker Date: Thu Oct 9 17:20:29 2008 -0700 ocfs2: Separate out sync reads from ocfs2_read_blocks() The ocfs2_read_blocks() function currently handles sync reads, cached, reads, and sometimes cached reads. We're going to add some functionality to it, so first we should simplify it. The uncached, synchronous reads are much easer to handle as a separate function, so we instroduce ocfs2_read_blocks_sync(). Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 43096597a4cc4bd3f912be8a69dbd12e27e08038 Merge: 79aa79b... 4850137... Author: Linus Torvalds Date: Tue Oct 14 10:28:49 2008 -0700 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: qlge: Fix page size ifdef test. net: Rationalise email address: Network Specific Parts dsa: fix compile bug on s390 netns: mib6 section fixlet enic: Fix Kconfig headline description de2104x: wrong MAC address fix s390: claw compile fixlet net: export genphy_restart_aneg cxgb3: extend copyrights to 2008 cxgb3: update driver version net/phy: add missing kernel-doc pktgen: fix skb leak in case of failure mISDN/dsp_cmx.c: fix size checks misdn: use nonseekable_open() net: fix driver build errors due to missing net/ip6_checksum.h include commit 79aa79bac979323a8cb10438be16d29cf252167d Author: Julia Lawall Date: Mon Oct 13 21:59:04 2008 +0200 arch/m68k/mm/kmap.c: introduce missing kfree Error handling code following a kmalloc should free the allocated data. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; statement S; expression E; identifier f,l; position p1,p2; expression *ptr != NULL; @@ ( if ((x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...)) == NULL) S | x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); .. if (x == NULL) S ) <... when != x when != if (...) { <+...x...+> } x->f = E ..> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Julia Lawall Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 56f26f7b78af36d0f048a9403084870d2ffb549f Author: Geert Uytterhoeven Date: Mon Oct 13 21:59:03 2008 +0200 net/rfkill/rfkill-input.c needs For some m68k configs, I get: | net/rfkill/rfkill-input.c: In function 'rfkill_start': | net/rfkill/rfkill-input.c:208: error: dereferencing pointer to incomplete type As the incomplete type is `struct task_struct', including fixes it. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit fff11c0c827c88f1bca0e475fcd4d319ff44c0ac Author: Geert Uytterhoeven Date: Mon Oct 13 21:59:02 2008 +0200 m68k: Atari SCSI needs NVRAM ERROR: "nvram_read_byte" [drivers/scsi/atari_scsi.ko] undefined! ERROR: "nvram_check_checksum" [drivers/scsi/atari_scsi.ko] undefined! Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit da9870e477492e0f837aa0cd26b2ac2e372b91d2 Author: Geert Uytterhoeven Date: Mon Oct 13 21:59:01 2008 +0200 m68k: init_irq_proc depends on CONFIG_PROC_FS If CONFIG_PROC_FS is not set, I get: | arch/m68k/kernel/ints.c:433: error: redefinition of 'init_irq_proc' | include/linux/interrupt.h:438: error: previous definition of 'init_irq_proc' was here This was introduced by commit 6168a702ab0be181e5e57a0b2d0e7376f7a47f0b ("Declare init_irq_proc before we use it."), which replaced the #ifdef protection of the init_irq_proc() call by a static inline dummy if CONFIG_PROC_FS is not set. Make init_irq_proc() depend on CONFIG_PROC_FS to fix this. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 2171a19a246551dac7805faa077075f7222507ac Author: Adrian Bunk Date: Mon Oct 13 21:59:00 2008 +0200 m68k: remove the dead PCI code This patch removes the no longer used m68k PCI code. Signed-off-by: Adrian Bunk Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 29c8a24672e1cdfee99c15b870c57eb30ae69daf Author: Adrian Bunk Date: Mon Oct 13 21:58:59 2008 +0200 m68k: Remove the broken Hades support This patch removes the Hades support that was marked as BROKEN 5 years ago. Signed-off-by: Adrian Bunk Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 7477fb6fbc339469ea945e007f3f7b3bb13b25f7 Author: Geert Uytterhoeven Date: Mon Oct 13 21:58:58 2008 +0200 HP input: kill warnings due to suseconds_t differences Kill compiler warnings related to printf() formats in the input drivers for various HP9000 machines, which are shared between PA-RISC (suseconds_t is int) and m68k (suseconds_t is long). As both are 32-bit, it's safe to cast to int. Signed-off-by: Geert Uytterhoeven Acked-by: Helge Deller Signed-off-by: Linus Torvalds commit 998aaf01c6f6f3dffc1ea9e7b20b131e38fdbc78 Author: Geert Uytterhoeven Date: Mon Oct 13 21:58:57 2008 +0200 m68k: needs Several multi-bus subsystems: | include/linux/ssb/ssb.h: In function 'ssb_dma_mapping_error': | include/linux/ssb/ssb.h:430: error: implicit declaration of function 'pci_dma_mapping_error' | include/linux/ssb/ssb.h: In function 'ssb_dma_map_single': | include/linux/ssb/ssb.h:444: error: implicit declaration of function 'pci_map_single' | include/linux/ssb/ssb.h: In function 'ssb_dma_unmap_single': | include/linux/ssb/ssb.h:458: error: implicit declaration of function 'pci_unmap_single' | include/linux/ssb/ssb.h: In function 'ssb_dma_sync_single_for_cpu': | include/linux/ssb/ssb.h:475: error: implicit declaration of function 'pci_dma_sync_single_for_cpu' | include/linux/ssb/ssb.h: In function 'ssb_dma_sync_single_for_device': | include/linux/ssb/ssb.h:493: error: implicit declaration of function 'pci_dma_sync_single_for_device' or legacy drivers: | drivers/net/hp100.c: In function 'pdl_map_data': | drivers/net/hp100.c:291: error: implicit declaration of function 'pci_map_single' | drivers/net/hp100.c: In function 'hp100_probe1': | drivers/net/hp100.c:707: error: implicit declaration of function 'pci_alloc_consistent' | drivers/net/hp100.c:782: error: implicit declaration of function 'pci_free_consistent' | drivers/net/hp100.c: In function 'hp100_clean_txring': | drivers/net/hp100.c:1614: error: implicit declaration of function 'pci_unmap_single' and | drivers/scsi/aic7xxx_old.c: In function 'aic7xxx_allocate_scb': | drivers/scsi/aic7xxx_old.c:2573: error: implicit declaration of function 'pci_alloc_consistent' | drivers/scsi/aic7xxx_old.c: In function 'aic7xxx_done': | drivers/scsi/aic7xxx_old.c:2697: error: implicit declaration of function 'pci_unmap_single' | drivers/scsi/aic7xxx_old.c: In function 'aic7xxx_handle_seqint': | drivers/scsi/aic7xxx_old.c:4275: error: implicit declaration of function 'pci_map_single' | drivers/scsi/aic7xxx_old.c: In function 'aic7xxx_free': | drivers/scsi/aic7xxx_old.c:8460: error: implicit declaration of function 'pci_free_consistent' rely on PCI DMA operations to be always available. Add #include to to make them happy. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit dec6d14da8b46e1f8bef6f570fb7418359cefcde Author: Geert Uytterhoeven Date: Mon Oct 13 21:58:56 2008 +0200 m68k: Add missing dma_sync_single_range_for_{cpu,device}() | include/linux/ssb/ssb.h: In function 'ssb_dma_sync_single_range_for_cpu': | include/linux/ssb/ssb.h:517: error: implicit declaration of function 'dma_sync_single_range_for_cpu' | include/linux/ssb/ssb.h: In function 'ssb_dma_sync_single_range_for_device': | include/linux/ssb/ssb.h:538: error: implicit declaration of function 'dma_sync_single_range_for_device' Add the missing dma_sync_single_range_for_{cpu,device}(), and remove the `inline' for the non-static function dma_sync_single_for_device(). Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 7ae4833af0dda3bdfb65004856c3f83871fd8ce4 Author: Geert Uytterhoeven Date: Mon Oct 13 21:58:55 2008 +0200 m68k: Define rtc_lock on Atari The nvram and rtc-cmos drivers use the spinlock rtc_lock to protect against concurrent accesses to the CMOS memory. As m68k doesn't support SMP or preempt yet, the spinlock calls tend to get optimized away, but not for all configurations, causing in some rare cases: | ERROR: "rtc_lock" [drivers/rtc/rtc-cmos.ko] undefined! | ERROR: "rtc_lock" [drivers/char/nvram.ko] undefined! Add the spinlock to the Atari core code to avoid this. Signed-off-by: Geert Uytterhoeven Acked-by: Michael Schmitz Signed-off-by: Linus Torvalds commit 3e24fc947ce38e204c3bc58a7a68251facebf0ac Author: Geert Uytterhoeven Date: Mon Oct 13 21:58:54 2008 +0200 m68k: Remove unused atari_kbd_translate() If CONFIG_VT=n, I get: | arch/m68k/atari/built-in.o: In function `atari_kbd_translate': | arch/m68k/atari/atakeyb.c:640: undefined reference to `shift_state' Just remove atari_kbd_translate(), as it's unused. Signed-off-by: Geert Uytterhoeven Acked-by: Michael Schmitz Signed-off-by: Linus Torvalds commit 39d2d99d988142b7db38afab568c72da03b96237 Author: Geert Uytterhoeven Date: Mon Oct 13 21:58:53 2008 +0200 m68k: Modular Amiga keyboard needs key_maps | ERROR: "key_maps" [drivers/input/keyboard/amikbd.ko] undefined! Export key_maps in the Amiga core code, as its defined in an autogenerated file (drivers/char/defkeymap.c) Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 8c68383edfeaa524f589aeca1d217baff6bae69b Author: Geert Uytterhoeven Date: Mon Oct 13 21:58:51 2008 +0200 m68k: Reverse platform MMU logic so Sun 3 is last Currently Sun 3 support is the first platform option, as the Sun 3 MMU is incompatible with standard Motorola MMUs. However, this means that `allmodconfig' enables support for Sun 3, and thus disables support for all other platforms. Reverse the logic and move Sun 3 last, so `allmodconfig' enables all platforms except for Sun 3, increasing compile-coverage. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 08a3db94f2a36c28278922732bc281c1722ceb18 Author: Roman Zippel Date: Mon Oct 13 21:58:50 2008 +0200 m68k: Add NOTES to init data so its discarded at boot Add .note.gnu.build-id to init data so it's discarded at boot. [Andreas Schwab] Use NOTES macro Signed-off-by: Roman Zippel Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 68abceef1051b254964995c6acabaac95cec9c35 Author: Roman Zippel Date: Mon Oct 13 21:58:49 2008 +0200 m68k: Put .bss at the end of the data section Put .bss at the end of the data section Signed-off-by: Roman Zippel Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 8fbbae657305f83ed009143c4c7a8737d75621b2 Author: Geert Uytterhoeven Date: Mon Oct 13 21:58:48 2008 +0200 m68k: Use new printk() extension %pS to print symbols This changes the oops and backtrace code to use the new `%pS' printk() extension to print out symbols rather than manually calling print_symbol. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 5b1d5f953bbb50dcbdf93719cb622aa128ba7527 Author: Adrian Bunk Date: Mon Oct 13 21:58:47 2008 +0200 m68k: use bcd2bin/bin2bcd This patch changes m68k to use the new bcd2bin/bin2bcd functions instead of the obsolete BCD_TO_BIN/BIN_TO_BCD/BCD2BIN/BIN2BCD macros. It also remove local bcd2bin/bin2bcd implementations in favor of the global ones. Signed-off-by: Adrian Bunk Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 4aba41ea8bdc1b475861f5e5c1649ab20251090c Author: Alan Cox Date: Tue Oct 14 11:29:06 2008 +0100 8250: Fix lock warning (and possible crash) Splitting the 8250 code back up to avoid a clash with the NR_IRQS removal patch introduced a last minute bug. Put back the additional needed lines for the old lock init Signed-off-by: Alan Cox [ Ingo also reports that this can cause a spontaneous reboot crash with certain configs, and sends in an identical patch ] Tested-by: Kamalesh Babulal Signed-off-by: Linus Torvalds commit a05f2c5a2735ee1d68770137fbbfc334d3b9cda9 Author: Prakash Mortha Date: Tue Oct 14 17:30:06 2008 +0200 i2c-viapro: Add support for SMBus Process Call transactions Add support for SMBus Process Call transactions. These are combined word write, word read transactions. Signed-off-by: Prakash Mortha Signed-off-by: Jean Delvare commit 596c88f4601e6245a15ea7619527674abbfdcf92 Author: Prakash Mortha Date: Tue Oct 14 17:30:06 2008 +0200 i2c: Restore i2c_smbus_process_call function Restore the i2c_smbus_process_call() as one driver (for the Micronas MAP5401) will need it soon. [JD: Update documentation accordingly.] Signed-off-by: Prakash Mortha Signed-off-by: Jean Delvare commit a10f9e7caf8d3028d8fb1d4c3d590492cde3df3e Author: David Brownell Date: Tue Oct 14 17:30:06 2008 +0200 i2c: Do earlier driver model init Move I2C driver model init earlier in the boot sequence. This avoids oopsing in statically linked systems when some subsystems register I2C drivers in subsys_initcall() code, but those subsystems are linked (and initialized) before I2C. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit f1453ee3a4da94250849606882948c590a4ad8dd Author: Jean Delvare Date: Tue Oct 14 17:30:06 2008 +0200 i2c: Only build Tyan SMBus mux drivers on x86 The two Tyan SMBus mux drivers (i2c-amd756-s4882 and i2c-nforce2-s4985) are only useful on specific x86 motherboards, so there is no point in letting them be built on other architectures. Signed-off-by: Jean Delvare commit 1d0b19c9a0612c653d1a0df267ba159089f6d139 Author: David Brownell Date: Tue Oct 14 17:30:05 2008 +0200 i2c: Guard against oopses from bad init sequences Guard I2C against oopsing because of init sequence problems, by verifying that i2c_init() has been called before calling any routines that rely on that initialization. This specific test just requires that bus_register(&i2c_bus_type) was called. Examples of this kind of oopsing come from subystems and drivers which register I2C drivers in their subsys_initcall code but which are statically linked before I2C by drivers/Makefile. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 7c15fd1249658e203b2ac8661e48da6c2102e563 Author: Jean Delvare Date: Tue Oct 14 17:30:05 2008 +0200 i2c: Document the implementation details of the /dev interface I wrote this explanation to answer a question on the i2c mailing list, and thought it would be good to have in the kernel documentation. Signed-off-by: Jean Delvare commit fceb2d06800ddae53095f63843d85fcff4f701ac Author: Jean Delvare Date: Tue Oct 14 17:30:05 2008 +0200 i2c: Improve dev-interface documentation * Clarify some points. * Point developers to i2c-tools instead of lm_sensors. * Fix coding style in code examples. Signed-off-by: Jean Delvare commit 9def255631bb742264d334d77819e1ae5278a515 Author: Jean Delvare Date: Tue Oct 14 17:30:04 2008 +0200 i2c-parport-light: Don't register a platform device resource The i2c-parport-light driver isn't a real platform driver, so it should not instantiate platform devices with resources. The resource management system can't cope with colliding resources, and we are likely to create such a colliding resource. So, better just try to grab the I/O ports we need right at module initialization time, and bail out if we can't. It has the added benefit that the module will no longer load if it isn't going to work, which is definitely more user-friendly. Signed-off-by: Jean Delvare commit 67a37308ae37f8948d3c26f75a18f0ddb77ac198 Author: Jean Delvare Date: Tue Oct 14 17:30:04 2008 +0200 hwmon: (dme1737) Convert to a new-style i2c driver The new-style dme1737 driver implements the optional detect() callback to cover the use cases of the legacy driver. I don't actually expect any new-style device for that driver, but as the old i2c API is going away soon, we have to switch to the new one. Signed-off-by: Jean Delvare Cc: Juerg Haefliger commit dbc2bc251e06c83efcc8d39f1e7de12c2b1ff591 Author: Jean Delvare Date: Tue Oct 14 17:30:04 2008 +0200 hwmon: (dme1737) Be less i2c-centric The dme1737 driver support both LPC (ISA) and SMBus devices. At the moment it's rather i2c-centric, and LPC variants use a fake i2c_client for some operations. In a near future, i2c_client will be allocated by i2c-core rather than by the device drivers, so non-i2c drivers will not have one. As a preparation step, change the driver code to no longer assume that an i2c_client structure is always available. No functional change. Signed-off-by: Jean Delvare Cc: Juerg Haefliger commit b84ee0b0c7dc91b729672e6a971fe3b0629ef0ad Author: Marek Vasut Date: Tue Oct 14 17:30:04 2008 +0200 i2c/tps65010: Vibrator hookup to gpiolib All the tps6501{0,1,2,3,4} chips have a signal for hooking up with a vibrator (for non-auditory cell phone "ring") ... expose that as one more (output-only) GPIO. [ dbrownell@users.sourceforge.net: comments; list tps65014 too ] Signed-off-by: Marek Vasut Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit b806a71a0e9dacb6763371561caa693c78b93d40 Author: Rudolf Marek Date: Tue Oct 14 17:30:03 2008 +0200 i2c-viapro: Add VX800/VX820 support Thanks to new datasheets published on http://linux.via.com.tw we can now add support for VX800/VX820 chipsets. Signed-off-by: Rudolf Marek Signed-off-by: Jean Delvare commit 4ad48e6ab18c86255f534a2cdcba5a4ead57a15f Author: Paul Mundt Date: Tue Oct 14 17:30:03 2008 +0200 i2c: Renesas Highlander FPGA SMBus support This adds support for the SMBus adapter found in the various FPGAs on the Renesas Highlander platforms. Particularly the R0P7780LC0011RL and R0P7785LC0011RL FPGAs. Functionality is fairly restricted, in that only byte and block data transfers are supported. Normal/fast mode and IRQ/polling are also supported. Primarily used for various RTCs and thermal sensors. Signed-off-by: Paul Mundt Signed-off-by: Jean Delvare commit ce5640330b10c6cecfbda50569b9f53c081d10c6 Author: Rene Herman Date: Tue Oct 14 17:30:03 2008 +0200 i2c-pca-isa: Don't grab arbitrary resources Grabbing ISA bus resources without anything or anyone telling us we should can break boot on randconfig/allyesconfig builds by keeping resources that are in fact owned by different hardware busy and does as reported by Ingo Molnar. Generally it's also dangerous to just poke at random I/O ports and especially those in the range where other old easily confused ISA hardware might live. For this specialized I2C bus driver, insist that the user specifies the resources before grabbing them. The^WA user of this driver is a one time echo "options i2c-pca-isa base=0x330 irq=10" >> /etc/modprobe.conf away from the old behaviour. Signed-off-by: Rene Herman Signed-off-by: Jean Delvare commit 9df013b3e46c67dd3745df91eaccdc719118e0cc Author: Jean Delvare Date: Tue Oct 14 17:30:02 2008 +0200 i2c/isp1301_omap: Convert to a new-style i2c driver, part 2 Based on David Brownell's patch for tps65010 and previous work by Felipe Balbi, this patch finishes converting isp1301_omap to a new-style i2c driver. There's definitely room for further drivers cleanups, but these are out of the scope of this patch. Signed-off-by: Jean Delvare Acked-by: Tony Lindgren commit a5f08a327abc45eb6cb3cc1f5fabf38607ae2acc Author: Felipe Balbi Date: Tue Oct 14 17:30:02 2008 +0200 i2c/isp1301_omap: Convert to a new-style i2c driver, part 1 Based on David Brownell's patch for tps65010, this patch starts converting isp1301_omap.c to new-style i2c driver. Signed-off-by: Felipe Balbi Signed-off-by: Jean Delvare Acked-by: Tony Lindgren commit 85462323555dda749f1c5373a8d72679464c968d Author: Oleg Nesterov Date: Sun Jun 8 21:20:43 2008 +0400 do_generic_file_read: s/EINTR/EIO/ if lock_page_killable() fails If lock_page_killable() fails because the task was killed by SIGKILL or any other fatal signal, do_generic_file_read() returns -EIO. This seems to be OK, because in fact the userspace won't see this error, the task will dequeue SIGKILL and exit. However, /sbin/init is different, it will dequeue SIGKILL, ignore it, and return to the user-space with the bogus -EIO. Change the code to return the error code from lock_page_killable(), -EINTR. This doesn't fix the bug, but perhaps makes sense anyway. Imho, with this change the code looks a bit more logical, and the "good" init should handle the spurious EINTR or short read. Afaics we can also change lock_page_killable() to return -ERESTARTNOINTR, but this can't prevent the short reads. Signed-off-by: Oleg Nesterov Signed-off-by: Ingo Molnar commit 8825e8e8d09c1fe6352f94c70f6ff73db449ff56 Author: Marc Zyngier Date: Tue Oct 14 09:57:05 2008 +0100 ALSA: Fix pxa2xx-ac97-lib.c compilation The last ALSA merge broke pxa2xx-ac97-lib.c, as it brought back references to cpu_is_pxa21x that Eric Miao removed in commit 0ffcbfd54ea81ca24c0749f55ca4fcf3e2bdc23e: [ARM] pxa: make cpu_is_pxa2* macros more consistent This patch gets rid of those references, and only keeps cpu_is_pxa25x(). Signed-off-by: Marc Zyngier Acked-by: Eric Miao Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 485013717020cd8961337309e359d6cef43d6022 Author: Ron Mercer Date: Mon Oct 13 22:55:59 2008 -0700 qlge: Fix page size ifdef test. This ASIC does support all page sizes. For 4k and 8k page size the TX control block needs an external scatter gather list. For page sizes larger than 8k the max frags is satisfied by the original TX control block. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit d5d8d83773165b951d190717637bfbc1eb0111a0 Author: Mark Brown Date: Mon Oct 13 19:16:14 2008 +0100 ALSA: ASoC: Hide TLV320AIC26 configuration option for non-OpenFirwmare users Make the visibility of the tristate conditional on having the OpenFirmware helper code enabed so that users who can't use it don't see the visible option. Kconfig ignores dependencies for select so other users are unaffected. Thanks to Takashi for the suggestion. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit d21995e3e3acb78e8c48c6631432a3bff191bc46 Author: Matthew Ranostay Date: Mon Oct 13 13:22:45 2008 -0400 ALSA: hda: fix nid variable warning Fixed compiler warning with possible uninitialized variable 'nid'. CC [M] /home/mranostay/git/alsa-driver/pci/hda/patch_sigmatel.o /home/mranostay/git/alsa-driver/pci/hda/../../alsa-kernel/pci/hda/patch_sigmatel.c: In function ‘stac92xx_parse_auto_config’: /home/mranostay/git/alsa-driver/pci/hda/../../alsa-kernel/pci/hda/patch_sigmatel.c:2815: warning: ‘nid’ may be used uninitialized in this function Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit b8d055a878ee0f997ded40649701089d2486f850 Author: Liam Girdwood Date: Mon Oct 13 23:00:15 2008 -0400 Input: wm97xx - update email address for Liam Girdwood This updates the email address for Liam Girdwood as my old address is no longer valid. Signed-off-by: Liam Girdwood Signed-off-by: Dmitry Torokhov commit 5bd8a05e937b3ab88cd7ea569e32738f36c42bd0 Author: Colin B Macdonald Date: Sat Oct 11 18:16:38 2008 -0400 Input: i8042 - add Thinkpad R31 to nomux list Thinkpad R31 needs i8042 nomux quirk. Stops jittery jumping mouse and random keyboard input. Fixes kernel bug #11723. Cherry picked from Ubuntu who have sometimes (on-again-off-again) had a fix in their patched kernels. Signed-off-by: Colin B Macdonald Signed-off-by: Dmitry Torokhov commit 113aa838ec3a235d883f8357d31d90e16c47fc89 Author: Alan Cox Date: Mon Oct 13 19:01:08 2008 -0700 net: Rationalise email address: Network Specific Parts Clean up the various different email addresses of mine listed in the code to a single current and valid address. As Dave says his network merges for 2.6.28 are now done this seems a good point to send them in where they won't risk disrupting real changes. Signed-off-by: Alan Cox Signed-off-by: David S. Miller commit 510149e31974fdbb2c00c9bee6c0e2a688e61c85 Author: Heiko Carstens Date: Mon Oct 13 18:58:48 2008 -0700 dsa: fix compile bug on s390 git commit 45cec1bac0719c904bb5f4405c2937f7e715888c "dsa: Need to select PHYLIB." causes this build bug on s390: drivers/built-in.o: In function `phy_stop_interrupts': /home/heicarst/linux-2.6/drivers/net/phy/phy.c:631: undefined reference to `free_irq' /home/heicarst/linux-2.6/drivers/net/phy/phy.c:646: undefined reference to `enable_irq' drivers/built-in.o: In function `phy_start_interrupts': /home/heicarst/linux-2.6/drivers/net/phy/phy.c:601: undefined reference to `request_irq' drivers/built-in.o: In function `phy_interrupt': /home/heicarst/linux-2.6/drivers/net/phy/phy.c:528: undefined reference to `disable_irq_nosync' drivers/built-in.o: In function `phy_change': /home/heicarst/linux-2.6/drivers/net/phy/phy.c:674: undefined reference to `enable_irq' /home/heicarst/linux-2.6/drivers/net/phy/phy.c:692: undefined reference to `disable_irq' PHYLIB has alread a depend on !S390, however select PHYLIB at DSA overrides that unfortunately. So add a depend on !S390 to DSA as well. Signed-off-by: Heiko Carstens Signed-off-by: David S. Miller commit e7dc849494608fca7a7493c07eb190219c00d064 Author: Alexey Dobriyan Date: Mon Oct 13 18:54:07 2008 -0700 netns: mib6 section fixlet LD net/ipv6/ipv6.o WARNING: net/ipv6/ipv6.o(.text+0xd8): Section mismatch in reference from the function inet6_net_init() to the function .init.text:ipv6_init_mibs() Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit eb8a4cb6df3031de3c37c272c031b02ad58dcc67 Author: Roland Dreier Date: Mon Oct 13 18:53:05 2008 -0700 enic: Fix Kconfig headline description I don't think the enic driver has anything to do with Mark Everett (http://en.wikipedia.org/wiki/A_Man_Called_E). Fix the Kconfig description. Signed-off-by: Roland Dreier Signed-off-by: David S. Miller commit bc0da3fcec1cec11dc451b8fcb9c9ad7e4ca6e12 Author: Martin Langer Date: Mon Oct 13 18:49:38 2008 -0700 de2104x: wrong MAC address fix The de2104x returns sometimes a wrong MAC address. The wrong one is like the original one, but it comes with an one byte shift. I found this bug on an older alpha ev5 cpu. More details are available in Gentoo bugreport #240718. It seems the hardware is sometimes a little bit too slow for an immediate access. This patch solves the problem by introducing a small udelay. Signed-off-by: Martin Langer Signed-off-by: David S. Miller commit ebe05d06a5051e7ddc07d76eab541a1d6b6eafcd Author: Alexey Dobriyan Date: Mon Oct 13 18:48:43 2008 -0700 s390: claw compile fixlet Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 892871dcc39c23d3e30f8c317a5bfbab74084a40 Author: Adrian Bunk Date: Mon Oct 13 18:48:09 2008 -0700 net: export genphy_restart_aneg This patch fixes the following build error caused by commit ed94493fb38a665cebcf750dfabe8a6dd13e136f (mv643xx_eth: convert to phylib): <-- snip --> ... Building modules, stage 2. MODPOST 1280 modules ERROR: "genphy_restart_aneg" [drivers/net/mv643xx_eth.ko] undefined! ... make[2]: *** [__modpost] Error 1 <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit a02d44a02bd2b3f3848f30e335adc3c076b3f905 Author: Divy Le Ray Date: Mon Oct 13 18:47:30 2008 -0700 cxgb3: extend copyrights to 2008 Update copyright banner to 2008. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit fe642ebc2d5f5b0d82dd248a6f1ef3984b83f3cc Author: Divy Le Ray Date: Mon Oct 13 18:47:02 2008 -0700 cxgb3: update driver version Add a field to the driver versioning info. Update version to 1.1.0. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 78c36b15a02941403be5f1d28c06074f1e192079 Author: Randy Dunlap Date: Mon Oct 13 18:46:22 2008 -0700 net/phy: add missing kernel-doc Fix kernel-doc warning, missing description: Warning(lin2627-g3-kdocfixes//drivers/net/phy/mdio_bus.c:63): No description found for parameter 'd' Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit b4bb4ac8cb05ab5c13dfb7b47ef243982d3ad526 Author: Ilpo Järvinen Date: Mon Oct 13 18:43:59 2008 -0700 pktgen: fix skb leak in case of failure Seems that skb goes into void unless something magic happened in pskb_expand_head in case of failure. Signed-off-by: Ilpo Järvinen Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 9e9540b8f7b91c8818e2386add3b58a961459166 Author: Adrian Bunk Date: Mon Oct 13 18:42:55 2008 -0700 mISDN/dsp_cmx.c: fix size checks The checks for ensuring that the array indices are inside the range were flipped. Reported-by: Adrian Bunk Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 6bff338bb60cb97f4ad06aa20f5c8e547eb1bc7a Author: Andrew Morton Date: Mon Oct 13 18:42:07 2008 -0700 misdn: use nonseekable_open() The driver just sets ->llseek to NULL. It should also clear FMODE_LSEEK to tell the VFS that seeks are not supported. Pointed out by Christoph Hellwig. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit b7c6bfb710cfd6552c3186cb8ce1ac9eef7a0e3d Author: Kamalesh Babulal Date: Mon Oct 13 18:41:01 2008 -0700 net: fix driver build errors due to missing net/ip6_checksum.h include 2.6.27-git2 kernel build fails with allyesconfig on powerpc with build error CC drivers/net/enic/enic_main.o drivers/net/enic/enic_main.c: In function ‘enic_queue_wq_skb_tso’: drivers/net/enic/enic_main.c:576: error: implicit declaration of function ‘csum_ipv6_magic’ make[3]: *** [drivers/net/enic/enic_main.o] Error 1 drivers/net/qlge/qlge_main.c: In function ‘ql_tso’: drivers/net/qlge/qlge_main.c:1862: error: implicit declaration of function ‘csum_ipv6_magic’ make[3]: *** [drivers/net/qlge/qlge_main.o] Error 1 drivers/net/jme.c: In function ‘jme_tx_tso’: drivers/net/jme.c:1784: error: implicit declaration of function ‘csum_ipv6_magic’ make[2]: *** [drivers/net/jme.o] Error 1 Signed-off-by: Kamalesh Babulal Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 936b8834366ec05f2a6993f73afd8348cac9718e Author: Tao Ma Date: Thu Oct 9 23:06:14 2008 +0800 ocfs2: Refactor xattr list and remove ocfs2_xattr_handler(). According to Christoph Hellwig's advice, we really don't need a ->list to handle one xattr's list. Just a map from index to xattr prefix is enough. And I also refactor the old list method with the reference from fs/xfs/linux-2.6/xfs_xattr.c and the xattr list method in btrfs. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 2057e5c6780d86939a199031cdbafb81e6f88aac Author: Tao Ma Date: Thu Oct 9 23:06:13 2008 +0800 ocfs2: Calculate EA hash only by its suffix. According to Christoph Hellwig's advice, the hash value of EA is only calculated by its suffix. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 99219aea68b5bff4f182858372b43181ad3bdb34 Author: Mark Fasheh Date: Tue Oct 7 14:52:59 2008 -0700 ocfs2: Move trusted and user attribute support into xattr.c Per Christoph Hellwig's suggestion - don't split these up. It's not like we gained much by having the two tiny files around. Signed-off-by: Mark Fasheh commit 40daa16a3441abe822bfcc748150116a77aee2ea Author: Mark Fasheh Date: Tue Oct 7 14:31:42 2008 -0700 ocfs2: Uninline ocfs2_xattr_name_hash() This is too big to be inlined. Signed-off-by: Mark Fasheh commit a81cb88b64a479b78c6dd5666678d50171865db8 Author: Mark Fasheh Date: Tue Oct 7 14:25:16 2008 -0700 ocfs2: Don't check for NULL before brelse() This is pointless as brelse() already does the check. Signed-off-by: Mark Fasheh commit fd8351f83d413b41da956109cf429c15881886e2 Author: Mark Fasheh Date: Tue Oct 7 12:50:46 2008 -0700 ocfs2: use smaller counters in ocfs2_remove_xattr_clusters_from_cache i and b_len don't really need to be u64's. Xattr extent lengths should be limited by the VFS, and then the size of our on-disk length field. Signed-off-by: Mark Fasheh commit 696b55d768ea5ebf38a369da615f8c956750ab3f Author: Mark Fasheh Date: Tue Oct 7 11:09:24 2008 -0700 ocfs2: Documentation update for user_xattr / nouser_xattr mount options Signed-off-by: Mark Fasheh commit 4cc8124584610fbe087ea2bed29ca52d2d0aa84a Author: Mark Fasheh Date: Tue Oct 7 11:02:04 2008 -0700 ocfs2: make la_debug_mutex static It can also be moved into ocfs2_la_debug_read(). Signed-off-by: Mark Fasheh commit 009d37502a7b9fc89741e66b4454afca4edc1c26 Author: Mark Fasheh Date: Mon Oct 6 16:16:08 2008 -0700 ocfs2: Remove pointless !! ocfs2_stack_supports_plocks() doesn't need this to properly return a zero or one value. Signed-off-by: Mark Fasheh commit 5a09561199e7f8d3feaaa01c39372050e140b775 Author: Tao Ma Date: Fri Sep 19 22:17:41 2008 +0800 ocfs2: Add empty bucket support in xattr. As Mark mentioned, it may be time-consuming when we remove the empty xattr bucket, so this patch try to let empty bucket exist in xattr operation. The modification includes: 1. Remove the functin of bucket and extent record deletion during xattr delete. 2. In xattr set: 1) Don't clean the last entry so that if the bucket is empty, the hash value of the bucket is the hash value of the entry which is deleted last. 2) During insert, if we meet with an empty bucket, just use the 1st entry. 3. In binary search of xattr bucket, use the bucket hash value(which stored in the 1st xattr entry) to find the right place. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 06b240d8af21ddee4cfec3b0f02b81d9f168a98a Author: Tao Ma Date: Fri Sep 19 22:16:34 2008 +0800 ocfs2/xattr.c: Fix a bug when inserting xattr. During the process of xatt insertion, we use binary search to find the right place and "low" is set to it. But when there is one xattr which has the same name hash as the inserted one, low is the wrong value. So set it to the right position. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit b0f73cfc36ed62decdd3f78e943bbfd00ee80e49 Author: Sunil Mushran Date: Fri Sep 5 11:29:14 2008 -0700 ocfs2: Add xattr mount option in ocfs2_show_options() Patch adds check for [no]user_xattr in ocfs2_show_options() that completes the list of all mount options. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 2b4e30fbde425828b17f0e9c8f8e3fd3ecb2bc75 Author: Joel Becker Date: Wed Sep 3 20:03:41 2008 -0700 ocfs2: Switch over to JBD2. ocfs2 wants JBD2 for many reasons, not the least of which is that JBD is limiting our maximum filesystem size. It's a pretty trivial change. Most functions are just renamed. The only functional change is moving to Jan's inode-based ordered data mode. It's better, too. Because JBD2 reads and writes JBD journals, this is compatible with any existing filesystem. It can even interact with JBD-based ocfs2 as long as the journal is formated for JBD. We provide a compatibility option so that paranoid people can still use JBD for the time being. This will go away shortly. [ Moved call of ocfs2_begin_ordered_truncate() from ocfs2_delete_inode() to ocfs2_truncate_for_delete(). --Mark ] Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 12462f1d9f0b96389497438dc2730c6f7410be82 Author: Joel Becker Date: Wed Sep 3 20:03:40 2008 -0700 ocfs2: Add the 'inode64' mount option. Now that ocfs2 limits inode numbers to 32bits, add a mount option to disable the limit. This parallels XFS. 64bit systems can handle the larger inode numbers. [ Added description of inode64 mount option in ocfs2.txt. --Mark ] Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 1187c968852e3c668f3b9376083851f81f6eee22 Author: Joel Becker Date: Wed Sep 3 20:03:39 2008 -0700 ocfs2: Limit inode allocation to 32bits. ocfs2 inode numbers are block numbers. For any filesystem with less than 2^32 blocks, this is not a problem. However, when ocfs2 starts using JDB2, it will be able to support filesystems with more than 2^32 blocks. This would result in inode numbers higher than 2^32. The problem is that stat(2) can't handle those numbers on 32bit machines. The simple solution is to have ocfs2 allocate all inodes below that boundary. The suballoc code is changed to honor an optional block limit. Only the inode suballocator sets that limit - all other allocations stay unlimited. The biggest trick is to grow the inode suballocator beneath that limit. There's no point in allocating block groups that are above the limit, then rejecting their elements later on. We want to prevent the inode allocator from ever having block groups above the limit. This involves a little gyration with the local alloc code. If the local alloc window is above the limit, it signals the caller to try the global bitmap but does not disable the local alloc file (which can be used for other allocations). [ Minor cleanup - removed an ML_NOTICE comment. --Mark ] Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 08413899db89d8d636c2a2d4ba5c356ab587d7ef Author: Tao Ma Date: Fri Aug 29 09:00:19 2008 +0800 ocfs2: Resolve deadlock in ocfs2_xattr_free_block. In ocfs2_xattr_free_block, we take a cluster lock on xb_alloc_inode while we have a transaction open. This will deadlock the downconvert thread, so fix it. We can clean up how xattr blocks are removed while here - this patch also moves the mechanism of releasing xattr block (including both value, xattr tree and xattr block) into this function. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 28b8ca0b7f70b1b048d03dc0b9d87f58619e9791 Author: Tao Ma Date: Mon Sep 1 08:45:18 2008 +0800 ocfs2: bug-fix for journal extend in xattr. In ocfs2_extend_trans, when we can't extend the current transaction, it will commit current transaction and restart a new one. So if the previous credits we have allocated aren't used(the block isn't dirtied before our extend), we will not have enough credits for any future operation(it will cause jbd complain and bug out). So check this and re-extend it. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 8d6220d6a74a33552cf877bcea25503d7f6a59e6 Author: Joel Becker Date: Fri Aug 22 12:46:09 2008 -0700 ocfs2: Change ocfs2_get_*_extent_tree() to ocfs2_init_*_extent_tree() The original get/put_extent_tree() functions held a reference on et_root_bh. However, every single caller already has a safe reference, making the get/put cycle irrelevant. We change ocfs2_get_*_extent_tree() to ocfs2_init_*_extent_tree(). It no longer gets a reference on et_root_bh. ocfs2_put_extent_tree() is removed. Callers now have a simpler init+use pattern. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 1625f8ac151743e452ec062c2989669c508ffa48 Author: Joel Becker Date: Thu Aug 21 17:11:10 2008 -0700 ocfs2: Comment struct ocfs2_extent_tree_operations. struct ocfs2_extent_tree_operations provides methods for the different on-disk btrees in ocfs2. Describing what those methods do is probably a good idea. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit f99b9b7ccf6a691f653cec45f36bfdd1e94769c7 Author: Joel Becker Date: Wed Aug 20 19:36:33 2008 -0700 ocfs2: Make ocfs2_extent_tree the first-class representation of a tree. We now have three different kinds of extent trees in ocfs2: inode data (dinode), extended attributes (xattr_tree), and extended attribute values (xattr_value). There is a nice abstraction for them, ocfs2_extent_tree, but it is hidden in alloc.c. All the calling functions have to pick amongst a varied API and pass in type bits and often extraneous pointers. A better way is to make ocfs2_extent_tree a first-class object. Everyone converts their object to an ocfs2_extent_tree() via the ocfs2_get_*_extent_tree() calls, then uses the ocfs2_extent_tree for all tree calls to alloc.c. This simplifies a lot of callers, making for readability. It also provides an easy way to add additional extent tree types, as they only need to be defined in alloc.c with a ocfs2_get__extent_tree() function. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 1e61ee79e2a96f62c007486677319814ce621c3c Author: Joel Becker Date: Wed Aug 20 18:32:45 2008 -0700 ocfs2: Add an insertion check to ocfs2_extent_tree_operations. A couple places check an extent_tree for a valid inode. We move that out to add an eo_insert_check() operation. It can be called from ocfs2_insert_extent() and elsewhere. We also have the wrapper calls ocfs2_et_insert_check() and ocfs2_et_sanity_check() ignore NULL ops. That way we don't have to provide useless operations for xattr types. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 1a09f556e5415a29cdddaf9a6ebf474194161cf3 Author: Joel Becker Date: Wed Aug 20 17:44:24 2008 -0700 ocfs2: Create specific get_extent_tree functions. A caller knows what kind of extent tree they have. There's no reason they have to call ocfs2_get_extent_tree() with a NULL when they could just as easily call a specific function to their type of extent tree. Introduce ocfs2_dinode_get_extent_tree(), ocfs2_xattr_tree_get_extent_tree(), and ocfs2_xattr_value_get_extent_tree(). They only take the necessary arguments, calling into the underlying __ocfs2_get_extent_tree() to do the real work. __ocfs2_get_extent_tree() is the old ocfs2_get_extent_tree(), but without needing any switch-by-type logic. ocfs2_get_extent_tree() is now a wrapper around the specific calls. It exists because a couple alloc.c functions can take et_type. This will go later. Another benefit is that ocfs2_xattr_value_get_extent_tree() can take a struct ocfs2_xattr_value_root* instead of void*. This gives us typechecking where we didn't have it before. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 943cced39ee45ed2db25efd25eee8ba49cf2dfc4 Author: Joel Becker Date: Wed Aug 20 17:31:10 2008 -0700 ocfs2: Determine an extent tree's max_leaf_clusters in an et_op. Provide an optional extent_tree_operation to specify the max_leaf_clusters of an ocfs2_extent_tree. If not provided, the value is 0 (unlimited). Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 1c25d93a4a27c90c3ae33f9e724f7b67783d68d1 Author: Joel Becker Date: Wed Aug 20 17:09:42 2008 -0700 ocfs2: Use struct ocfs2_extent_tree in ocfs2_num_free_extents(). ocfs2_num_free_extents() re-implements the logic of ocfs2_get_extent_tree(). Now that ocfs2_get_extent_tree() does not allocate, let's use it in ocfs2_num_free_extents() to simplify the code. The inode validation code in ocfs2_num_free_extents() is not needed. All callers are passing in pre-validated inodes. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 0ce1010f1a4319e02574b856d50dfdc0ed855f40 Author: Joel Becker Date: Wed Aug 20 17:19:50 2008 -0700 ocfs2: Provide the get_root_el() method to ocfs2_extent_tree_operations. The root_el of an ocfs2_extent_tree needs to be calculated from et->et_object. Make it an operation on et->et_ops. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit ea5efa151265a743f48e3d371992a0100d73a0eb Author: Joel Becker Date: Wed Aug 20 16:57:27 2008 -0700 ocfs2: Make 'private' into 'object' on ocfs2_extent_tree. The 'private' pointer was a way to store off xattr values, which don't live at a set place in the bh. But the concept of "the object containing the extent tree" is much more generic. For an inode it's the struct ocfs2_dinode, for an xattr value its the value. Let's save off the 'object' at all times. If NULL is passed to ocfs2_get_extent_tree(), 'object' is set to bh->b_data; Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit dc0ce61af418305afa7e0d05d86ab334e0daabf7 Author: Joel Becker Date: Wed Aug 20 16:48:35 2008 -0700 ocfs2: Make ocfs2_extent_tree get/put instead of alloc. Rather than allocating a struct ocfs2_extent_tree, just put it on the stack. Fill it with ocfs2_get_extent_tree() and drop it with ocfs2_put_extent_tree(). Now the callers don't have to ENOMEM, yet still safely ref the root_bh. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit ce1d9ea621291ed5e985d6677278c6bb20d96a40 Author: Joel Becker Date: Wed Aug 20 16:30:07 2008 -0700 ocfs2: Prefix the ocfs2_extent_tree structure. The members of the ocfs2_extent_tree structure gain a prefix of 'et_'. All users are updated. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 35dc0aa3c5e7391319754e0c19cdfc0a28eb5b25 Author: Joel Becker Date: Wed Aug 20 16:25:06 2008 -0700 ocfs2: Prefix the extent tree operations structure. The ocfs2_extent_tree_operations structure gains a field prefix on its members. The ->eo_sanity_check() operation gains a wrapper function for completeness. All of the extent tree operation wrappers gain a consistent name (ocfs2_et_*()). Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit ff1ec20ef65d51cc3466e86912cdeaac16f3aaa0 Author: Mark Fasheh Date: Tue Aug 19 10:54:29 2008 -0700 ocfs2: fix printk format warnings This patch fixes the following build warnings: fs/ocfs2/xattr.c: In function 'ocfs2_half_xattr_bucket': fs/ocfs2/xattr.c:3282: warning: format '%d' expects type 'int', but argument 7 has type 'long int' fs/ocfs2/xattr.c:3282: warning: format '%d' expects type 'int', but argument 8 has type 'long int' fs/ocfs2/xattr.c:3282: warning: format '%d' expects type 'int', but argument 7 has type 'long int' fs/ocfs2/xattr.c:3282: warning: format '%d' expects type 'int', but argument 8 has type 'long int' fs/ocfs2/xattr.c:3282: warning: format '%d' expects type 'int', but argument 7 has type 'long int' fs/ocfs2/xattr.c:3282: warning: format '%d' expects type 'int', but argument 8 has type 'long int' fs/ocfs2/xattr.c: In function 'ocfs2_xattr_set_entry_in_bucket': fs/ocfs2/xattr.c:4092: warning: format '%d' expects type 'int', but argument 6 has type 'size_t' fs/ocfs2/xattr.c:4092: warning: format '%d' expects type 'int', but argument 6 has type 'size_t' fs/ocfs2/xattr.c:4092: warning: format '%d' expects type 'int', but argument 6 has type 'size_t' Signed-off-by: Mark Fasheh commit 8154da3d2114241cf3edb108b43e2172be86d483 Author: Tiger Yang Date: Mon Aug 18 17:11:46 2008 +0800 ocfs2: Add incompatible flag for extended attribute This patch adds the s_incompat flag for extended attribute support. This helps us ensure that older versions of Ocfs2 or ocfs2-tools will not be able to mount a volume with xattr support. Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit a394425643e1e9c3a624d629fc8ba5633d8474c6 Author: Tao Ma Date: Mon Aug 18 17:38:54 2008 +0800 ocfs2: Delete all xattr buckets during inode removal In inode removal, we need to iterate all the buckets, remove any externally-stored EA values and delete the xattr buckets. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 012255961c9ecfe22b7a1df47ac26ab37818cb1e Author: Tao Ma Date: Mon Aug 18 17:38:53 2008 +0800 ocfs2: Enable xattr set in index btree Where the previous patches added the ability of list/get xattr in buckets for ocfs2, this patch enables ocfs2 to store large numbers of EAs. The original design doc is written by Mark Fasheh, and it can be found in http://oss.oracle.com/osswiki/OCFS2/DesignDocs/IndexedEATrees. I only had to make small modifications to it. First, because the bucket size is 4K, a new field named xh_free_start is added in ocfs2_xattr_header to indicate the next valid name/value offset in a bucket. It is used when we store new EA name/value. With this field, we can find the place more quickly and what's more, we don't need to sort the name/value every time to let the last entry indicate the next unused space. This makes the insert operation more efficient for blocksizes smaller than 4k. Because of the new xh_free_start, another field named as xh_name_value_len is also added in ocfs2_xattr_header. It records the total length of all the name/values in the bucket. We need this so that we can check it and defragment the bucket if there is not enough contiguous free space. An xattr insertion looks like this: 1. xattr_index_block_find: find the right bucket by the name_hash, say bucketA. 2. check whether there is enough space in bucketA. If yes, insert it directly and modify xh_free_start and xh_name_value_len accordingly. If not, check xh_name_value_len to see whether we can store this by defragment the bucket. If yes, defragment it and go on insertion. 3. If defragement doesn't work, check whether there is new empty bucket in the clusters within this extent record. If yes, init the new bucket and move all the buckets after bucketA one by one to the next bucket. Move half of the entries in bucketA to the next bucket and go on insertion. 4. If there is no new bucket, grow the extent tree. As for xattr deletion, we will delete an xattr bucket when all it's xattrs are removed and move all the buckets after it to the previous one. When all the xattr buckets in an extend record are freed, free this extend records from ocfs2_xattr_tree. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit ca12b7c48942d21b2e7890b820db9d578bc291cd Author: Tao Ma Date: Mon Aug 18 17:38:52 2008 +0800 ocfs2: Optionally limit extent size in ocfs2_insert_extent() In xattr bucket, we want to limit the maximum size of a btree leaf, otherwise we'll lose the benefits of hashing because we'll have to search large leaves. So add a new field in ocfs2_extent_tree which indicates the maximum leaf cluster size we want so that we can prevent ocfs2_insert_extent() from merging the leaf record even if it is contiguous with an adjacent record. Other btree types are not affected by this change. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 589dc2602f2a1b7fa5e59b90f548af189f128d77 Author: Tao Ma Date: Mon Aug 18 17:38:51 2008 +0800 ocfs2: Add xattr lookup code xattr btrees Add code to lookup a given extended attribute in the xattr btree. Lookup follows this general scheme: 1. Use ocfs2_xattr_get_rec to find the xattr extent record 2. Find the xattr bucket within the extent which may contain this xattr 3. Iterate the bucket to find the xattr. In ocfs2_xattr_block_get(), we need to recalcuate the block offset and name offset for the right position of name/value. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 0c044f0b24b9128ba8c297149d88bd81f2e36af3 Author: Tao Ma Date: Mon Aug 18 17:38:50 2008 +0800 ocfs2: Add xattr bucket iteration for large numbers of EAs Ocfs2 breaks up xattr index tree leaves into 4k regions, called buckets. Attributes are stored within a given bucket, depending on hash value. After a discussion with Mark, we decided that the per-bucket index (xe_entry[]) would only exist in the 1st block of a bucket. Likewise, name/value pairs will not straddle more than one block. This allows the majority of operations to work directly on the buffer heads in a leaf block. This patch adds code to iterate the buckets in an EA. A new abstration of ocfs2_xattr_bucket is added. It records the bhs in this bucket and ocfs2_xattr_header. This keeps the code neat, improving readibility. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit ba492615f0d32d0210b02c14b24512b4372b13d6 Author: Tao Ma Date: Mon Aug 18 17:38:49 2008 +0800 ocfs2: Add xattr index tree operations When necessary, an ocfs2_xattr_block will embed an ocfs2_extent_list to store large numbers of EAs. This patch adds a new type in ocfs2_extent_tree_type and adds the implementation so that we can re-use the b-tree code to handle the storage of many EAs. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit cf1d6c763fbcb115263114302485ad17e7933d87 Author: Tiger Yang Date: Mon Aug 18 17:11:00 2008 +0800 ocfs2: Add extended attribute support This patch implements storing extended attributes both in inode or a single external block. We only store EA's in-inode when blocksize > 512 or that inode block has free space for it. When an EA's value is larger than 80 bytes, we will store the value via b-tree outside inode or block. Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit fdd77704a8b4666a32120fcd1e4a9fedaf3263d8 Author: Tiger Yang Date: Mon Aug 18 17:08:55 2008 +0800 ocfs2: reserve inline space for extended attribute Add the structures and helper functions we want for handling inline extended attributes. We also update the inline-data handlers so that they properly function in the event that we have both inline data and inline attributes sharing an inode block. Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit f56654c435c06f2b2bd5751889b1a08a3add7d6c Author: Tao Ma Date: Mon Aug 18 17:38:48 2008 +0800 ocfs2: Add extent tree operation for xattr value btrees Add some thin wrappers around ocfs2_insert_extent() for each of the 3 different btree types, ocfs2_inode_insert_extent(), ocfs2_xattr_value_insert_extent() and ocfs2_xattr_tree_insert_extent(). The last is for the xattr index btree, which will be used in a followup patch. All the old callers in file.c etc will call ocfs2_dinode_insert_extent(), while the other two handle the xattr issue. And the init of extent tree are handled by these functions. When storing xattr value which is too large, we will allocate some clusters for it and here ocfs2_extent_list and ocfs2_extent_rec will also be used. In order to re-use the b-tree operation code, a new parameter named "private" is added into ocfs2_extent_tree and it is used to indicate the root of ocfs2_exent_list. The reason is that we can't deduce the root from the buffer_head now. It may be in an inode, an ocfs2_xattr_block or even worse, in any place in an ocfs2_xattr_bucket. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit f5ea64dcbad89875d130596df14c9b25d994a737 Author: David Gibson Date: Sun Oct 12 17:54:24 2008 +0000 powerpc: Get USE_STRICT_MM_TYPECHECKS working again The typesafe version of the powerpc pagetable handling (with USE_STRICT_MM_TYPECHECKS defined) has bitrotted again. This patch makes a bunch of small fixes to get it back to building status. It's still not enabled by default as gcc still generates worse code with it for some reason. Signed-off-by: David Gibson Signed-off-by: Benjamin Herrenschmidt commit cd301c7ba4bbb5a0ee6ebf13eb4a304f29b13847 Author: Sebastian Andrzej Siewior Date: Sun Oct 12 04:08:14 2008 +0000 powerpc: Reflect the used arguments in machine_init() prototype The "phys" argument to machine_init() isn't used and isn't likely to ever be so let's remove it. Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Benjamin Herrenschmidt commit 8aa2659009714cf5f9ffe7f3e16ccfa8ff0e0d61 Author: Benjamin Herrenschmidt Date: Thu Oct 9 17:06:24 2008 +0000 powerpc: Fix DMA offset for non-coherent DMA After Becky's work we can almost have different DMA offsets between on-chip devices and PCI. Almost because there's a problem with the non-coherent DMA code that basically ignores the programmed offset to use the global one for everything. This fixes it. Signed-off-by: Benjamin Herrenschmidt commit 1263965f298af611d4992165242202eb194db1c1 Merge: 5006d1a... c0da99d... Author: Benjamin Herrenschmidt Date: Tue Oct 14 10:11:38 2008 +1100 Merge commit 'kumar/kumar-next' commit 5006d1aae813727cc77cc56cca9e90ef748650ce Merge: 22d660f... 4c3ed7d... Author: Benjamin Herrenschmidt Date: Tue Oct 14 10:11:27 2008 +1100 Merge commit 'gcl/gcl-next' commit 7591103c08abade60aeddb432ed0686ddd0de1c6 Merge: 2be4ff2... 9c6102d... Author: Linus Torvalds Date: Mon Oct 13 14:15:06 2008 -0700 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: (66 commits) ata: Add documentation for hard disk shock protection interface (v3) ide: Implement disk shock protection support (v4) ide-cd: fix printk format warning piix: add Hercules EC-900 mini-notebook to ich_laptop short cable list ide-atapi: assign taskfile flags per device type ide-cd: move cdrom_info.dma to ide_drive_t.dma ide: add ide_drive_t.dma flag ide-cd: add a debug_mask module parameter ide-cd: convert driver to new ide debugging macro (v3) ide: move SFF DMA code to ide-dma-sff.c ide: cleanup ide-dma.c ide: cleanup ide_build_dmatable() ide: remove needless includes from ide-dma.c ide: switch to DMA-mapping API part #2 ide: make ide_dma_timeout() available also for CONFIG_BLK_DEV_IDEDMA_SFF=n ide: make ide_dma_lost_irq() available also for CONFIG_BLK_DEV_IDEDMA_SFF=n ide: __ide_dma_end() -> ide_dma_end() pmac: remove needless pmac_ide_destroy_dmatable() wrapper pmac: remove superfluous pmif == NULL checks ide: Two fixes regarding memory allocation ... commit 2be4ff2f084842839b041b793ed6237e8d1d315a Merge: cf2fa66... a45b3fb... Author: Linus Torvalds Date: Mon Oct 13 14:12:40 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6: (49 commits) pcmcia: ioctl-internal definitions pcmcia: cistpl header cleanup pcmcia: remove unused argument to pcmcia_parse_tuple() pcmcia: card services header cleanup pcmcia: device_id header cleanup pcmcia: encapsulate ioaddr_t pcmcia: cleanup device driver header file pcmcia: cleanup socket services header file pcmcia: merge ds_internal.h into cs_internal.h pcmcia: cleanup cs_internal.h pcmcia: cs_internal.h is internal pcmcia: use dev_printk for cs_error() pcmcia: remove CS_ error codes alltogether pcmcia: deprecate CS_BAD_TUPLE pcmcia: deprecate CS_BAD_ARGS pcmcia: deprecate CS_BAD_BASE, CS_BAD_IRQ, CS_BAD_OFFSET and CS_BAD_SIZE pcmcia: deprecate CS_BAD_ATTRIBUTE, CS_BAD_TYPE and CS_BAD_PAGE pcmcia: deprecate CS_NO_MORE_ITEMS pcmcia: deprecate CS_IN_USE pcmcia: deprecate CS_CONFIGURATION_LOCKED ... Fix trivial conflict in drivers/pcmcia/ds.c manually commit cf2fa66055d718ae13e62451bb546505f63906a2 Merge: 4501a46... 57f51db... Author: Linus Torvalds Date: Mon Oct 13 14:03:59 2008 -0700 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: (313 commits) V4L/DVB (9186): Added support for Prof 7300 DVB-S/S2 cards V4L/DVB (9185): S2API: Ensure we have a reasonable ROLLOFF default V4L/DVB (9184): cx24116: Change the default SNR units back to percentage by default. V4L/DVB (9183): S2API: Return error of the caller provides 0 commands. V4L/DVB (9182): S2API: Added support for DTV_HIERARCHY V4L/DVB (9181): S2API: Add support fot DTV_GUARD_INTERVAL and DTV_TRANSMISSION_MODE V4L/DVB (9180): S2API: Added support for DTV_CODE_RATE_HP/LP V4L/DVB (9179): S2API: frontend.h cleanup V4L/DVB (9178): cx24116: Add module parameter to return SNR as ESNO. V4L/DVB (9177): S2API: Change _8PSK / _16APSK to PSK_8 and APSK_16 V4L/DVB (9176): Add support for DvbWorld USB cards with STV0288 demodulator. V4L/DVB (9175): Remove NULL pointer in stb6000 driver. V4L/DVB (9174): Allow custom inittab for ST STV0288 demodulator. V4L/DVB (9173): S2API: Remove the hardcoded command limit during validation V4L/DVB (9172): S2API: Bugfix related to DVB-S / DVB-S2 tuning for the legacy API. V4L/DVB (9171): S2API: Stop an OOPS if illegal commands are dumped in S2API. V4L/DVB (9170): cx24116: Sanity checking to data input via S2API to the cx24116 demod. V4L/DVB (9169): uvcvideo: Support two new Bison Electronics webcams. V4L/DVB (9168): Add support for MSI TV@nywhere Plus remote V4L/DVB: v4l2-dev: remove duplicated #include ... commit ac11c827192272eabb68b8f4cf844066461d9690 Author: Tao Ma Date: Mon Aug 18 17:38:47 2008 +0800 ocfs2: Add helper function in uptodate.c for removing xattr clusters The old uptodate only handles the issue of removing one buffer_head from ocfs2 inode's buffer cache. With xattr clusters, we may need to remove multiple buffer_head's at a time. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 5a7bc8eb29b8c759df374d97b6189e03d4ea71c5 Author: Tao Ma Date: Mon Aug 18 17:38:46 2008 +0800 ocfs2: Add the basic xattr disk layout in ocfs2_fs.h Ocfs2 uses a very flexible structure for storing extended attributes on disk. Small amount of attributes are stored directly in the inode block - up to 256 bytes worth. If that fills up, attributes are also stored in an external block, linked to from the inode block. That block can in turn expand to a btree, capable of storing large numbers of attributes. Individual attribute values are stored inline if they're small enough (currently about 80 bytes, this can be changed though), and otherwise are expanded to a btree. The theoretical limit to the size of an individual attribute is about the same as an inode, though the kernel's upper bound on the size of an attributes data is far smaller. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 0eb8d47e69a2211a36643b180f1843ef45f6017d Author: Tao Ma Date: Mon Aug 18 17:38:45 2008 +0800 ocfs2: Make high level btree extend code generic Factor out the non-inode specifics of ocfs2_do_extend_allocation() into a more generic function, ocfs2_do_cluster_allocation(). ocfs2_do_extend_allocation calls ocfs2_do_cluster_allocation() now, but the latter can be used for other btree types as well. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit e7d4cb6bc19658646357eeff134645cd9bc3479f Author: Tao Ma Date: Mon Aug 18 17:38:44 2008 +0800 ocfs2: Abstract ocfs2_extent_tree in b-tree operations. In the old extent tree operation, we take the hypothesis that we are using the ocfs2_extent_list in ocfs2_dinode as the tree root. As xattr will also use ocfs2_extent_list to store large value for a xattr entry, we refactor the tree operation so that xattr can use it directly. The refactoring includes 4 steps: 1. Abstract set/get of last_eb_blk and update_clusters since they may be stored in different location for dinode and xattr. 2. Add a new structure named ocfs2_extent_tree to indicate the extent tree the operation will work on. 3. Remove all the use of fe_bh and di, use root_bh and root_el in extent tree instead. So now all the fe_bh is replaced with et->root_bh, el with root_el accordingly. 4. Make ocfs2_lock_allocators generic. Now it is limited to be only used in file extend allocation. But the whole function is useful when we want to store large EAs. Note: This patch doesn't touch ocfs2_commit_truncate() since it is not used for anything other than truncate inode data btrees. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 811f933df1e55615fd0bb4818f31e3868a8e6e23 Author: Tao Ma Date: Mon Aug 18 17:38:43 2008 +0800 ocfs2: Use ocfs2_extent_list instead of ocfs2_dinode. ocfs2_extend_meta_needed(), ocfs2_calc_extend_credits() and ocfs2_reserve_new_metadata() are all useful for extent tree operations. But they are all limited to an inode btree because they use a struct ocfs2_dinode parameter. Change their parameter to struct ocfs2_extent_list (the part of an ocfs2_dinode they actually use) so that the xattr btree code can use these functions. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 231b87d10920e024efaf0f9e86e1bab7bced1620 Author: Tao Ma Date: Mon Aug 18 17:38:42 2008 +0800 ocfs2: Modify ocfs2_num_free_extents for future xattr usage. ocfs2_num_free_extents() is used to find the number of free extent records in an inode btree. Hence, it takes an "ocfs2_dinode" parameter. We want to use this for extended attribute trees in the future, so genericize the interface the take a buffer head. A future patch will allow that buffer_head to contain any structure rooting an ocfs2 btree. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 9a8ff578fb430a8816dfbc73c77e5e09c6d9c343 Author: Mark Fasheh Date: Tue Jul 29 18:29:18 2008 -0700 ocfs2: track local alloc state via debugfs A per-mount debugfs file, "local_alloc" is created which when read will expose live state of the nodes local alloc file. Performance impact is minimal, only a bit of memory overhead per mount point. Still, the code is hidden behind CONFIG_OCFS2_FS_STATS. This feature will help us debug local alloc performance problems on a live system. Signed-off-by: Mark Fasheh commit 9c7af40b210e87f8fddd97b0badc0a352862234a Author: Mark Fasheh Date: Mon Jul 28 18:02:53 2008 -0700 ocfs2: throttle back local alloc when low on disk space Ocfs2's local allocator disables itself for the duration of a mount point when it has trouble allocating a large enough area from the primary bitmap. That can cause performance problems, especially for disks which were only temporarily full or fragmented. This patch allows for the allocator to shrink it's window first, before being disabled. Later, it can also be re-enabled so that any performance drop is minimized. To do this, we allow the value of osb->local_alloc_bits to be shrunk when needed. The default value is recorded in a mostly read-only variable so that we can re-initialize when required. Locking had to be updated so that we could protect changes to local_alloc_bits. Mostly this involves protecting various local alloc values with the osb spinlock. A new state is also added, OCFS2_LA_THROTTLED, which is used when the local allocator is has shrunk, but is not disabled. If the available space dips below 1 megabyte, the local alloc file is disabled. In either case, local alloc is re-enabled 30 seconds after the event, or when an appropriate amount of bits is seen in the primary bitmap. Signed-off-by: Mark Fasheh commit ebcee4b5c9136096f64ee6f691a013d7c0a4bc34 Author: Mark Fasheh Date: Mon Jul 28 14:55:20 2008 -0700 ocfs2: Track local alloc bits internally Do this instead of tracking absolute local alloc size. This avoids needless re-calculatiion of bits from bytes in localalloc.c. Additionally, the value is now in a more natural unit for internal file system bitmap work. Signed-off-by: Mark Fasheh commit 53da4939f349d4edd283b043219221ca5b78e4d4 Author: Mark Fasheh Date: Mon Jul 21 14:29:16 2008 -0700 ocfs2: POSIX file locks support This is actually pretty easy since fs/dlm already handles the bulk of the work. The Ocfs2 userspace cluster stack module already uses fs/dlm as the underlying lock manager, so I only had to add the right calls. Cluster-aware POSIX locks ("plocks") can be turned off by the same means at UNIX locks - mount with 'noflocks', or create a local-only Ocfs2 volume. Internally, the file system uses two sets of file_operations, depending on whether cluster aware plocks is required. This turns out to be easier than implementing local-only versions of ->lock. Signed-off-by: Mark Fasheh commit caf1859199e4360ffa826179bc0e881b0348f3ce Author: Mark Brown Date: Mon Oct 13 15:45:23 2008 +0100 mfd: Fix warning in WM8350 Signed-off-by: Mark Brown Acked-by: Samuel Ortiz Signed-off-by: Liam Girdwood commit add41cb46175618fd42bc1ca07fe7f9dd38bf702 Author: Mark Brown Date: Mon Oct 13 15:45:22 2008 +0100 mfd: Add placeholders for WM8350 client devices In order to avoid merge problems further down the line add placeholders for several of the WM8350 client devices and register them, otherwise the patches adding the client devices will all try to update the same code. Also remove redundant checks for null regulator platform devices while we're at it. Signed-off-by: Mark Brown Acked-by: Samuel Ortiz Signed-off-by: Liam Girdwood commit 129eef96c9e25ce6516e2ddd5a338a14362b815b Author: Eric Miao Date: Wed Aug 27 04:16:08 2008 +0800 da903x: add regulator support for DA9030/DA9034 Signed-off-by: Eric Miao Signed-off-by: Mike Rapoport Signed-off-by: Liam Girdwood commit 9201d38b97c7de1b8e6e40449745acf456cff437 Author: Mark Brown Date: Fri Oct 10 15:58:16 2008 +0100 mfd: Add WM8350 subdevice registration helper Most of the subdevices for the WM8350 code are registered in the same fashion so factor out the code to do the initial registration. Signed-off-by: Mark Brown Acked-by: Samuel Ortiz Signed-off-by: Liam Girdwood commit da09155ac8d3f04c299b3d82a6ab0df8d03da632 Author: Mark Brown Date: Fri Oct 10 15:58:15 2008 +0100 regulator: Add WM8350 regulator support The WM8350 features six DCDC convertors (four buck and two boost), four LDO voltage regulators and two constant current sinks. This driver adds support for these throu