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 through the regulator API. This driver was written by Liam Girdwood with updates for submission from Mark Brown. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit ebccec0fa4e35dff0c18663a492a65f4dc6cad7a Author: Mark Brown Date: Fri Oct 10 15:58:14 2008 +0100 mfd: Add WM8350 interrupt support The WM8350 has an interrupt line to the CPU which is shared by the devices on the CPU. This patch adds support for the interrupt controller within the WM8350 which identifies which identifies the interrupt cause. In common with other similar chips this is done outside the standard interrupt framework due to the need to access the interrupt controller over an interrupt-driven bus. This code was all originally written by Liam Girdwood with updates for submission by me. Signed-off-by: Mark Brown Acked-by: Samuel Ortiz Signed-off-by: Liam Girdwood commit bcdd4efc1b6b8b98f30e127115f4bc7bbcd6f7ce Author: Mark Brown Date: Fri Oct 10 15:58:13 2008 +0100 mfd: Add initialisation callback for WM8350 Some functions of the WM8350 require board-specific initialisation on startup. Provide a callback to the WM8350 driver in platform data for platforms to use to configure the chip. Use of a callback allows platforms to control the ordering of initialisation which can be important. Signed-off-by: Mark Brown Acked-by: Samuel Ortiz Signed-off-by: Liam Girdwood commit 0e7203933224cbe09b5a9125f55b177b8dd5b1bd Author: Mark Brown Date: Fri Oct 10 15:58:12 2008 +0100 mfd: Add GPIO pin configuration support for WM8350 The WM8350 provides a number of user-configurable pins providing access to various signals generated by the functions on the chip. These are referred to as GPIO pins in the device documentation but in Linux terms they are more general than that, providing configuration of alternate functions. This patch implements support for selecting the alternate functions for these pins. They can also be used as GPIOs in the normal Linux sense - a subsequent patch will add support for doing so. This code was all written by Liam Girdwood and has had minor updates and rearrangements by Mark Brown. Signed-off-by: Mark Brown Acked-by: Samuel Ortiz Signed-off-by: Liam Girdwood commit c661a0b92d487ac20cc9cddbb8f4d40e4dcdbec1 Author: Mark Brown Date: Fri Oct 10 15:58:11 2008 +0100 mfd: Add I2C control support for WM8350 Implement the I2C control interface for the WM8350. This code was originally written by Liam Girdwood and has been updated for submission by Mark Brown. Signed-off-by: Mark Brown Acked-by: Samuel Ortiz Signed-off-by: Liam Girdwood commit 89b4012befb1abca5e86d232bc0e2a797b0d9825 Author: Mark Brown Date: Fri Oct 10 15:58:10 2008 +0100 mfd: Core support for the WM8350 AudioPlus PMIC The WM8350 is an integrated audio and power management subsystem intended for use as the primary PMIC in mobile multimedia applications. The WM8350 can be controlled via either I2C or SPI - the control interface is provided by a separate module in order to allow greatest flexibility in configuring the kernel. This driver was originally written by Liam Girdwood and has since been updated to current kernel APIs and split up for submission by me. All the heavy lifting here was done by Liam. Signed-off-by: Mark Brown Acked-by: Samuel Ortiz Signed-off-by: Liam Girdwood commit 213f326810b6852bc54f38fd8bb71793f70f2c7a Author: Mark Brown Date: Fri Oct 10 15:58:09 2008 +0100 mfd: Add WM8350 watchdog register definitions Signed-off-by: Mark Brown Acked-by: Samuel Ortiz Signed-off-by: Liam Girdwood commit 64a91ce93499dad945c4725d39b52f734d31b742 Author: Mark Brown Date: Fri Oct 10 15:58:08 2008 +0100 mfd: Add WM8350 RTC register definitions Signed-off-by: Mark Brown Acked-by: Samuel Ortiz Signed-off-by: Liam Girdwood commit e7aabc346b111ae2ebcd390dcca7200a3361bb62 Author: Mark Brown Date: Fri Oct 10 15:58:07 2008 +0100 mfd: Add WM8350 comparator register definitions Signed-off-by: Mark Brown Acked-by: Samuel Ortiz Signed-off-by: Liam Girdwood commit f8ea79c2ab39513e90054ed2828a85759d979bfa Author: Mark Brown Date: Fri Oct 10 15:58:06 2008 +0100 mfd: Add WM8350 PMU register definitions Signed-off-by: Mark Brown Acked-by: Samuel Ortiz Signed-off-by: Liam Girdwood commit 03c127ee1e0c5f7a5285d1af3d5c1571ac2646a1 Author: Mark Brown Date: Fri Oct 10 15:58:05 2008 +0100 mfd: Add WM8350 PMIC register definitions Signed-off-by: Mark Brown Acked-by: Samuel Ortiz Signed-off-by: Liam Girdwood commit 0c42e0b7631f1bfccc27eedac2a1e03f4c8c824c Author: Mark Brown Date: Fri Oct 10 15:58:04 2008 +0100 mfd: Add WM8350 GPIO register definitions Signed-off-by: Mark Brown Acked-by: Samuel Ortiz Signed-off-by: Liam Girdwood commit 06532c474718e330a7e3625ef91b94e22991128c Author: Mark Brown Date: Fri Oct 10 15:58:03 2008 +0100 mfd: Add WM8350 audio register definitions Signed-off-by: Mark Brown Acked-by: Samuel Ortiz Signed-off-by: Liam Girdwood commit bc558a60b58f638ee0188affb627d4894a97b1c7 Author: Mark Brown Date: Fri Oct 10 15:33:20 2008 +0100 regulator: Export regulator name via sysfs Provide a new file 'name' in the regulator sysfs class with a human readable name for the regulator for use in applications. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit 42fad570b666256a3fd009e23e74cbb365a29ca8 Author: Mark Brown Date: Thu Sep 11 11:12:01 2008 +0100 regulator: Add WM8400 regulator support The WM8400 provides two programmable DCDC step-down (buck) convertors and four low-dropout (LDO) regulators. This driver provides support for runtime managment of these in the standard regulator API. Support for configuration of the suspend and hibernate mode behaviour of the regulators is not yet included. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit 1d9f9f040035da73d6ee5d2b3b3a25483a980da3 Author: Mark Brown Date: Wed Sep 10 18:58:42 2008 +0100 mfd: Core support for the WM8400 AudioPlus HiFi CODEC and PMU The WM8400 is a highly integrated audio CODEC and power management unit optimised for use in mobile multimedia applications. This patch adds core support for the WM8400 to the MFD subsystem. Both I2C and SPI access are supported by the hardware but currently only I2C access is implemented. The code is structured to allow SPI support to be slotted in later. Signed-off-by: Mark Brown Acked-by: Samuel Ortiz Signed-off-by: Liam Girdwood commit 8a62ab4c4eaf5bce4d9cc84b77d6402c4742d9ab Author: Liam Girdwood Date: Sun Sep 14 17:40:21 2008 +0100 regulator: update email address for Liam Girdwood Additionally added another web resource for voltage regulators. Signed-off-by: Liam Girdwood commit e5fda26c7ea9430d7d953364f900bafdce2be67b Author: Mark Brown Date: Tue Sep 9 16:21:20 2008 +0100 regulator: Enable regulators marked as always_on If the machine constraints mark a regulator as always_on but this was not done by the bootloader then enable the regulator when applying constraints. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit e06f5b4fea243b152c79fe5d9552a852069de483 Author: Mark Brown Date: Tue Sep 9 16:21:19 2008 +0100 regulator: Additional diagnostics for machine constraints Try to find a human readable name for the regulator we're failing on and print a specific diagnostic when we fail to set the suspend state. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit 46fabe1edd44a8893d88d7982f88d01ccf77f0bb Author: Mark Brown Date: Tue Sep 9 16:21:18 2008 +0100 regulator: check for init_data on registration Since it is now mandatory to supply constraints via init_data on device registration check for that when registering, saving us from oopsing later on. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit 3de89609a82aa68f543cba263eb28725e0fde511 Author: Mark Brown Date: Tue Sep 9 16:21:17 2008 +0100 regulator: Fix typo Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit a5766f11cfd3a0c03450d99c8fe548c2940be884 Author: Liam Girdwood Date: Fri Oct 10 13:22:20 2008 +0100 regulator: core - Rework machine API to remove string based functions. This improves the machine level API in order to configure regulator constraints and consumers as platform data and removes the old string based API that required several calls to set up each regulator. The intention is to create a struct regulator_init_data, populate it's fields with constraints, consumers devices, etc and then register the regulator device from board.c in the standard Linux way. e.g. regulator LDO2 (supplying codec and sim) platform data. /* regulator LDO2 consumer devices */ static struct regulator_consumer_supply ldo2_consumers[] = { { .dev = &platform_audio_device.dev, .supply = "codec_avdd", }, { .dev = &platform_sim_device.dev, .supply = "sim_vcc", } }; /* regulator LDO2 constraints */ static struct regulator_init_data ldo2_data = { .constraints = { .min_uV = 3300000, .max_uV = 3300000, .valid_modes_mask = REGULATOR_MODE_NORMAL, .apply_uV = 1, }, .num_consumer_supplies = ARRAY_SIZE(ldo2_consumers), .consumer_supplies = ldo2_consumers, }; /* machine regulator devices with thier consumers and constraints */ static struct platform_device wm8350_regulator_devices[] = { { .name = "wm8350-regulator", .id = WM8350_LDO_2, .dev = { .platform_data = &ldo2_data, }, }, }; Changes in detail:- o Removed all const char* regulator config functions in machine API. o Created new struct regulator_init_data to contain regulator machine configuration constraints and consmuers. o Changed set_supply(), set_machine_constraints(), set_consumer_device_supply() to remove their string identifier parameters. Also made them static and moved functions nearer top of core.c. o Removed no longer used inline func to_rdev() o Added regulator_get_init_drvdata() to retrieve init data. o Added struct device* as parameter to regulator_register(). o Changed my email address. Signed-off-by: Eric Miao Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit 9c6102d446985bca9c426cb2d9b478ed21d2b024 Author: Elias Oltmanns Date: Mon Oct 13 21:39:50 2008 +0200 ata: Add documentation for hard disk shock protection interface (v3) Put some information (and pointers to more) into the kernel's doc tree, describing briefly the interface to the kernel's disk head unloading facility. Information about how to set up a complete shock protection system under GNU/Linux can be found on the web and is referenced accordingly. v3: Here is some final polish including various spelling corrections pointed out by Grant Grundler and Peter Moulder. Also, I have added some information about the timing constraints related to disk head parking. The patch looks more impressive than it really is and I think it would be alright just to incorporate it into the original patch so as not to clutter up the git log. Signed-off-by: Elias Oltmanns Cc: Jeff Garzik Cc: Randy Dunlap Cc: Tejun Heo Signed-off-by: Bartlomiej Zolnierkiewicz commit 4abdc6ee7c47a1a6e12f95717e461baeebee5df7 Author: Elias Oltmanns Date: Mon Oct 13 21:39:50 2008 +0200 ide: Implement disk shock protection support (v4) On user request (through sysfs), the IDLE IMMEDIATE command with UNLOAD FEATURE as specified in ATA-7 is issued to the device and processing of the request queue is stopped thereafter until the specified timeout expires or user space asks to resume normal operation. This is supposed to prevent the heads of a hard drive from accidentally crashing onto the platter when a heavy shock is anticipated (like a falling laptop expected to hit the floor). Port resets are deferred whenever a device on that port is in the parked state. v3: Elias Oltmanns wrote: [...] > >> 1. Make sure that no negative value is being passed to > >> jiffies_to_msecs() in ide_park_show(). > >> 2. Drop the superfluous variable hwif in ide_special_rq(). > >> 3. Skip initialisation of task and tf in ide_special_rq() if we are not > >> handling a (un)park request. > > > > Well, #3 should have been done differently because we donn't want to > > check for REQ_(UN)?PARK_HEADS more often than is necessary. > > While preparing the backport to 2.6.27, it has just occurred to me that > we need to clear the IDE_DFLAG_PARKED flag in ide_disk_pre_reset() > because this flag must not be set after *any* sort of access to the > device. v4: Fix a memory leak due to a missing blk_put_request() in issue_park_cmd(). Additionally, we should plug the queue when enqueueing the unpark request because there is no guarantee that the park timeout has not expired by then. Even though the chance for that to happen is very slim, the request might end up hanging in the queue until the next I/O operation is queued up. While at it, clean up the code a little: - make issue_park_cmd() a function of type void since nobody cares for the return value anyway; - use blk_start_queueing() instead of __blk_run_queue() since we don't have to worry about recursion; - remove a superfluous pointer deference in task_no_data_intr(). Signed-off-by: Elias Oltmanns Cc: Jeff Garzik , Cc: Randy Dunlap Cc: Tejun Heo Signed-off-by: Bartlomiej Zolnierkiewicz commit 08243ba731ee08ff42cf1589379c81567690218f Author: Alexander Beregalov Date: Mon Oct 13 21:39:50 2008 +0200 ide-cd: fix printk format warning Signed-off-by: Alexander Beregalov Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit a8269e5423387ca0c6f6c75c42dad57c501025d3 Author: Herton Ronaldo Krzesinski Date: Mon Oct 13 21:39:50 2008 +0200 piix: add Hercules EC-900 mini-notebook to ich_laptop short cable list Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Bartlomiej Zolnierkiewicz commit f9476b96b5c19a843d6256b8d228ebf1edabb1b6 Author: Borislav Petkov Date: Mon Oct 13 21:39:50 2008 +0200 ide-atapi: assign taskfile flags per device type There should be no functional change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 12469ac0c1eed579f1b4a87e472471f14eaa5da3 Author: Borislav Petkov Date: Mon Oct 13 21:39:49 2008 +0200 ide-cd: move cdrom_info.dma to ide_drive_t.dma There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 0a9b6f8864362e31e348b12922a92b48b1b8cc94 Author: Borislav Petkov Date: Mon Oct 13 21:39:49 2008 +0200 ide: add ide_drive_t.dma flag This flag is to accomodate ide-cd functionality into ide atapi. There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 35d9b17fe2dc48514fa3fbeec910e54103d13333 Author: Borislav Petkov Date: Mon Oct 13 21:39:49 2008 +0200 ide-cd: add a debug_mask module parameter Signed-off-by: Borislav Petkov [bart: no need to zero debug_mask + move it next to module_param()] Signed-off-by: Bartlomiej Zolnierkiewicz commit fc8323f793852ca1fcb58d96512fd71d39af2e9b Author: Borislav Petkov Date: Mon Oct 13 21:39:48 2008 +0200 ide-cd: convert driver to new ide debugging macro (v3) Also, - leave in the possibility for optimizing away all debugging macros - add a PFX macro and prepend all printk calls with it for consistency - add debug macro calls in important driver paths - remove #if 0-ed code - mv restore_request -> ide_cd_restore_request - add a driver registration printk v2: failed_command can be NULL so check it before accessing it v3: fix another NULL ptr in debug statement There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2dbe7e919eb696c86790797f8a814bef19a0d50a Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:47 2008 +0200 ide: move SFF DMA code to ide-dma-sff.c Signed-off-by: Bartlomiej Zolnierkiewicz commit db3f99ef7c30d541e4a78931acf2c64abe3e26d1 Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:47 2008 +0200 ide: cleanup ide-dma.c - s/HWIF(drive)/drive->hwif/ - s/HWGROUP(drive)/[drive->]hwif->hwgroup/ - fixup error messages in ide_dma_intr() & dma_timer_expiry() - fix checkpatch.pl errors/warnings Signed-off-by: Bartlomiej Zolnierkiewicz commit 14c123f37187aba0b4e0e893a969efc6820c4170 Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:47 2008 +0200 ide: cleanup ide_build_dmatable() - use for_each_sg() - move printing 'DMA table too small' message below use_pio_instead label - merge '64KB bug' comment with function documentation - fix intendation There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit c19f7f226ba011843a31ee4f21a19c36fa5a3ead Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:47 2008 +0200 ide: remove needless includes from ide-dma.c Signed-off-by: Bartlomiej Zolnierkiewicz commit 2bbd57cad3d72334c9fcc4e229a5a5b04dc6aebc Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:47 2008 +0200 ide: switch to DMA-mapping API part #2 Follow-up to commit 5c05ff68b9a9b40a9be949497e0aa980185565cf ("ide: switch to DMA-mapping API"): * pci_{alloc,free}_consistent() -> dma_{alloc,free}_coherent() in ide_{allocate,release}_dma_engine(). * Add ->prd_max_nents and ->prd_ent_size fields to ide_hwif_t (+ set default values in ide_allocate_dma_engine()). * Make ide_{allocate,release}_dma_engine() available also for CONFIG_BLK_DEV_IDEDMA_SFF=n. Then convert au1xxx-ide.c, scc_pata.c and sgiioc4.c to use them. * Add missing ->init_dma method to scc_pata. This patch also fixes: - ->dmatable_cpu leak for au1xxx-ide - too early realease of ->dmatable_cpu for scc_pata - wrong amount of ->dmatable_cpu memory being freed for sgiioc4 While at it: - remove superfluous ->dma_base check from ide_unregister() - return -ENOMEM on error in ide_release_dma_engine() - beautify error message in ide_release_dma_engine() Signed-off-by: Bartlomiej Zolnierkiewicz commit ffa15a6915b7f6f6f69b4a66e1100a9c68d11250 Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:46 2008 +0200 ide: make ide_dma_timeout() available also for CONFIG_BLK_DEV_IDEDMA_SFF=n Make ide_dma_timeout() available also for CONFIG_BLK_DEV_IDEDMA_SFF=n and convert {ics,au1xxx-}ide.c to use it. While at it: - dump ATA Status register content on error - use EXPORT_SYMBOL_GPL() to match the rest of SFF DMA functions Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit de23ec9ca82357e6d337a2263befb1a65cf19c83 Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:46 2008 +0200 ide: make ide_dma_lost_irq() available also for CONFIG_BLK_DEV_IDEDMA_SFF=n Make ide_dma_lost_irq() available also for CONFIG_BLK_DEV_IDEDMA_SFF=n and convert {ics,au1xxx-}ide.c to use it. While at it: - use EXPORT_SYMBOL_GPL() to match the rest of SFF DMA functions Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 653bcf5292a9ac4ffc07315198f0ef995e0646a8 Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:46 2008 +0200 ide: __ide_dma_end() -> ide_dma_end() While at it: - use EXPORT_SYMBOL_GPL() to match the rest of SFF DMA functions Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f5e0b5ecb3afc8050259003067b6a1aef3635f12 Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:45 2008 +0200 pmac: remove needless pmac_ide_destroy_dmatable() wrapper hwif->sg_nents is always != 0 when this function is called and there is also no need to explicitely zero hwif->sg_nents. Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 9055ba3ee2dba801e8e6bddec9003ad8bca153ab Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:45 2008 +0200 pmac: remove superfluous pmif == NULL checks Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit e415e495f8294e536e09e6a15fba897cce4c0748 Author: Elias Oltmanns Date: Mon Oct 13 21:39:45 2008 +0200 ide: Two fixes regarding memory allocation In function ide_devset_execute() we should use __GFP_WAIT rather than GFP_KERNEL. Also, the allocation cannot possibly fail at that point. More importantly, there is a potential memory leak in the device probing code. The infrastructure seems rather complex and I hope I haven't messed anything up by trying to fix this. Signed-off-by: Elias Oltmanns [bart: remove superfluous ide_lock taking] Signed-off-by: Bartlomiej Zolnierkiewicz commit 06b89518fa69fb7243dc98c31f9a9cfa61bfe788 Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:45 2008 +0200 ide-disk: move /proc handling to ide-disk_proc.c (take 3) While at it: - idedisk_capacity() -> ide_disk_capacity() - idedisk_proc[] -> ide_disk_proc[] - idedisk_settings[] -> ide_disk_settings[] v2/3: Build fix for CONFIG_IDE_PROC_FS=n from Elias Oltmanns. Signed-off-by: Bartlomiej Zolnierkiewicz commit f87904898e91923a91b925078ac933f05076c7fd Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:45 2008 +0200 ide-disk: move all ioctl handling to ide-disk_ioctl.c While at it: - idedisk_ioctl() -> ide_disk_ioctl() Signed-off-by: Bartlomiej Zolnierkiewicz commit b9103da463f72d03c513acdb18f1aebd7931ed1e Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:44 2008 +0200 ide-floppy: move /proc handling to ide-floppy_proc.c (take 2) While at it: - idefloppy_capacity() -> ide_floppy_capacity() - idefloppy_proc[] -> ide_floppy_proc[] - idefloppy_settings[] -> ide_floppy_settings[] v2: Build fix for CONFIG_IDE_PROC_FS=n from Elias Oltmanns. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5bb1536a07cca0b66f2bb41dfdf84140939b8f1f Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:44 2008 +0200 ide-floppy: move all ioctl handling to ide-floppy_ioctl.c (take 2) While at it: - idefloppy_ioctl() -> ide_floppy_ioctl() v2: Fix for idefloppy_ioctl name change from Stephen Rothwell. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 14d83b12c931b03dbe6b3dc79122db02521c890b Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:43 2008 +0200 ide-cd: no need to zero drive->special.all Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4ab3d50224e35811b3351c28e63057595e8406e6 Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:43 2008 +0200 ide: set IDE_AFLAG_DRQ_INTERRUPT in do_identify() Set IDE_AFLAG_DRQ_INTERRUPT in do_identify() instead of ATAPI device drivers *_setup() methods. While at it: - use ata_id_cdb_intr() There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit a36223b0dc14606b5c80aacbbe6288133693a841 Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:43 2008 +0200 ide: remove ide_host_alloc_all() * Remove no longer used ide_host_alloc_all(). * Add MAX_HOST_PORTS define and use it instead of MAX_HWIFS as the maximum number of host ports possible. Signed-off-by: Bartlomiej Zolnierkiewicz commit cf4049103be931fca133f66b3181490284a521c6 Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:42 2008 +0200 ide-generic: remove no longer needed ide_probe_legacy() There is now a generic solution [ide_generic_check_pci_legacy_iobases()] so MIPS-specific ide_probe_legacy() is no longer necessary. Cc: Ralf Baechle Signed-off-by: Bartlomiej Zolnierkiewicz commit 6ccc6d7ecbb427580d045699e434bc5c6f45e227 Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:42 2008 +0200 ide-generic: no need to probe all ports at once Signed-off-by: Bartlomiej Zolnierkiewicz commit bfa7d8e55f0c5ae22ef57eb22942c74fdde7b9bd Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:42 2008 +0200 ide: ->ide_dma_clear_irq() -> ->clear_irq() * Rename ->ide_dma_clear_irq method to ->clear_irq and move it from ide_hwif_t to struct ide_port_ops. * Move ->waiting_for_dma check inside ->clear_irq method. * Move ->dma_base check inside ->clear_irq method. piix.c: * Add ich_port_ops and remove init_hwif_ich() wrapper. There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit a9ab09e26055a76295548ca36ec00de2f4367d32 Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:41 2008 +0200 ide: use unique names for struct pci_driver instances Noticed-by: Russell King Signed-off-by: Bartlomiej Zolnierkiewicz commit d6ff9f64e68d23feab44efa07cc6aee01f3ef32b Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:41 2008 +0200 ide: merge all TASKFILE_NO_DATA data phase handlers into taskfile_no_intr() * Add 'struct task_s' to ide_hwif_t and init it to the current command in do_rw_taskfile(). * Merge all TASKFILE_NO_DATA data phase handlers into taskfile_no_intr(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 0e3d84a500d4e1672332b4961b98c35f6168e6f1 Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:41 2008 +0200 ide: factor out reset error reporting from reset_pollfunc() Factor out reset error reporting from reset_pollfunc() to ide_reset_report_error() helper. While at it: - fix KERN_* printk() levels - remove 'switch ()' Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 6982daf71ca9a0b0c36043315e1968b3cb709b7c Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:40 2008 +0200 ide: convert 'pio_mode' device setting to use DS_SYNC flag * Convert 'pio_mode' device setting to use DS_SYNC flag. * Remove unused special_t.b.{set_tune,serviced} and ide_drive_t.tune_req. Signed-off-by: Bartlomiej Zolnierkiewicz commit 7f612f272ad8abe82411f368bfacf793b466e1b3 Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:40 2008 +0200 ide: remove [ata_]select_t * Use 'drive->dn & 1' in ide_init_disk(). * remove [ata_]select_t. While at it: * Use ATA_DEVICE_OBS define in ide_port_init_devices_data(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 123995b97136cb41fa282f0ed2385f2c8066df96 Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:40 2008 +0200 ide: use 'drive->dn & 1' instead of drive->select.b.unit * Call ide_port_init_devices() in ide_host_register() also if 'struct ide_port_info *d' is not available. * Init drive->dn in ide_port_init_devices() instead of ide_probe_port() so it is valid also in ->init_dev. * Pass device number to ide_dev_apply_params(). * Use 'drive->dn & 1' instead of drive->select.b.unit. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 8595259ccb6a13b9aab31832ce874d157064d256 Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:39 2008 +0200 cy82c693: remove no longer needed CY82C693_DEBUG_LOGS code Having CY82C693_DEBUG_INFO is enough nowadays. Signed-off-by: Bartlomiej Zolnierkiewicz commit 00bb2c16e84845a381162df03eec79129b30271c Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:39 2008 +0200 cy82c693: remove dead CY82C693_SETDMA_CLOCK code Remove dead CY82C693_SETDMA_CLOCK code and now not needed init_chipset_cy82c693(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 0d346ba0730d84f04022f9f984d3f606f69cef37 Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:38 2008 +0200 ide: sanitize ide*_pm_* enums * Move ide*_pm_* enums from ide-io.c to . * idedisk_pm_* -> ide_pm_* * ide_pm_state_* -> ide_pm_* * No need to set ide_pm_* enums to the fixed values. * Uppercase ide_pm_* enums. * Fix/update comments. Signed-off-by: Bartlomiej Zolnierkiewicz commit d1d76714e2f0c520b6c2a84ab5b050d0b3244949 Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:38 2008 +0200 ide: fix HDIO_DRIVE_TASK[FILE] ioctls for CHS commands on LBA devices Add IDE_DFLAG_LBA device flag and use it instead of ->select.b.lba. Since ->tf_load uses ->select.all for ATA Device/Head register this fixes HDIO_DRIVE_TASK[FILE] ioctls for CHS commands on LBA devices. Signed-off-by: Bartlomiej Zolnierkiewicz commit c67c216d810a05fffdbdbdf1b81048f0d4759287 Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:38 2008 +0200 ide: remove superfluous ->waiting_for_dma checks Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit e4634d4ef04fe6d7b114b612e5b71a84187ce76a Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:37 2008 +0200 ide: remove superfluous ->dma field from ide_hwif_t Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 0ae4b3199ab1b6d511c6e0948e92049c272a346a Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:37 2008 +0200 ide: remove superfluous ->media field from ide_driver_t Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit c39220483ebe6871fb129d4b2236cd95290c41fc Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:37 2008 +0200 ide: DMA_PIO_RETRY -> IDE_DFLAG_DMA_PIO_RETRY Add IDE_DFLAG_DMA_PIO_RETRY and use it instead of ide_drive_t.state + DMA_PIO_RETRY. There should be no functional changes cause by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 97100fc816badbbc162644cfde7ad39ae9211fb4 Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:36 2008 +0200 ide: add device flags Add 'unsigned long dev_flags' to ide_drive_t and convert bitfields to IDE_DFLAG_* flags. While at it: - IDE_DFLAG_ADDRESSING -> IDE_DFLAG_LBA48 - fixup some comments - remove needless g->flags zeroing from ide*_probe() There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit be3c096ebdbe3c828aacb5473751a22840753eff Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:36 2008 +0200 ide-disk: add ide_do_setfeature() helper Add ide_do_setfeature() helper and convert set_{wcache,acoustic}() to use it. There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 35c137531245118962eb40a550661afe317bec03 Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:36 2008 +0200 ide-disk: set_addressing() fixes * Return -EIO if arg > 0 and LBA48 is unsupported. * No need to reset ->addressing. * Make ->addressing a single bit flag. Signed-off-by: Bartlomiej Zolnierkiewicz commit 1ea1031cf92b8b8bfbe796d8e8d38b68300475d2 Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:35 2008 +0200 ide: fix IDE ACPI for slave device-only configurations ACPI _GTM / _PS0 / _STM were not called if only slave device was present. Signed-off-by: Bartlomiej Zolnierkiewicz commit 0964dbe60c98f483567ac9a1220f6ab01a15c954 Author: Borislav Petkov Date: Mon Oct 13 21:39:35 2008 +0200 ide-floppy: add a debug_mask module parameter ... with which to control to verbosity of debug messages on module load time. Signed-off-by: Borislav Petkov [bart: no need to zero debug_mask + move module_param() closer debug_mask] [bart: init drive->debug_mask in ide_floppy_probe() not in idefloppy_open()] Signed-off-by: Bartlomiej Zolnierkiewicz commit 7b35572628bb807bf95e4d6282c67af95267928e Author: Borislav Petkov Date: Mon Oct 13 21:39:35 2008 +0200 ide-floppy: convert driver to the new debugging macro Also: - leave in the possibility for optimizing away all debugging macros - add a PFX macro and prepend all printk calls with it for consistency - change idefloppy_create_rw_cmd's 1st arg from idefloppy_floppy_t * to ide_drive_t *. - add a missing printk-level in idefloppy_init - fix minor checkpatch warnings Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit e1c7c4641aae8d278fca62b3b5cffad3a8dcb0a4 Author: Borislav Petkov Date: Mon Oct 13 21:39:35 2008 +0200 ide: add a driver-wide debugging macro Add __ide_debug_log() debugging macro which is controlled by drive->debug_mask. The macro has to have the macro DRV_NAME defined in each driver before use. Also, add different debugging levels depending on the functionality debugged. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit b22b2ca4ff0730b14d14bcc36bd1b84873557512 Author: Borislav Petkov Date: Mon Oct 13 21:39:34 2008 +0200 ide: add drive->debug_mask switch Add a debugging on/off switch for controlling driver debugging messages dynamically. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5aeddf907f149cae7e19b7c23ccea3823d00698c Author: Borislav Petkov Date: Mon Oct 13 21:39:34 2008 +0200 ide: unify conversion macros Introduce to_ide_drv() and ide_drv_g() macros and replace the respective definitions of similar ones in each driver. There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 91ddc9988efeaed487eb7dd81d2557e1b1d501ef Author: Adrian Bunk Date: Mon Oct 13 21:39:34 2008 +0200 xtensa: remove dead CONFIG_BLK_DEV_IDE code I don't know why this was there, but it was dead code. Signed-off-by: Adrian Bunk Cc: chris@zankel.net Signed-off-by: Bartlomiej Zolnierkiewicz commit 75d21fffd85fdb0a1d7238cf5996022d7bf424dd Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:33 2008 +0200 ide: remove unnecessary MAX_HWIFS checks from ide-probe.c MAX_HWIFS is now always equal to the number of IDE major numbers. Signed-off-by: Bartlomiej Zolnierkiewicz commit 452a8ed8ce752a423013cfade1bbca5f13fd16eb Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:33 2008 +0200 ide: remove CONFIG_BLK_DEV_IDE config option (take 2) Because hd.c was moved to drivers/block/ this config option is superfluous now and may be removed. v2: Fix drivers/ide/Makefile (noticed by Adrian Bunk). Cc: Adrian Bunk Signed-off-by: Bartlomiej Zolnierkiewicz commit baf08f0be6d986521bb2fbdc7af51fc4847da734 Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:32 2008 +0200 ide: make ide_transfer_pc() static * Move ->ticks field from struct ide_floppy_obj to ide_drive_t. * Move idefloppy_transfer_pc() to ide-atapi.c and make ide_transfer_pc() use it. * Always use ide_transfer_pc as a handler in ide_issue_pc(). * Remove no longer used idefloppy_start_pc_transfer(), ide*_transfer_pc() and 'handler' argument from ide_issue_pc(). * Make ide_transfer_pc() static. While at it: * idefloppy_transfer_pc() -> ide_delayed_transfer_pc() * IDEFLOPPY_TICKS_DELAY -> IDEFLOPPY_PC_DELAY * ->ticks -> ->pc_delay There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit aa5d2de7b080873f6d9ac3aede423c9713bf0caa Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:32 2008 +0200 ide: make ide_pc_intr() static * Always use ide_pc_intr as a handler in ide_pc_intr(). * Remove no longer used ide*_pc_intr() and 'handler' argument from ide_{transfer_pc,pc_intr}(). * Make ide_pc_intr() static. There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 85e39035ca381846b031690f4d1ac1f0660da0a2 Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:32 2008 +0200 ide: add ->pc_{update,io}_buffers methods Add ->pc_{update,io}_buffers methods to ide_drive_t and use them instead of {update,io}_buffers ide_pc_intr() arguments. There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 6b0da28b2d0f4f4e2c55689fc062db569075ff60 Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:32 2008 +0200 ide: add ide_retry_pc() helper * Add ide_create_request_sense_cmd() and ide_retry_pc() helpers and convert ide-{atapi,floppy,tape}.c to use them. * Remove no longer used ide*_create_request_sense_cmd(), ide*_retry_pc() and 'retry_pc' argument from ide_pc_intr(). * Make ide_queue_pc_head() static. There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 67c56364df843fb9e3ed1af014b8fbe4b22ff25d Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:31 2008 +0200 ide: add request_sense_{pc,rq} to ide_drive_t Add 'struct ide_atapi_pc request_sense_pc' and 'request request_sense_rq' to ide_drive_t and use them instead of fields in struct ide_{floppy,tape}_obj. There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 844b9468523c8c2c45b90df4efcabcbe4926b5ab Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:31 2008 +0200 ide: drop 'timeout' and 'expiry' arguments from ide_pc_intr() * Move idescsi_expiry() to ide-atapi.c. * Move get_timeout() to . * Drop 'timeout' and 'expiry' arguments from ide_pc_intr(). While at it: * idescsi_expiry() -> ide_scsi_expiry() * get_timeout() -> ide_scsi_get_timeout() There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2b9efba48283f34083df6bc53f6752fba4e4d409 Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:31 2008 +0200 ide: add pointer to the current packet command to ide_drive_t * Add pointer to the current packet command (struct ide_atapi_pc *pc) to ide_drive_t and use it instead of the pointer in struct ide_*_obj. * Use drive->pc in ide_{issue,transfer}_pc() and ide_pc_intr() instead of 'pc' argument. There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit b14c72127fbe8f97e49de7437520175673f7306a Author: Bartlomiej Zolnierkiewicz Date: Mon Oct 13 21:39:30 2008 +0200 ide: drop dsc_handle argument from ide_pc_intr() * Add 'int dsc' argument to ->pc_callback method. * Call ide_tape_handle_dsc() internally in ide_tape_callback() if dsc argument is set and update ide_pc_intr() accordingly. There should be no functional changes caused by this patch. Cc: Borislav Petkov Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9b5a18e19f8c610c270ee9a0ba03177d737f6aa5 Author: Sergei Shtylylov Date: Mon Oct 13 21:39:30 2008 +0200 sgiioc4: fix messages Fix several issues with the log messages printed by ide_dma_sgiioc4() and sgiioc4_ide_setup_pci_device(): - IOC4 registers are memory-mapped but the "BM-DMA at" format corresponds to I/O mapped registers; - "%p" format specifiers and type casts used to print non-pointer values; - using KERN_INFO log level for the error message; - 'hwif->name' printed as drive's name. While at it, also: - return more fitting -EBUSY if request_mem_region() fails; - make the error message style consistent; - fix indentation, put the printk() facility and message on the same line; - use comparisions with NULL instead of ! operator.. Signed-off-by: Sergei Shtylyov Cc: jeremy@sgi.com Signed-off-by: Bartlomiej Zolnierkiewicz commit aa95f0e76571dc1b067d2839c11f2e5589d063d7 Author: Sergei Shtylylov Date: Mon Oct 13 21:39:29 2008 +0200 sgiioc4: sgiioc4_read_status drive busy check fix Fix the drive non-busy criterion used by sgiioc4_read_status(): neither of the bits it expects to be set guarantees that the drive is not busy (and might be interrupting), only the BSY bit itself being zero gurantees that. While at it, use ATA_BUSY instead of hardcoded value everywhere... Signed-off-by: Sergei Shtylyov Cc: jeremy@sgi.com Signed-off-by: Bartlomiej Zolnierkiewicz commit 4501a466f28788485604ee42641d7a5fe7258d16 Author: Randy Dunlap Date: Mon Oct 13 09:24:58 2008 -0700 MAINTAINERS: move F: line so that it does not break S: line info Move F: line so that it doesn't break the S: line and its explanations. Signed-off-by: Randy Dunlap Reported-by: Jianjun Kong Signed-off-by: Linus Torvalds commit a447c0932445f92ce6f4c1bd020f62c5097a7842 Author: Steven Whitehouse Date: Mon Oct 13 10:46:57 2008 +0100 vfs: Use const for kernel parser table This is a much better version of a previous patch to make the parser tables constant. Rather than changing the typedef, we put the "const" in all the various places where its required, allowing the __initconst exception for nfsroot which was the cause of the previous trouble. This was posted for review some time ago and I believe its been in -mm since then. Signed-off-by: Steven Whitehouse Cc: Alexander Viro Signed-off-by: Linus Torvalds commit 54cebc68c81eacac41a21bdfe99dc889d3882c60 Merge: fffdede... 71de1f8... Author: Linus Torvalds Date: Mon Oct 13 10:08:43 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: (60 commits) Blackfin arch: make sure we include the fix for SPORT hysteresis when reprogramming clocks Blackfin arch: Fix bogus str_ident check in gpio code Blackfin arch: AD7879 Touchscreen driver Blackfin arch: introducing bfin_addr_dcachable Blackfin arch: fix a typo in comments Blackfin arch: Remove useless head file Blackfin arch: make sure L2 start and length are always defined (fixes building on BF542) Blackfin arch: use the Blackfin on-chip ROM to do software reset when possible Blackfin arch: update anomaly headers to match the latest sheet Blackfin arch: bfin_reset() is an internal reboot function ... everyone should go through machine_restart() Blackfin arch: print out error/warning if you are running on the incorrect CPU type Blackfin arch: remove non-bf54x ifdef logic since this file is only compiled on bf54x parts Blackfin arch: update board defconfigs Blackfin arch: Add optional verbose debug Blackfin arch: emulate a TTY over the EMUDAT/JTAG interface Blackfin arch: have is_user_addr_valid() check for overflows (like when address is -1) Blackfin arch: ptrace - fix off-by-one check on end of memory regions Blackfin arch: Enable framebuffer support for the BF526-EZkit TFT LCD display Blackfin arch: flash memory map and dm9000 resources updating Blackfin arch: early prink code still use uart core console functions to parse and set configure option string ... commit fffdedef691a0f6fa7ca1fc0a2a508cbb49def69 Merge: 5723ff9... bf94e17... Author: Linus Torvalds Date: Mon Oct 13 10:08:08 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: net/mac80211/rx.c: fix build error acpi: Make ACPI_TOSHIBA depend on INPUT. net/bfin_mac.c MDIO namespace fixes jme: remove unused #include netfilter: remove unused #include net: Fix off-by-one in skb_dma_map smc911x: Add support for LAN921{5,7,8} chips from SMSC qlge: remove duplicated #include wireless: remove duplicated #include net/au1000_eth.c MDIO namespace fixes net/tc35815.c: fix compilation sky2: Fix WOL regression r8169: NULL pointer dereference on r8169 load commit 5723ff931a94acf0738df42604ee89f852e151b0 Merge: be3bfbb... 615c913... Author: Linus Torvalds Date: Mon Oct 13 10:07:53 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: chmc: Mark %ver register inline asm with __volatile__ sparc64: Add missing notify_cpu_starting() call. sparc32: fix build errors commit be3bfbba8f7f6c8f32e8444ef895433701a3f801 Merge: 20272c8... 7dc8507... Author: Linus Torvalds Date: Mon Oct 13 10:06: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: (33 commits) ALSA: ASoC codec: remove unused #include ALSA: ASoC: update email address for Liam Girdwood ALSA: hda: corrected invalid mixer values ALSA: hda: add mixers for analog mixer on 92hd75xx codecs ALSA: ASoC: Add destination and source port for DMA on OMAP1 ALSA: ASoC: Drop device registration from GTA01 lm4857 driver ALSA: ASoC: Fix build of GTA01 audio driver ALSA: ASoC: Add widgets before setting endpoints on GTA01 ALSA: ASoC: Fix inverted input PGA mute bits in WM8903 ALSA: ASoC: OMAP: Set DMA stream name at runtime in McBSP DAI driver ALSA: ASoC: OMAP: Add support for OMAP2430 and OMAP34xx in McBSP DAI driver ALSA: ASoC: OMAP: Add multilink support to McBSP DAI driver ALSA: ASoC: Make TLV320AIC26 user-visible ALSA: ASoC - clean up Kconfig for TLV320AIC2 ALSA: ASoC: Make WM8510 microphone input a DAPM mixer ALSA: ASoC: Implement WM8510 bias level control ALSA: ASoC: Remove unused AUDIO_NAME define from codec drivers ALSA: ASoC: tlv320aic3x: Use uniform tlv320aic naming ALSA: ASoC: Add WM8510 SPI support ALSA: ASoC: Add WM8753 SPI support ... commit 20272c8994cf1e1f8ed745a2ea161dd9ad3889f2 Merge: 8d71ff0... 3bbfe05... Author: Linus Torvalds Date: Mon Oct 13 10:04:04 2008 -0700 Merge branch 'proc' of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/proc * 'proc' of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/proc: proc: remove kernel.maps_protect proc: remove now unneeded ADDBUF macro [PATCH] proc: show personality via /proc/pid/personality [PATCH] signal, procfs: some lock_task_sighand() users do not need rcu_read_lock() proc: move PROC_PAGE_MONITOR to fs/proc/Kconfig proc: make grab_header() static proc: remove unused get_dma_list() proc: remove dummy vmcore_open() proc: proc_sys_root tweak proc: fix return value of proc_reg_open() in "too late" case Fixed up trivial conflict in removed file arch/sparc/include/asm/dma_32.h commit 8d71ff0bef9cf4e70108a9a2762f2361e607abde Merge: 244dc4e... 9256292... Author: Linus Torvalds Date: Mon Oct 13 10:00:44 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (24 commits) integrity: special fs magic As pointed out by Jonathan Corbet, the timer must be deleted before ERROR: code indent should use tabs where possible The tpm_dev_release function is only called for platform devices, not pnp Protect tpm_chip_list when transversing it. Renames num_open to is_open, as only one process can open the file at a time. Remove the BKL calls from the TPM driver, which were added in the overall netlabel: Add configuration support for local labeling cipso: Add support for native local labeling and fixup mapping names netlabel: Changes to the NetLabel security attributes to allow LSMs to pass full contexts selinux: Cache NetLabel secattrs in the socket's security struct selinux: Set socket NetLabel based on connection endpoint netlabel: Add functionality to set the security attributes of a packet netlabel: Add network address selectors to the NetLabel/LSM domain mapping netlabel: Add a generic way to create ordered linked lists of network addrs netlabel: Replace protocol/NetLabel linking with refrerence counts smack: Fix missing calls to netlbl_skbuff_err() selinux: Fix missing calls to netlbl_skbuff_err() selinux: Fix a problem in security_netlbl_sid_to_secattr() selinux: Better local/forward check in selinux_ip_postroute() ... commit 244dc4e54b73567fae7f8fd9ba56584be9375442 Merge: e7f2f99... e758936... Author: Linus Torvalds Date: Mon Oct 13 09:59:14 2008 -0700 Merge git://git.infradead.org/users/dwmw2/random-2.6 * git://git.infradead.org/users/dwmw2/random-2.6: Fix autoloading of MacBook Pro backlight driver. Automatic MODULE_ALIAS() for DMI match tables. Remove asm/a.out.h files for all architectures without a.out support. Introduce HAVE_AOUT symbol to remove hard-coded arch list for BINFMT_AOUT Remove redundant CONFIG_ARCH_SUPPORTS_AOUT S390: Update comments about why we don't use SPARC: Use PowerPC: Use PARISC: Use x86_64: Use IA64: Use ARM: Use Make suitable for 64-bit platforms. Define and use PCI_DEVICE_ID_MARVELL_88ALP01_CCIC for CAFÉ camera driver [MTD] [NAND] Define and use PCI_DEVICE_ID_MARVELL_88ALP01_NAND for CAFÉ Use PCI_DEVICE_ID_88ALP01 for CAFÉ chip, rather than PCI_DEVICE_ID_CAFE. EFS: Don't set f_fsid in statfs(). commit e7f2f9918c0e97aa98ba147ca387e2c7238f0711 Merge: 11a96d1... c00193f... Author: Linus Torvalds Date: Mon Oct 13 09:54:35 2008 -0700 Merge phase #5 (misc) of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip Merges oprofile, timers/hpet, x86/traps, x86/time, and x86/core misc items. * 'x86-core-v4-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (132 commits) x86: change early_ioremap to use slots instead of nesting x86: adjust dependencies for CONFIG_X86_CMOV dumpstack: x86: various small unification steps, fix x86: remove additional_cpus x86: remove additional_cpus configurability x86: improve UP kernel when CPU-hotplug and SMP is enabled dumpstack: x86: various small unification steps dumpstack: i386: make kstack= an early boot-param and add oops=panic dumpstack: x86: use log_lvl and unify trace formatting dumptrace: x86: consistently include loglevel, print stack switch dumpstack: x86: add "end" parameter to valid_stack_ptr and print_context_stack dumpstack: x86: make printk_address equal dumpstack: x86: move die_nmi to dumpstack_32.c traps: x86: finalize unification of traps.c traps: x86: make traps_32.c and traps_64.c equal traps: x86: various noop-changes preparing for unification of traps_xx.c traps: x86_64: use task_pid_nr(tsk) instead of tsk->pid in do_general_protection traps: i386: expand clear_mem_error and remove from mach_traps.h traps: x86_64: make io_check_error equal to the one on i386 traps: i386: use preempt_conditional_sti/cli in do_int3 ... commit 11a96d1820113fde0d55c3487b7da7a9031326b8 Author: Alan Cox Date: Mon Oct 13 10:46:24 2008 +0100 tty: rename the remaining oddly named n_tty functions Original idea for this from a patch by Rodolfo Giometti which merges various bits of PPS support Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit a18992d4652553f65469ac72b54b7fdd4f058277 Author: Alan Cox Date: Mon Oct 13 10:46:09 2008 +0100 fs3270: Correct error returns Drop the kernel lock further and also correct cases where we set rc to an error code, and then return 0 Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit a90610e50b98e18385d4fbea2c9eaefb12c5a75c Author: Alan Cox Date: Mon Oct 13 10:45:52 2008 +0100 fs3270: remove extra locks get_current_tty now does internal locking and returns a referenced object, thus our use of tty_mutex here can go away. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 402fda9201ac619ea1f120996b1a142c57aeeb6b Author: Jason Wessel Date: Mon Oct 13 10:45:36 2008 +0100 tty: tty_io.c shadows sparse fix drivers/char/tty_io.c:1413:17: warning: symbol 'buf' shadows an earlier one drivers/char/tty_io.c:1379:20: originally declared here Signed-off-by: Jason Wessel Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 8440838bc5337243917f13bc14ea2445da5e0197 Author: David S. Miller Date: Mon Oct 13 10:45:26 2008 +0100 serial: fix device name reporting when minor space is shared between drivers The multiple drivers share the minor space occupied by a particular major number, the actual index within the device name's space is indicated by the tty_driver->name_base + uart_port->line Another usable formula is (uart_driver->minor - MINOR_BASE) + port->line Use those to print the device names properly in such situations in serial_core.c and 8250.c Signed-off-by: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit a7be18d436f0c7007794965e5af29fa1ffff1e05 Author: Alan Cox Date: Mon Oct 13 10:45:17 2008 +0100 applicom: Fix an unchecked user ioctl range and an error return Closes bug #11408 by checking the card index range for command 0 Fixes the ioctl to return ENOTTY which is correct for unknown ioctls Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 17b820606e7bdd3be31b001265d0177423fea5eb Author: Alan Cox Date: Mon Oct 13 10:45:06 2008 +0100 tty: Minor tidyups and document fixes for n_tty Remove/fix some bogus NULL checks, comment some locking etc Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 51383f69ec56fe3f425d5255fb43e18c445e061c Author: Alan Cox Date: Mon Oct 13 10:44:57 2008 +0100 tty: Remove lots of NULL checks Many tty drivers contain 'can't happen' checks against NULL pointers passed in by the tty layer. These have never been possible to occur. Even more importantly if they ever do occur we want to know as it would be a serious bug. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit ea1afd256258f04a290aaa7fd5c2d4deb2e79e26 Author: Alan Cox Date: Mon Oct 13 10:44:43 2008 +0100 tty: fix up gigaset a bit Stephen's fixes reminded me that gigaset is still rather broken so fix it up a bit Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 53e86317e967b9a1b1b78d6a076547144454bce1 Author: Stephen Rothwell Date: Mon Oct 13 10:44:33 2008 +0100 tty: Fallout from tty-move-canon-specials Today's linux-next build (x86_64 allmodconfig) failed like this: /drivers/char/tty_ioctl.c: In function 'change_termios': drivers/isdn/capi/capi.c:1234: error: implicit declaration of function 'n_tty_ioctl' drivers/isdn/gigaset/ser-gigaset.c: In function 'gigaset_tty_ioctl': drivers/isdn/gigaset/ser-gigaset.c:648: error: implicit declaration of function 'n_tty_ioctl' Introduced by commit 686b5e4aea05a80e370dc931b7f4a8d03c80da54 ("tty-move-canon-specials"). I added the following patch (which may not be correct). Signed-off-by: Stephen Rothwell Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 47afa7a5a8a8fb9e60cdb6a3bd612e07c37e9d90 Author: Alan Cox Date: Mon Oct 13 10:44:17 2008 +0100 tty: some ICANON magic is in the wrong places Move the set up on ldisc change into the ldisc Move the INQ/OUTQ cases into the driver not in shared ioctl code where it gives bogus answers for other ldisc values Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit fe6e29fdb1a7b94891bbdd3c67358fe4ed14639d Author: Alan Cox Date: Mon Oct 13 10:44:08 2008 +0100 tty: simplify ktermios allocation Copy the simplification from the pty unix98 special case to the generic one. This allows us to kill off driver->termios_locked entirely which is nice. We have to whack bits of the cris driver as it meddles in places it shouldn't providing its own arrays that were never used anyway. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 8dff04ea316125639120c0a565ce0346b892fef7 Author: Alan Cox Date: Mon Oct 13 10:43:58 2008 +0100 pty: simplify unix98 allocation We need both termios and termios_locked so allocate them as one Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 335adde689150d2fcf4df3cb26a6fc6740ed1f3e Author: Alan Cox Date: Mon Oct 13 10:43:48 2008 +0100 pty: Fix allocation failure double free The updating and moving around of the pty code added a bug where both the helper and caller free the main tty struct (the pty driver must free the o_tty pair itself however). Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit fe9cd962a62cb5f666cf48b9941d3f3cde134254 Author: Alan Cox Date: Mon Oct 13 10:43:38 2008 +0100 pty: Coding style and polish We've done the heavy lifting now its time to mop up a bit Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit a6f37daa8b892fd29dd71be0de61460a478cb122 Author: Sukadev Bhattiprolu Date: Mon Oct 13 10:43:27 2008 +0100 Simplify devpts_pty_kill When creating a new pty, save the pty's inode in the tty->driver_data. Use this inode in pty_kill() to identify the devpts instance. Since we now have the inode for the pty, we can skip get_node() lookup and remove the unused get_node(). TODO: - check if the mutex_lock is needed in pty_kill(). Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 89a52e109e2e2fe8bbd4e316cdb910774519c029 Author: Sukadev Bhattiprolu Date: Mon Oct 13 10:43:18 2008 +0100 Simplify devpts_pty_new() devpts_pty_new() is called when setting up a new pty and would not will not have an existing dentry or inode for the pty. So don't bother looking for an existing dentry - just create a new one. Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 527b3e4773628b30d03323a2cb5fb0d84441990f Author: Sukadev Bhattiprolu Date: Mon Oct 13 10:43:08 2008 +0100 Simplify devpts_get_tty() As pointed out by H. Peter Anvin, since the inode for the pty is known, we don't need to look it up. Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 15f1a6338ddd4e69fff965d4b3a0e1bfb7a13d9c Author: Sukadev Bhattiprolu Date: Mon Oct 13 10:42:59 2008 +0100 Add an instance parameter devpts interfaces Pass-in 'inode' or 'tty' parameter to devpts interfaces. With multiple devpts instances, these parameters will be used in subsequent patches to identify the instance of devpts mounted. The parameters also help simplify devpts implementation. Changelog[v3]: - minor changes due to merge with ttydev updates - rename parameters to emphasize they are ptmx or pts inodes - pass-in tty_struct * to devpts_pty_kill() (this will help cleanup the get_node() call in a subsequent patch) Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 4a2b5fddd53b80efcb3266ee36e23b8de28e761a Author: Sukadev Bhattiprolu Date: Mon Oct 13 10:42:49 2008 +0100 Move tty lookup/reopen to caller Move tty_driver_lookup_tty() and tty_reopen() from tty_init_dev() into tty_open() (one of the two callers of tty_init_dev()). These calls are not really required in ptmx_open(), the other caller, since ptmx_open() would be setting up a new tty. Changelog[v2]: - remove the lookup and reopen calls from ptmx_open - merge with recent changes to ttydev tree Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit bf970ee46e0fb363c8df4393229121d54330a98e Author: Alan Cox Date: Mon Oct 13 10:42:39 2008 +0100 tty: extract the pty init time special cases The majority of the remaining init_dev code is pty special cases. We refactor this code into the driver->install method. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 73ec06fc5f5c8e1097a7a4a4ab2d7c6c3a007e81 Author: Alan Cox Date: Mon Oct 13 10:42:29 2008 +0100 tty: Finish fixing up the init_dev interface to use ERR_PTR Original suggestion and proposal from Sukadev Bhattiprolu. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 8b0a88d5912ab549d5adac2c8498ecdaae5319a5 Author: Alan Cox Date: Mon Oct 13 10:42:19 2008 +0100 tty: More driver operations We have the lookup operation abstracted which is nice for pty cleanup but we really want to abstract the add/remove entries as well so that we can pull the pty code out of the tty core and create a clear defined interface for the tty driver table. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 7d7b93c1452f381350dbaf276a63357fa6559e6d Author: Alan Cox Date: Mon Oct 13 10:42:09 2008 +0100 tty: kref the tty driver object Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 99f1fe189daf8e99a847e420567e49dd7ee2aae7 Author: Alan Cox Date: Mon Oct 13 10:42:00 2008 +0100 tty: Clean up the tty_init_dev changes further Fix up the naming, style and extract some bits of code into the driver specific code Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 23499705753ab8b4c6b0b64e6c424a370bd900a1 Author: Sukadev Bhattiprolu Date: Mon Oct 13 10:41:51 2008 +0100 tty: Move parts of tty_init_dev into new functions Move the 'find-tty' and 'fast-track-open' parts of init_dev() to separate functions. Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit d81ed10307027e1643a65ab5fe17cc01233d376d Author: Alan Cox Date: Mon Oct 13 10:41:42 2008 +0100 tty: Remove more special casing and out of place code Carry on pushing code out of tty_io when it belongs to other drivers. I'm not 100% happy with some of this and it will be worth revisiting some of the exports later when the restructuring work is done. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit feebed6515a113eeb33919e9557a8b9710ea627c Author: Alan Cox Date: Mon Oct 13 10:41:30 2008 +0100 tty: shutdown method Right now there are various drivers that try to use tty->count to know when they get the final close. Aristeau Rozanski showed while debugging the vt sysfs race that this isn't entirely safe. Instead of driver side tricks to work around this introduce a shutdown which is called when the tty is being destructed. This also means that the shutdown method is tied into the refcounting. Use this to rework the console close/sysfs logic. Remove lots of special case code from the tty core code. The pty code can now have a shutdown() method that replaces the special case hackery in the tree free up paths. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit bf7a06bcce205705ea5c7675cbb8ea9239ea30a0 Author: Alan Cox Date: Mon Oct 13 10:41:16 2008 +0100 vt: remove bogus lock dropping For hysterical raisins the vt layer drops and retakes locks in the write method. This is a left over from the days when user/kernel data was passed directly to the tty not pre-buffered. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 15582d36a15978355d2168eaa018a3736db7281f Author: Alan Cox Date: Mon Oct 13 10:41:03 2008 +0100 pty: If the administrator creates a device for a ptmx slave we should not error The open path for ptmx slaves is via the ptmx device. Opening them any other way is not allowed. Vegard Nossum found that previously this was not the case and mknod foo c 128 42; cat foo would produce nasty diagnostics Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit dbda4c0b97b18fd59b3964548361b4f92357f730 Author: Alan Cox Date: Mon Oct 13 10:40:53 2008 +0100 tty: Fix abusers of current->sighand->tty Various people outside the tty layer still stick their noses in behind the scenes. We need to make sure they also obey the locking and referencing rules. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 934e6ebf96e8c1a0f299e64129fdaebc1132a427 Author: Alan Cox Date: Mon Oct 13 10:40:43 2008 +0100 tty: Redo current tty locking Currently it is sometimes locked by the tty mutex and sometimes by the sighand lock. The latter is in fact correct and now we can hand back referenced objects we can fix this up without problems around sleeping functions. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 2cb5998b5f0ccc886fdda3509059eef297b49577 Author: Alan Cox Date: Mon Oct 13 10:40:30 2008 +0100 tty: the vhangup syscall is racy We now have the infrastructure to sort this out but rather than teaching the syscall tty lock rules we move the hard work into a tty helper Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 216ba023a96c04e8d3aabf83d5931c35b6e2dbbb Author: Alan Cox Date: Mon Oct 13 10:40:19 2008 +0100 mxser: Switch to kref tty Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit d18a750fe9fa3b6cab882d51f99bba25bb0a006e Author: Alan Cox Date: Mon Oct 13 10:40:07 2008 +0100 stallion: Use krefs Use tty_port_init and krefs in the stallion drivers to protect us from devices going away underneath us. As with the other drives some rearranging is done to pass the tty structure down properly on the user side. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit d450b5a0196b6442cf3f29fc611d9c8daa56b559 Author: Alan Cox Date: Mon Oct 13 10:39:58 2008 +0100 tty: kref usage for isicom and moxa Rather than blindly keep taking krefs we reorder the code in a few places to pass the tty down to the right place (which is important as from the user side it is not the case that tty == port->tty in all situations). For the irq and related paths use the krefs to stop the tty being freed under us. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 4a90f09b20f4622dcbff1f0e1e6bae1704f8ad8c Author: Alan Cox Date: Mon Oct 13 10:39:46 2008 +0100 tty: usb-serial krefs Use kref in the USB serial drivers so that we don't free tty structures from under the URB receive handlers as has historically been the case if you were unlucky. This also gives us a framework for general tty drivers to use tty_port objects and refcount. Contains two err->dev_err changes merged together to fix clashes in the -next tree. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 95f9bfc6b76e862265a2d70ae061eec18fe14140 Author: Alan Cox Date: Mon Oct 13 10:39:23 2008 +0100 tty: Move tty_write_message out of kernel/printk This is pure tty code so put it in the tty layer where it can be with the locking relevant material it uses Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 452a00d2ee288f2cbc36f676edd06cb14d2878c1 Author: Alan Cox Date: Mon Oct 13 10:39:13 2008 +0100 tty: Make get_current_tty use a kref We now return a kref covered tty reference. That ensures the tty structure doesn't go away when you have a return from get_current_tty. This is not enough to protect you from most of the resources being freed behind your back - yet. [Updated to include fixes for SELinux problems found by Andrew Morton and an s390 leak found while debugging the former] Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit f4d2a6c2096b764decb20070b1bf4356de9144a8 Author: Alan Cox Date: Mon Oct 13 10:39:01 2008 +0100 tty: compare the tty winsize We always use the real tty one for stuff so the pty one should not be compared. As we propagate window changes to both it doesn't currently matter but will when we tidy up the pty termios logic a bit more Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 8f520021837d45c47d0ab57e7271f8d88bf7f3a4 Author: Alan Cox Date: Mon Oct 13 10:38:46 2008 +0100 tty: Termios locking - sort out real_tty confusions and lock reads This moves us towards sanity and should mean our termios locking is now complete and comprehensive. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 1d65b4a088de407e99714fdc27862449db04fb5c Author: Alan Cox Date: Mon Oct 13 10:38:18 2008 +0100 tty: Add termiox We need a way to describe the various additional modes and flow control features that random weird hardware shows up and software such as wine wants to emulate as Windows supports them. TCGETX/TCSETX and the termiox ioctl are a SYS5 extension that we might as well adopt. This patches adds the structures and the basic ioctl interfaces when the TCGETX etc defines are added for an architecture. Drivers wishing to use this stuff need to add new methods. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 5aaa70a80f5bbfcc4d6a1f844bdd1c5d6b445b5f Author: Alan Cox Date: Mon Oct 13 10:38:07 2008 +0100 tty: ipw need reworking This came in via another tree and unfortunately is rather broken on the tty side. Comment the apparent locking problems for someone who knows the driver to look at. Fix the termios and other ioctl handling. The driver was calling the wrong methods for what it wanted to do but the right ones existed so its a simple fix up. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit c26c56c0f40e200e61d1390629c806f6adaffbcc Author: Alan Cox Date: Mon Oct 13 10:37:48 2008 +0100 tty: Cris has a nice RS485 ioctl so we should steal it JP Tosoni observed: "About a RS485 ioctl: could you consider the attached files which are already in the Linux kernel (in include/asm-cris). They define a TIOCSERSETRS485 (ioctl.h), and the data structure (rs485.h) with allows to specify timings. Sounds just like what we want ?" and he's right: sort of. Rework the structure to use flag bits and make the time delay a fixed sized field so we don't get 32/64bit problems. Add the ioctls to x86 so that people know what to add to their platform of choice. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 6f967f7891076abc09e12ce952f85825e7ee8caf Author: Alan Cox Date: Mon Oct 13 10:37:36 2008 +0100 tty: use krefs to protect driver module counts The tty layer keeps driver module counts that are used so the driver knows when it can be unloaded. For obvious reasons we want to tie that to the refcounting properly. At this point the driver side itself isn't refcounted nicely but we can do that later and kref the drivers. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 9c9f4ded90a59eee84e15f5fd38c03d60184e112 Author: Alan Cox Date: Mon Oct 13 10:37:26 2008 +0100 tty: Add a kref count Introduce a kref to the tty structure and use it to protect the tty->signal tty references. For now we don't introduce it for anything else. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 348eb12e5598be97400c749d3d93a71856ae0b2b Author: Alan Cox Date: Mon Oct 13 10:37:17 2008 +0100 pps: Reserve a line discipline number for PPS Add a new line discipline for "pulse per second" devices connected to a serial port. Signed-off-by: Rodolfo Giometti Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 9e48565d217a8a96cc7577308ad41e9e4b806a62 Author: Alan Cox Date: Mon Oct 13 10:37:07 2008 +0100 tty: Split tty_port into its own file Not much in it yet but this will grow a lot Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit e04957365b21066285557e42ffe16d8330d46c02 Author: Alan Cox Date: Mon Oct 13 10:36:58 2008 +0100 tty: split the buffering from tty_io The two are basically independent chunks of code so lets split them up for readability and sanity. It also makes the API boundaries much clearer. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit c564b6fda961bd999aac0b709b79288dd8f426cd Author: Alan Cox Date: Mon Oct 13 10:36:49 2008 +0100 uml: small cleanups and note bugs to be dealt with by uml authors... Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit e6885107736a4dd23e7d3bc103fe6d043c63c4de Author: Alan Cox Date: Mon Oct 13 10:36:40 2008 +0100 tty: move tioclinux from a special case Right now we have ifdefs and hooks in the core ioctl handler for TIOCLINUX and then test if its a console. This is brain dead. Instead call the tioclinux helper from the relevant driver ioctl methods. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit b70ac7718579b5cbf3bdd74fd01132d1c91596f4 Author: David Miller Date: Mon Oct 13 10:36:31 2008 +0100 serial: allow 8250 to be used on sparc This requires three changes: 1) Remove !SPARC restriction in Kconfig. 2) Move Sparc specific serial drivers before 8250, so that serial console devices don't change names on us, even if 8250 finds devices. 3) Since the Sparc specific serial drivers try to use the same major/minor device namespace as 8250, some coordination is necessary. Use the sunserial_*() layer routines to allocate minor number space within TTY_MAJOR when CONFIG_SPARC. This has no effect on other platforms. Thanks to Josip Rodin for bringing up this issue and testing plus debugging various revisions of this patch. Signed-off-by: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit b5d674abcffeacaf83038bbf7c0caf24edd497dd Author: Will Newton Date: Mon Oct 13 10:36:21 2008 +0100 8250: remove a few inlines of dubious value Remove some inlines from various functions that are called once, are too big to inline, or are called only from slow path code. This saves around 300 bytes of code for me. Signed-off-by: Will Newton Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 40836c484c31301998a14be0439cc4e856399843 Author: Alan Cox Date: Mon Oct 13 10:36:11 2008 +0100 serial_8250: pci_enable_device fail is not fully handled talking about leaks - I noticed that the 'check return of pci_enable_dev()' in the 8250 pci resume function finally made it in despite my objections against it (causing stuff in higher levels to leak). Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 43b11d33f2c20c33fcf197780edb2e5d8a1b6a67 Author: Alan Cox Date: Mon Oct 13 10:36:00 2008 +0100 ftdi: A few errors are err() that should be debug which causes much spewage Fixes #10783 Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 4ad6de0b3f5d050b70e4c94a0cc8b26503f8cf28 Author: Jason Wessel Date: Mon Oct 13 10:35:51 2008 +0100 usb: fix pl2303 initialization This patch removes the private check for the termios_initialized for the pl2303 usb driver. It forced the baud to 9600 on the first call to pl2303_set_termios() Based on the tty changes in the 2.6.27 kernel, the termios passed to the *_set_termios functions is always populated the first time. This means there is no need to privately initialize the settings the first time, and doing so will not allow the use of the kernel parameter "console=ttyUSB0,115200" as an example. Signed-off-by: Jason Wessel Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 9bde10a4b8c54804236d3d6b4b75e98825a921e7 Author: Andrew Morton Date: Mon Oct 13 10:35:42 2008 +0100 serial-make-uart_ports-ioport-unsigned-long-fix Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 716da631ae91fc5e9f8d5815f8ef5fbfed862b80 Author: Alan Cox Date: Mon Oct 13 10:35:33 2008 +0100 nozomi: Fix close on error Nozomi assumes the close method isn't called if open errors. The tty layer is different to other drives in this respect however. Pointed out by Denis J Barrow. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 0c8946d97ae7d2d6691f8290a10faa63453b63f8 Author: David Miller Date: Mon Oct 13 10:35:23 2008 +0100 serial: Make uart_port's ioport "unsigned long". Otherwise the top 32-bits of the resource value get chopped off on 64-bit systems, and the resulting I/O accesses go to random places. Thanks to testing and debugging by Josip Rodin, which helped track this down. Signed-off-by: David S. Miller Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 7459b6ff36ab5e7d160980c3cb2be2f8cd194778 Author: Miloslav Trmac Date: Mon Oct 13 10:35:15 2008 +0100 audit: Handle embedded NUL in TTY input auditing Data read from a TTY can contain an embedded NUL byte (e.g. after pressing Ctrl-2, or sent to a PTY). After the previous patch, the data would be logged only up to the first NUL. This patch modifies the AUDIT_TTY record to always use the hexadecimal format, which does not terminate at the first NUL byte. The vast majority of recorded TTY input data will contain either ' ' or '\n', so the hexadecimal format would have been used anyway. Signed-off-by: Miloslav Trmac Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 9d020a2e5fd2c79f5b08a6cab2b02e7231d7cb84 Author: Akinobu Mita Date: Mon Oct 13 10:35:05 2008 +0100 ip2: avoid add_timer with pending timer add_timer() is not supposed to be called when the timer is pending. ip2 driver attempts to avoid that condition by setting and resetting a flag (TimerOn) in timer function. But there is some gap between add_timer() and setting TimerOn. This patch fix this problem by using mod_timer() and remove TimerOn which has been unnecessary by this change. Signed-off-by: Akinobu Mita Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit f1ddfd950221cca4d7ba753a71bc4b8930a42a43 Author: Jiri Slaby Date: Mon Oct 13 10:34:56 2008 +0100 ip2: init/deinit cleanup Cleanup of module_init/exit: - mostly whitespace - remove empty functions - replace c++ comments - remove useless prints (module loaded, unloaded) - mark the calls as __exit and __init - use break; and return; to save some indent levels after it - note resource leakage It's still mess, but now it's readable. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 7ccd7020ef188b62781fe2f0a68131aa066d59a5 Author: Jiri Slaby Date: Mon Oct 13 10:34:45 2008 +0100 ip2: fix sparse warnings Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit cf176bc30289f1e3ed858bc7630766cbd7d68a86 Author: Jiri Slaby Date: Mon Oct 13 10:34:36 2008 +0100 ip2: cleanup globals - do not init .bss zeroed data to zero again (by memset or explicit assignment) - use char [] instead of char * for string constants Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 47babd4c6a16915aeb15d4216d91f03910572982 Author: Jiri Slaby Date: Mon Oct 13 10:34:27 2008 +0100 Char: merge ip2main and ip2base It's pretty useless to have one setup() function separated along with module_init() which only calls a function from ip2main anyway. Get rid of ip2base. Remove also checks of always-true now. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 1361b7d3592b006574fb3cfeb21a02d520cca315 Author: Jiri Slaby Date: Mon Oct 13 10:34:18 2008 +0100 Char: sx, fix io unmapping board->base is increased for CF cards after mapping. Use board->base2 for unmapping the region, since it holds the original/correct address. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 24e6fd4cdc841176ca3713fddc9a02bd128b1191 Author: Jiri Slaby Date: Mon Oct 13 10:34:09 2008 +0100 Char: cyclades. remove bogus iomap readl/writel are not expected to accept iomap return value. Replace bogus mapping by standard ioremap. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 7aef709bf6f7a0886ee044960a7a86ea76dc6e2b Author: Scott Ashcroft Date: Mon Oct 13 10:34:00 2008 +0100 Fix oti6858 debug level For some reason the oti6858 driver undefines and redefines the dbg macro. This makes it spew debugging messages at KERN_INFO instead of KERN_DEBUG. This patch removes the undef and define making the driver log like every other USB serial driver. Signed-off-by: Scott Ashcroft Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit ab2375f2fe256358a982e357d298801cf1adbd00 Author: Sonic Zhang Date: Mon Oct 13 10:33:51 2008 +0100 Blackfin Serial Driver: Fix bug - request UART2/3 peripheral mapped interrupts in PIO mode Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit b3ef5aba64aed5be0fccca3ff39c8f2282111ce5 Author: Graf Yang Date: Mon Oct 13 10:33:42 2008 +0100 Blackfin Serial Driver: Fix bug - ircp fails on sir over Blackfin UART We now use the sir_dev/irtty_sir/uart/bfin_serial drivers framework to monitor the TX status. Signed-off-by: Graf Yang Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 5ffdeea2f99ed9d46bf954c9fdc64da7da57e81b Author: Sonic Zhang Date: Mon Oct 13 10:33:33 2008 +0100 Blackfin Serial Driver: Fix bug - Don't call tx_stop in tx_transfer. Disable irq and return immediately. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 08668ab7c2ca9bed281eb6763e5a8e15384b7fdc Author: Sonic Zhang Date: Mon Oct 13 10:33:25 2008 +0100 Blackfin Serial Driver: Remove useless stop Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit c9607ecc6ee50445e4d6bd3165f372a0f20f91ce Author: Mike Frysinger Date: Mon Oct 13 10:33:16 2008 +0100 Blackfin Serial Driver: move common variables out of serial headers and into the serial driver move common variables out of serial headers and into the serial driver and rename "nr_ports" to "nr_active_ports" so as to easily differentiate between BFIN_UART_NR_PORTS (the # of available) and nr_ports (the # of enabled) Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit d273e201717af57ae56299ef1e6e2f7a1f812020 Author: Mike Frysinger Date: Mon Oct 13 10:33:06 2008 +0100 Blackfin Serial Driver: trim trailing whitespace -- no functional changes Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit ccfbc3e1c860cce62e0b1c6c291647ecfe9ef296 Author: Sonic Zhang Date: Mon Oct 13 10:32:44 2008 +0100 Blackfin Serial Driver: Fix bug - should suspend/resume/remove all uart ports. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit c111340002278c0425841b19477a1fd290a6f532 Author: Mike Frysinger Date: Mon Oct 13 10:32:35 2008 +0100 Blackfin Serial Driver: use __initdata for data, not __init Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 9ae7b08ad5c91baf9c223844bfd41ca9bc54917b Author: Alan Cox Date: Mon Oct 13 10:32:09 2008 +0100 epca: call tty_port_init Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 02f11f392434656f00fdcc8c51348d52bd39afe8 Author: Adrian Bunk Date: Mon Oct 13 10:31:59 2008 +0100 coldfire: scheduled SERIAL_COLDFIRE removal This patch contains the scheduled removal of the obsolete SERIAL_COLDFIRE driver. Signed-off-by: Adrian Bunk Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 2571cd6a8e07a13fd3ac77f5e2c5470966d6f9c9 Author: Julia Lawall Date: Mon Oct 13 10:31:49 2008 +0100 drivers/char/hvc_console.c: adjust call to put_tty_driver The call to put_tty_driver is out of place and is applied to the wrong argument. The function enclosing the patched code calls alloc_tty_driver and stores the result in drv. Subsequently, there are two occurrences of error handling code, one making a goto to put_tty and one making a goto to stop_thread. At the point of the first one the assignment hvc_driver = drv has not yet been executed, and from inspecting the rest of the file it seems that hvc_driver would be NULL. Thus the current call to put_tty_driver is useless, and one applied to drv is needed. The goto stop_thread is in the error handling code for a call to tty_register_driver, but the error cases in tty_register_driver do not free its argument, so it should be done here. Thus, I have moved the put_tty label after the stop_thread label, so that put_tty_driver is called in both cases. The semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; expression E,f; position p1,p2,p3; identifier l; statement S; @@ x = alloc_tty_driver@p1(...) ... if (x == NULL) S ... when != E = x when != put_tty_driver(x) goto@p2 l; ... when != E = x when != f(...,x,...) when any ( return \(0\|x\); | return@p3 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; p3 << r.p3; @@ print "%s: call on line %s not freed or saved before return on line %s via line %s" % (p1[0].file,p1[0].line,p3[0].line,p2[0].line) // Signed-off-by: Julia Lawall Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 41ca73229809eb3d173e316d11d3943d49924209 Author: Julia Lawall Date: Mon Oct 13 10:31:37 2008 +0100 drivers/serial/crisv10.c: add missing put_tty_driver alloc_tty_driver is called at the beginning of the function containing the lines of code shown in the patch. Thus, put_tty_driver is needed before returning in the error handling code. The semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @nr exists@ local idexpression x; expression E,f; position p1,p2,p3; identifier l; statement S; @@ x = alloc_tty_driver@p1(...) ... if (x == NULL) S ... when != E = x when != put_tty_driver(x) when != goto l; ( return \(0\|x\); | return@p3 ...; ) @script:python@ p1 << nr.p1; p3 << nr.p3; @@ print "%s: call on line %s not freed or saved before return on line %s" % (p1[0].file,p1[0].line,p3[0].line) // Signed-off-by: Julia Lawall Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit c0da99d5f7b0349cb11f970b3283c0d57beb5ec9 Author: Anton Vorontsov Date: Thu Oct 9 04:32:59 2008 +0400 powerpc: fix fsl_upm nand driver modular build The fsl_upm nand driver fails to build because fsl_lbc_lock isn't exported, the lock is needed by the inlined fsl_upm_run_pattern() function: ERROR: "fsl_lbc_lock" [drivers/mtd/nand/fsl_upm.ko] undefined! Dave Jones purposed to export the lock, but it is better to just uninline the fsl_upm_run_pattern(). When uninlined we also no longer need the exported fsl_lbc_regs, and both fsl_lbc_lock and fsl_lbc_regs could be marked static. While at it, also add some missing includes that we should have included explicitly. Reported-by: Dave Jones Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit e758936e02700ff88a0b08b722a3847b95283ef2 Merge: 239cfbd... 4480f15b... Author: David Woodhouse Date: Mon Oct 13 17:13:56 2008 +0100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: include/asm-x86/statfs.h commit 1fb25be1e74498d389e4de819a6d1b174d6ccb7c Author: Anton Vorontsov Date: Fri Oct 10 22:05:12 2008 +0400 powerpc/83xx: add NAND support for the MPC8360E-RDK boards The StMicro NAND chip (512Mbit, 64MB) is connected to the local bus, the first local bus' user-programmable machine is configured by the firmware to work with NAND chips. QE GPIO pin is used to poll the NAND's Ready-Not-Busy signal. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 3a1dfe6eefe483589c99c909202ffe1a20d589b5 Author: Ingo Molnar Date: Mon Oct 13 17:49:02 2008 +0200 x86/mm: unify init task OOM handling Linus noticed that the "again:" versus "survive:" OOM logic for the init task was arbitrarily different. The 64-bit codepath is the better one, because it correctly re-lookups the vma after having dropped the ->mmap_sem. Signed-off-by: Ingo Molnar Acked-by: Linus Torvalds commit 6675847ea42d5acfaa644ac24eb0d87df5769cd5 Author: Martyn Welch Date: Mon Oct 13 16:16:45 2008 +0100 powerpc: FPGA support for GE Fanuc SBC610 Support for the SBC610 VPX Single Board Computer from GE Fanuc (PowerPC MPC8641D). This patch adds support for the registers held in the devices main FPGA, exposing extra information about the revision of the board through cpuinfo. Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala commit d6c3db83c5567b3a4d8d0bf33dc5687abdf65274 Author: Anton Vorontsov Date: Tue Sep 23 18:13:00 2008 +0400 i2c: MPC8349E-mITX Power Management and GPIO expander driver On MPC8349E-mITX, MPC8315E-RDB and MPC837x-RDB boards there is a Freescale MC9S08QG8 (MCU) chip with the custom firmware pre-programmed. The chip is used to power-off the board by the software, and to control some GPIO pins. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 7de0c22bba1f6117c3447af2cdca9904303012da Author: Timur Tabi Date: Fri Oct 10 11:52:32 2008 -0500 powerpc: reserve two DMA channels for audio in MPC8610 HPCD device tree The Freescale Elo DMA driver binds to all DMA channels in the device tree that are compatible with "fsl,eloplus-dma-channel". This conflicts with the sound drivers for the MPC8610 HPCD. On this board, the SSI uses two DMA channels and therefore those channels are not available for general purpose use. We change the compatible properties for these channels "fsl,ssi-dma-channel". This works because the sound drivers don't actually check the compatible property when it grabs channels. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit b56c2768d28425783f895971854577f412ae486f Author: Timur Tabi Date: Fri Oct 10 11:52:31 2008 -0500 powerpc: document the "fsl,ssi-dma-channel" compatible property The "fsl,ssi-dma-channel" compatible property is used to specify a DMA channel on the Freescale Elo DMA controller that should be used exclusively by the Freescale SSI audio controller. When a property is marked as such, the Elo DMA driver will ignore it, and so it will be available for the sound drivers. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit dbe216319f4e4b23a37eeb623c8338fa59ac050e Author: Timur Tabi Date: Fri Oct 10 10:35:50 2008 -0500 powerpc: disable CHRP and PMAC support in various defconfigs Because CHRP and PMAC are by default enabled, several non-CHRP and non-PMAC PowerPC defconfigs will have these Kconfig options set erroneously. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit 7e7385ce4115830bf5e0b43d62087a94871b78de Author: Anton Vorontsov Date: Tue Sep 23 18:12:19 2008 +0400 OF: add fsl,mcu-mpc8349emitx to the exception list of/base.c matches on the first (most specific) entries, which isn't quite practical but it was discussed[1] that this won't change. The bindings specifies verbose information for the devices, but it doesn't fit in the I2C ID's 20 characters limit. The limit won't change[2], and the bindings won't change either as they're correct. So we have to put an exception for the MPC8349E-mITX-compatible MCUs. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 8b77aeb4f52fca39e647159d87da3566f64ce30a Author: Anton Vorontsov Date: Wed Oct 8 22:16:05 2008 +0400 powerpc/83xx: add DS1374 RTC support for the MPC837xE-MDS boards The RTC is sitting on the I2C1 bus at address 0x68. RTC interrupt signal is connected to the IPIC's EXT3 interrupt line. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 43c9f434922ff834a6589709714f83a78c399bc1 Author: Timur Tabi Date: Tue Sep 23 09:47:01 2008 -0500 powerpc: remove support for bootmem-allocated memory for the DIU driver Early versions of the Freescale DIU framebuffer driver depended on a bootmem allocation of memory for the video buffer. The need for this feature was removed in commit 6b51d51a, so now we can remove the platform-specific code that allocated that memory. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit 9bd54d185ab6c73f0cbd97b9f048394a3462193b Author: Milton Miller Date: Fri Oct 10 06:56:52 2008 -0500 powerpc: remove non-dependent load fsl_booke PTE_64BIT b38fd42ff46a4a31dced8533e8a6e549693500b6 added false dependencys to order the load of upper and lower halfs of the pte, but only adjusted whitespace instead of deleting the old load in the iside handler, letting the hardware see the non-dependent load. This patch removes the extra load. Signed-off-by: Milton Miller Signed-off-by: Kumar Gala commit 35225802e2e7019392fbff9227662d456eef4e24 Author: John Rigby Date: Tue Oct 7 15:13:18 2008 -0600 powerpc/5121: Add PCI support. Uses mpc83xx_add_bridge in fsl_pci.c Adds second register tuple to pci node register property as done for 83xx device trees in a previous patch. Signed-off-by: John Rigby Acked-by: Grant Likely Signed-off-by: Kumar Gala commit 5b70a097052fff3831d8b94541452e7c29426777 Author: John Rigby Date: Tue Oct 7 13:00:18 2008 -0600 powerpc: 83xx: pci: Remove need for get_immrbase from mpc83xx_add_bridge. Modify mpc83xx_add_bridge to get config space register base address from the device tree instead of immr + hardcoded offset. 83xx pci nodes have this change: register properties now contain two address length tuples: First is the pci bridge register base, this has always been there. Second is the config base, this is new. This is documented in dts-bindings/fsl/83xx-512x-pci.txt The changes accomplish these things: mpc83xx_add_bridge no longer needs to call get_immrbase it uses hard coded addresses if the second register value is missing Signed-off-by: John Rigby Signed-off-by: Kumar Gala commit 4a015c37409ead893b659c2f89f1aa1fdf512115 Author: John Rigby Date: Tue Oct 7 13:00:20 2008 -0600 powerpc/fsl: Hide MPC5121 pci bridge. The class of the MPC5121 pci host bridge is PCI_CLASS_BRIDGE_OTHER while other freescale host bridges have class set to PCI_CLASS_PROCESSOR_POWERPC. This patch makes fixup_hide_host_resource_fsl match PCI_CLASS_BRIDGE_OTHER in addition to PCI_CLASS_PROCESSOR_POWERPC. Signed-off-by: John Rigby Signed-off-by: Kumar Gala commit 62666828bae7057835d982367e98716a1bd0fd40 Author: Anton Vorontsov Date: Mon Oct 6 21:08:39 2008 +0400 powerpc/83xx: don't probe broken PCI on mpc837x_mds boards In the standalone setup the board's CPLD disables the PCI internal arbiter, thus any access to the PCI bus will hang the board. The common way to disable particular devices in the device tree is to put the "status" property with any value other than "ok" or "okay" into the device node we want to disable. So, when there is no PCI arbiter on the bus the u-boot adds status = "broken (no arbiter)" property into the PCI controller's node, and so marks the PCI controller as unavailable. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 5c091193e4a12e88930a0bb3ed3632c51e926a76 Author: Anton Vorontsov Date: Fri Oct 3 23:40:36 2008 +0400 powerpc/QE: move QE_GPIO Kconfig symbol into the platforms/Kconfig Specifying user-selectable option in the qe_lib/Kconfig was a bad idea because the qe_lib/Kconfig is included into the top level Kconfig, and thus the QE_GPIO option appears at the top level menu. This patch effectively moves the QE_GPIO option under the platform menu instead. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 4e330bcf6b323fcff0e3224c5db77cbcca83a878 Author: Timur Tabi Date: Fri Oct 3 11:14:10 2008 -0500 powerpc: make Freescale QE support a selectable Kconfig option Modify the Kconfig so that Freescale QUICC Engine (QE) support is a selectable option, thereby allowing users to compile kernels without any QE support. The drawback is that QE support is now disabled by default on platforms that have a QE, and so a defconfig is needed to enable QE and QE devices (like UCC GETH). Fortunately, all the current relevant defconfigs do that already. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit 3a470247913e6537c453937720b61f4ecc3e39db Author: Martyn Welch Date: Wed Oct 1 09:32:39 2008 +0100 powerpc: GE Fanuc's FPGA based PIC controller on the SBC610 Support for the SBC610 VPX Single Board Computer from GE Fanuc (PowerPC MPC8641D). A number of MPC8641D based route interrupts for on-board interrupts through a FPGA based interrupt controller, which is chained with the MPC8641D's mpic. This patch provides a basic driver to allow basic routing of interrupts to the mpic. Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala commit 92ae954046b1434c8c11468893ed27c7c06f2c21 Author: Kumar Gala Date: Thu Oct 2 03:58:08 2008 -0500 powerpc/85xx: Wire up RTC interrupt on MPC8536DS Add interrupt info to the MPC8536DS .dts for the RTC Signed-off-by: Kumar Gala commit 891cffbd6bcba26409869c19c07ecd4bfc0c2460 Author: Linus Torvalds Date: Sun Oct 12 13:16:12 2008 -0700 x86/mm: do not trigger a kernel warning if user-space disables interrupts and generates a page fault Arjan reported a spike in the following bug pattern in v2.6.27: http://www.kerneloops.org/searchweek.php?search=lock_page which happens because hwclock started triggering warnings due to a (correct) might_sleep() check in the MM code. The warning occurs because hwclock uses this dubious sequence of code to run "atomic" code: static unsigned long atomic(const char *name, unsigned long (*op)(unsigned long), unsigned long arg) { unsigned long v; __asm__ volatile ("cli"); v = (*op)(arg); __asm__ volatile ("sti"); return v; } Then it pagefaults in that "atomic" section, triggering the warning. There is no way the kernel could provide "atomicity" in this path, a page fault is a cannot-continue machine event so the kernel has to wait for the page to be filled in. Even if it was just a minor fault we'd have to take locks and might have to spend quite a bit of time with interrupts disabled - not nice to irq latencies in general. So instead just enable interrupts in the pagefault path unconditionally if we come from user-space, and handle the fault. Also, while touching this code, unify some trivial parts of the x86 VM paths at the same time. Signed-off-by: Linus Torvalds Reported-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit 239cfbde1f5843c4a24199f117d5f67f637d72d5 Author: David Woodhouse Date: Tue Sep 16 16:25:24 2008 -0700 Fix autoloading of MacBook Pro backlight driver. Use new MODULE_DEVICE_TABLE(dmi, ...) facility. There's no need for every driver to screw it up for themselves, when the alias can be generated automatically. Signed-off-by: David Woodhouse commit d945b697d0eea5a811ec299c5f1a25889bb0242b Author: David Woodhouse Date: Tue Sep 16 16:23:28 2008 -0700 Automatic MODULE_ALIAS() for DMI match tables. This makes modpost handle MODULE_DEVICE_TABLE(dmi, xxxx). I had to change the string pointers in the match table to char arrays, and picked a size of 79 bytes almost at random -- do we need to make it bigger than that? I was a bit concerned about the 'bloat' this introduces into the match tables, but they should all be __initdata so it shouldn't matter too much. (Actually, modpost does go through the relocations and look at most of them; it wouldn't be impossible to make it handle string pointers -- but doesn't seem to be worth the effort, since they're __initdata). Signed-off-by: David Woodhouse commit 57f51dbc45f65f7ee1e8c8f77200bb8000e3e271 Author: Oleg Roitburd Date: Wed Oct 8 06:48:08 2008 -0300 V4L/DVB (9186): Added support for Prof 7300 DVB-S/S2 cards Added support for Prof 7300 DVB-S/S2 card. The card based on cx24116 demodulator. Signed-off-by: Oleg Roitburd Signed-off-by: Steven Toth [mchehab@redhat.com: fixed CARDLIST.cx88 entry] Signed-off-by: Mauro Carvalho Chehab commit 4fa971811cda4036d84574bfb38bd9b22b5c35ec Author: David Howells Date: Mon Oct 13 10:42:44 2008 +0100 MN10300: MEI are renaming themselves to Panasonic MEI are renaming themselves to Panasonic, so update the MAINTAINERS record for the MN10300 arch. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit a52f68c648585ff615175269d8f6cbcbb08d7f4d Author: Darron Broad Date: Tue Oct 7 17:30:45 2008 -0300 V4L/DVB (9185): S2API: Ensure we have a reasonable ROLLOFF default Non-initialised cache values get a reasonble default. Signed-off-by: Darron Broad Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit b40d29e0afac38f4ce6cb1db400a60f36c5cabee Author: Steven Toth Date: Tue Oct 7 13:10:12 2008 -0300 V4L/DVB (9184): cx24116: Change the default SNR units back to percentage by default. cx24116: Change the default SNR units back to percentage by default. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 6068f5063850984fe6c2490bc8384a7afa2728dc Author: Steven Toth Date: Mon Oct 6 22:46:08 2008 -0300 V4L/DVB (9183): S2API: Return error of the caller provides 0 commands. S2API: Return error of the caller provides 0 commands. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit ef526f4246f566370218bb6e639f7549244ca5a2 Author: Steven Toth Date: Mon Oct 6 22:01:47 2008 -0300 V4L/DVB (9182): S2API: Added support for DTV_HIERARCHY A user tuning DVB-T via the S2API reports that this was not implemented, and his tuning was failing. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit b87625f0ccbbc67efba356e73502fa9bbb784b1c Author: Steven Toth Date: Mon Oct 6 21:56:59 2008 -0300 V4L/DVB (9181): S2API: Add support fot DTV_GUARD_INTERVAL and DTV_TRANSMISSION_MODE Tuning DVB-T via the S2API was failing, missing some essential items. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit a4de91be46b73ec6743b9d76155550e49507723c Author: Steven Toth Date: Mon Oct 6 21:55:46 2008 -0300 V4L/DVB (9180): S2API: Added support for DTV_CODE_RATE_HP/LP Reports from users that using the new API for tuning DTV was failing, and the cache was missing some essential items. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit cc7d705e7a2c28ae1bd8b2fd29524277262967ab Author: Brandon Philips Date: Mon Oct 6 21:31:48 2008 -0300 V4L/DVB (9179): S2API: frontend.h cleanup Reviewing the code briefly and saw this. You can't change more than DTV_IOCTL_MAX_MSGS at once, not 16. Signed-off-by: Brandon Philips Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 8953db793d5bdeea5ac92c9e97f57d3ff8a7dccf Author: Steven Toth Date: Mon Oct 6 21:20:21 2008 -0300 V4L/DVB (9178): cx24116: Add module parameter to return SNR as ESNO. I've retained the older percentage code after discussing this with Darron Broad, but made the ESNO option default. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 0a6393ae21d58e85882185ce1e6b0fe28ff2dfa6 Author: Steven Toth Date: Mon Oct 6 21:06:48 2008 -0300 V4L/DVB (9177): S2API: Change _8PSK / _16APSK to PSK_8 and APSK_16 ... and cleanup any drivers using them. I've also removed NBC_QPSK and modified the cx24116 driver to check the delivery_type also, removing some excess namespace baggage. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 8a4949b7e98cbb9e304416ecf6da978e1fb1fb9e Author: Igor M. Liplianin Date: Sun Oct 5 09:11:21 2008 -0300 V4L/DVB (9176): Add support for DvbWorld USB cards with STV0288 demodulator. Add support for DvbWorld USB cards with STV0288 demodulator. Those cards use Earda EDS-1547 tuner. Signed-off-by: Igor M. Liplianin Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit ceab2fe84987a9b2dbe6107f83ac99c98040abcc Author: Igor M. Liplianin Date: Sun Oct 5 08:57:11 2008 -0300 V4L/DVB (9175): Remove NULL pointer in stb6000 driver. Remove NULL pointer in stb6000 driver, as it raises error for DvbWorld USB card. Signed-off-by: Igor M. Liplianin Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit de9be0eaae2a23b1782ae0d271961b83abc6e200 Author: Igor M. Liplianin Date: Sun Oct 5 08:52:18 2008 -0300 V4L/DVB (9174): Allow custom inittab for ST STV0288 demodulator. Allow custom inittab for ST STV0288 demodulator, as it is needed for DvbWorld USB card. Signed-off-by: Igor M. Liplianin Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 82d7669dc3c0e795c24111fed88e9d5d70f209e0 Author: Steven Toth Date: Mon Oct 6 20:44:04 2008 -0300 V4L/DVB (9173): S2API: Remove the hardcoded command limit during validation This means that when developers add new commands then they'll be see the DTV_MAX_COMMAND define and will be more likely to modify it, without having to modify the command validation code. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit e5cefa82ce31b14574947e570d638a6d58225338 Author: Darron Broad Date: Fri Oct 3 11:53:18 2008 -0300 V4L/DVB (9172): S2API: Bugfix related to DVB-S / DVB-S2 tuning for the legacy API. Fixes switching from S2API to legacy where legacy params given to S2API aware demods are cached ones and not those implied in the legacy API. It was found (on an S2API aware demod at least) that after using an S2API aware application and then switching to a legacy application that prior S2API params were in effect were legacy has only implied values. This fixes this. Signed-off-by: Darron Broad Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 4aae8efb4908fa3f80dc1177d093443bc09adf5f Author: Darron Broad Date: Fri Oct 3 11:50:00 2008 -0300 V4L/DVB (9171): S2API: Stop an OOPS if illegal commands are dumped in S2API. Quick fix to stop an OOPS if illegal commands are dumped in S2API. Signed-off-by: Darron Broad Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 01a8f038c07c4119029c63f1ed1c6ac986665d48 Author: Darron Broad Date: Fri Oct 3 11:47:46 2008 -0300 V4L/DVB (9170): cx24116: Sanity checking to data input via S2API to the cx24116 demod. Add some sanity checking to data input via S2API to the cx24116 demod. This patch is valid for both s2-mfe and s2. It was found when testing KAFFEINE with S2API support that invalid modulation modes amongst other parameters were being delivered to the demod. In order to debug this sanity checking has been added. An example session would involve kaffeine setting QAM_AUTO when querying DVB-T, then later when trying to tune to DVB-S this cached value would be presented in error. Signed-off-by: Darron Broad Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit e254a30154c87cc862ba94332a47dad818a8e640 Author: Laurent Pinchart Date: Sun Sep 21 09:06:29 2008 -0300 V4L/DVB (9169): uvcvideo: Support two new Bison Electronics webcams. This adds required quirks for the Compaq Presario B1200 and Acer Travelmate 7720 integrated webcams. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 4aa02396f934b355a4002ea9bc524aa42d6b53d6 Author: Arun KS Date: Mon Oct 13 15:47:25 2008 +0530 ALSA: ASoC: Fix compile-time warning for tlv320aic23.c Fixes this warning: sound/soc/codecs/tlv320aic23.c: In function 'tlv320aic23_write': sound/soc/codecs/tlv320aic23.c:104: warning: passing argument 2 of 'codec->hw_write' makes pointer from integer without a cast Replaces i2c smbus write function with standard i2c write function Signed-off-by: Arun KS Signed-off-by: Takashi Iwai commit c00193f9f09f9b852249a66391985f585d066084 Merge: c1a2f4b... accba5f... f26ed11... Author: Ingo Molnar Date: Mon Oct 13 14:18:42 2008 +0200 Merge branches 'oprofile-v2' and 'timers/hpet' into x86/core-v4 commit ba340b40a5f65261731583f67d7ec8cafbf5cfaa Author: Brian Rogers Date: Mon Oct 13 08:37:06 2008 -0300 V4L/DVB (9168): Add support for MSI TV@nywhere Plus remote The IR controller has a couple quirks. It won't respond until some other device on the bus is probed. To work around that, probe 0x50 first. Then, since it won't respond to a zero-byte read, probe with a one-byte read. Signed-off-by: Brian Rogers [mchehab.redhat.com: Fix merge conflicts and remove an unused var] Signed-off-by: Mauro Carvalho Chehab commit fa405d7094489828014315a34f0c21fba30be38c Author: Huang Weiyi Date: Sun Oct 12 09:23:29 2008 -0300 V4L/DVB: v4l2-dev: remove duplicated #include Removed duplicated include "media/cx2341x.h" in drivers/media/video/cx23885/cx23885-417.c. Signed-off-by: Huang Weiyi Signed-off-by: Mauro Carvalho Chehab commit 2bd7ac55c31cb4f42e331d69dde9fc034a68944f Author: Ian Armstrong Date: Thu Oct 9 12:04:23 2008 -0300 V4L/DVB (9166): ivtv - Fix potential race condition in yuv handler Modified yuv register update handling to remove a potential race condition which could occur with the first video frame. Also removed a forced yuv position update, since changing the source video dimensions or interlace settings doesn't affect the frame already being displayed. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ec9faa1cfac1dd64a2a865dc7c577f3d483656bd Author: Ian Armstrong Date: Mon Oct 6 03:06:08 2008 -0300 V4L/DVB (9165): ivtv: V4L2_FBUF_FLAG_OVERLAY status fix When the framebuffer format was queried via VIDIOC_G_FBUF, V4L2_FBUF_FLAG_OVERLAY would only be correctly returned for certain screen depths. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 4ee0e42b31b282d0d0bb11effbbeb0610ee76d09 Author: Ian Armstrong Date: Mon Oct 6 03:03:18 2008 -0300 V4L/DVB (9164): ivtvfb: a small cosmetic change Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c777549fc9c5c704707394b0235a9a6794247b83 Author: Ian Armstrong Date: Sat Oct 4 10:28:24 2008 -0300 V4L/DVB (9163): ivtvfb: fix sparse warnings and improve write function Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a8b864354e060dda1000e62d1fea7c1274581caf Author: Hans Verkuil Date: Sat Oct 4 08:05:30 2008 -0300 V4L/DVB (9162): ivtv: fix raw/sliced VBI mixup The service_set field was used in saa7115 and cx25840 to determine whether raw or sliced VBI was desired. This is incorrect since it is perfectly valid to select sliced VBI with a service_set of 0. Instead these drivers should checked on VIDIOC_S_FMT whether the type field matches the raw or sliced VBI type. Updated ivtv accordingly. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 3c7b933bea2ee380d54b57b99dee42b1726a4eaa Author: Hans Verkuil Date: Fri Oct 3 11:42:07 2008 -0300 V4L/DVB (9160): v4l: remove vidioc_enum_fmt_vbi_cap Remove the vidioc_enum_fmt_vbi_cap ops: it was scheduled for removal in 2.6.28 since the v4l2 specification says that V4L2_BUF_TYPE_VBI_CAPTURE should not support VIDIOC_ENUM_FMT. It's also pretty pointless. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d4f59de43ee5dd632d4068b6486e45802e6e853d Author: Hans Verkuil Date: Tue Sep 30 03:14:02 2008 -0300 V4L/DVB (9159): saa5249: fix compile errors Add missing include. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 741e1f3b81c22c81f4ef401856cd22cad0bbd554 Author: Hans Verkuil Date: Mon Sep 8 16:59:02 2008 -0300 V4L/DVB (9157): cx18/ivtv: add 'PCI:' prefix to bus_info. Suggested by Martin Dauskardt. This is conform what the other drivers do. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit deffc6edacb74f080ca5918ef9c2cd30c2c9686e Author: Sonic Zhang Date: Mon Oct 13 17:42:12 2008 +0800 Blackfin arch: fix bug - some serial header files set RTS to an input when they should all be outputs Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 46510b56ca56a25ce973d6a6e8490c1109ff94ef Author: Thierry MERLE Date: Sat Oct 11 16:56:13 2008 -0300 V4L/DVB (9155): em28xx-dvb: dvb_init() code factorization In dvb_init(), case EM2880_BOARD_TERRATEC_HYBRID_XS: case EM2880_BOARD_KWORLD_DVB_310U: can be put in the same case than EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900 since they do the same thing. Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit b4be2048ce62d05d93608f82d5e986612ed4fdf7 Author: Alexey Klimov Date: Thu Oct 9 13:46:59 2008 -0300 V4L/DVB (9152): radio-zoltrix: Add checking for frequency This patch adds printk messages, adds checking if frequency is set, adds return -EINVAL in right places in zoltrix-radio. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 90b698dd47f3929f20746f828e2cd648bc6539dd Author: Alexey Klimov Date: Thu Oct 9 13:42:32 2008 -0300 V4L/DVB (9151): dsbr100: Add returns and fix codingstyle for vidioc_s_ctrl Added return -EBUSY and fixed codingstyle issue Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit adeeac3b7989ad9f03651e9224c9c63e221d4310 Author: Michael Krufky Date: Sat Apr 5 20:55:14 2008 -0300 V4L/DVB (9149): hvr950q: led feedback based on snr Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 641015ab2c452e8e554625e2a8e95218182acb4b Author: Herbert Graeber Date: Tue Oct 7 10:06:36 2008 -0300 V4L/DVB (9147): af9015: Add USB ID for MSI DIGIVOX mini III - Add USB ID for MSI DIGIVOX mini III (1462:8807) Signed-off-by: Herbert Graeber Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 541dfa87f9285b2ff7e703a5eab81ad821de7f6e Author: Antti Palosaari Date: Mon Oct 6 13:57:45 2008 -0300 V4L/DVB (9146): af901x: fix some compiler errors and warnings - cast firmware data to u8 - remove cpu_to_le16 from switch-case label Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit d4e80beae1eef31df5749516ecb36f0fb366daf1 Author: Antti Palosaari Date: Fri Sep 26 11:40:53 2008 -0300 V4L/DVB (9145): af901x: clean-up - remove unnecessary #undef's Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit a131077d57d0c52d0d481cb7c588752d0a211aa5 Author: Antti Palosaari Date: Mon Sep 22 13:59:25 2008 -0300 V4L/DVB (9144): af9015: enable Maxlinear mxl5005s tuner RSSI - enable Maxlinear mxl5005s tuner RSSI Thaks to Jose Alberto for finding this setting. Thanks-to: Jose Alberto Reguero Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 2dcd4e4766697f3d15284c48d2ef5192bf58131e Author: Antti Palosaari Date: Mon Sep 22 13:48:26 2008 -0300 V4L/DVB (9143): af9015: fix wrong GPIO - fix wrong GPIO that causes 2nd FE not to work ater warmboot Thanks to Andrew Williams for reporting this. Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 0f77c3a4880f33127bc8d593e0e466f004a4adde Author: Antti Palosaari Date: Mon Aug 11 10:54:16 2008 -0300 V4L/DVB (9141): anysee: support for Anysee E30 Combo Plus - add module parameter for selecting DVB-T / DVB-C mode Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit e613f8fa5432d4cacaf81615f62b6d25d77947c5 Author: Antti Palosaari Date: Mon Aug 11 10:36:43 2008 -0300 V4L/DVB (9140): anysee: unlock I2C-mutex in error case - unlock I2C-mutex also in error case Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit accba5f3965d6a9d1bf7c1e1a7995d17e9d521b6 Merge: 6852fd9... 4480f15b... Author: Ingo Molnar Date: Mon Oct 13 11:05:51 2008 +0200 Merge branch 'linus' into oprofile-v2 Conflicts: arch/x86/kernel/apic_32.c arch/x86/oprofile/nmi_int.c include/linux/pci_ids.h commit c1a2f4b10852ce68e70f7e4c53600c36cc63ea45 Author: Yinghai Lu Date: Sun Sep 14 02:33:12 2008 -0700 x86: change early_ioremap to use slots instead of nesting so we could remove the requirement that one needs to call early_iounmap() in exactly reverse order of early_ioremap(). Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 79aa10dd9fb0f896ce358314fdba20606c038864 Author: Jan Beulich Date: Fri Aug 29 12:50:38 2008 +0100 x86: adjust dependencies for CONFIG_X86_CMOV Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit 6a2ae2d9f9212de47c16e23080162aada882c8b6 Author: Alexander van Heukelum Date: Sun Oct 5 12:39:36 2008 +0200 dumpstack: x86: various small unification steps, fix After "dumpstack: x86: various small unification steps", the assembler gives the following compile error. The error is in dumpstack_64.c. {standard input}: Assembler messages: {standard input}:720: Error: Incorrect register `%rbx' used with `l' suffix {standard input}:1340: Error: Incorrect register `%r12' used with `l' suffix Indeed the suffix in get_bp() was wrong. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit cb48bb59995d2d14a0c732835c80bbcfb354de31 Author: Thomas Gleixner Date: Sun Oct 5 17:51:52 2008 +0200 x86: remove additional_cpus remove remainder of additional_cpus logic. We now just listen to the disabled_cpus value like we did for years. disabled_cpus is always >= 0 so no need for an extra check. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b807305059c28fb8197496c944bfaa6b372a40ad Author: Ingo Molnar Date: Sun Oct 5 17:12:36 2008 +0200 x86: remove additional_cpus configurability additional_cpus= parameter is dangerous and broken: for example if we boot additional_cpus=-2 on a stock dual-core system it will crash the box on bootup. So reduce the maze of code a bit by removingthe user-configurability angle. Signed-off-by: Ingo Molnar commit 649c6653fa94ec8f3ea32b19c97b790ec4e8e4ac Author: Thomas Gleixner Date: Sun Oct 5 16:52:24 2008 +0200 x86: improve UP kernel when CPU-hotplug and SMP is enabled num_possible_cpus() can be > 1 when disabled CPUs have been accounted. Disabled CPUs are not in the cpu_present_map, so we can use num_present_cpus() as a safe indicator to switch to UP alternatives. Reported-by: Chuck Ebbert Signed-off-by: Thomas Gleixner Cc: Signed-off-by: Ingo Molnar commit 8a541665b9063c5006b370d4488cf9f6beb6083f Author: Alexander van Heukelum Date: Sat Oct 4 23:12:46 2008 +0200 dumpstack: x86: various small unification steps - define STACKSLOTS_PER_LINE and use it - define get_bp macro to hide the %%ebp/%%rbp difference - i386: check task==NULL in dump_trace, like x86_64 - i386: show_trace(NULL, ...) uses current automatically - x86_64: use [#%d] for die_counter, like i386 - whitespace and comments Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 802a67de0cbd1ef10df80ad48b840e2103b13e52 Author: Alexander van Heukelum Date: Sat Oct 4 23:12:45 2008 +0200 dumpstack: i386: make kstack= an early boot-param and add oops=panic - make kstack= and early_param - add oops=panic, setting panic_on_oops Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit ca0a816403c53411bb6b6fb8bf60cef30695b09d Author: Alexander van Heukelum Date: Sat Oct 4 23:12:44 2008 +0200 dumpstack: x86: use log_lvl and unify trace formatting - x86: Write log_lvl strings if available - start raw stack dumps on new line - i386: Remove extra indentation for raw stack dumps Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 2ac53721f37c79acddaf60f6ff232f56b7abddba Author: Alexander van Heukelum Date: Sat Oct 4 23:12:43 2008 +0200 dumptrace: x86: consistently include loglevel, print stack switch - i386 and x86_64: always printk the 'data' parameter - i386: announce stack switch (irq -> normal) - i386: check if there is a stack switch before announcing it There is a warning that 'context' might come out corrupt in early boot. If this is true it should be fixed, not worked around. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 3a18512db00e0eedca86e3db4d2e81f8fe0b1774 Author: Alexander van Heukelum Date: Sat Oct 4 23:12:42 2008 +0200 dumpstack: x86: add "end" parameter to valid_stack_ptr and print_context_stack - Add "end" parameter to valid_stack_ptr and print_context_stack - use sizeof(long) as the size of a word on the stack Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 161827903bdc124655f4cd976b9f0a5ac6ebf21c Author: Alexander van Heukelum Date: Sat Oct 4 23:12:41 2008 +0200 dumpstack: x86: make printk_address equal - x86_64: use %p to print an address - make i386-version the same as the above The result should be the same on x86_64; on i386 the output only changes if CONFIG_KALLSYMS is turned off, in which case the address is printed twice. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit dd6e4eba1c03c9562fced21736453396c045f869 Author: Alexander van Heukelum Date: Sat Oct 4 23:12:40 2008 +0200 dumpstack: x86: move die_nmi to dumpstack_32.c For some reason die_nmi is still defined in traps.c for i386, but is found in dumpstack_64.c for x86_64. Move it to dumpstack_32.c Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 8728861b4fead8119a1b7bb856a387320859cd98 Author: Alexander van Heukelum Date: Fri Oct 3 22:00:40 2008 +0200 traps: x86: finalize unification of traps.c traps_32.c and traps_64.c are now equal. Move one to traps.c, delete the other one and change the Makefile Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 081f75bbdc86de53537e1b5aca01de72bd2fea6b Author: Alexander van Heukelum Date: Fri Oct 3 22:00:39 2008 +0200 traps: x86: make traps_32.c and traps_64.c equal Use CONFIG_X86_64/CONFIG_X86_32 to condtionally compile the parts needed for x86_64 or i386 only. Runs a small userspace for a number of minimal configurations and boots the defconfigs. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit c1d518c8422ff7d3f377958771b265753028579c Author: Alexander van Heukelum Date: Fri Oct 3 23:17:11 2008 +0200 traps: x86: various noop-changes preparing for unification of traps_xx.c - reordering include files - whitespace changes - comment changes - removed unused bad_intr() - make default_do_nmi static Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit a5ae2330a5a6e7948866715a845ad2e8900bd4c2 Author: Alexander van Heukelum Date: Fri Oct 3 22:00:37 2008 +0200 traps: x86_64: use task_pid_nr(tsk) instead of tsk->pid in do_general_protection Use task_pid_nr(tsk) instead of tsk->pid in do_general_protection. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 7970479c4881e156a0c07c1a7fdc564c8e3b2bfc Author: Alexander van Heukelum Date: Fri Oct 3 22:00:36 2008 +0200 traps: i386: expand clear_mem_error and remove from mach_traps.h This is the last user of clear_mem_error, which is defined only on i386. Expand the inline function and remove it from include/asm-x86/mach-default/mach_traps.h Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 1c9af8a9f448abfe13f17fa76b7ca72b588a1edb Author: Alexander van Heukelum Date: Fri Oct 3 22:00:35 2008 +0200 traps: x86_64: make io_check_error equal to the one on i386 Make io_check_error equal to the one on i386. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 4915a35e35a037254550a2ba9f367a812bc37d40 Author: Alexander van Heukelum Date: Fri Oct 3 22:00:34 2008 +0200 traps: i386: use preempt_conditional_sti/cli in do_int3 Use preempt_conditional_sti/cli in do_int3, like on x86_64. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 091d30c8f7744f43b0bb507fd30ceb95f9ff9e1b Author: Alexander van Heukelum Date: Fri Oct 3 23:16:12 2008 +0200 traps: x86_64: make math_state_restore more like i386 - rename variable me -> tsk - get thread and tsk like i386 - expand used_math() - copy comment Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 699d2937d45d9dabc1772d0d07501ccc43885c23 Author: Alexander van Heukelum Date: Fri Oct 3 22:00:32 2008 +0200 traps: x86: converge trap_init functions - set_system_gate on i386 is really set_system_trap_gate - set_system_gate on x86_64 is really set_system_intr_gate - ist=0 means no special stack switch is done: - introduce STACKFAULT_STACK, DOUBLEFAULT_STACK, NMI_STACK, DEBUG_STACK and MCE_STACK as on x86_64. - use the _ist variants with XXX_STACK set to zero - remove set_system_gate Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar traps: x86: correct copy/paste bug: a trap is a GATE_TRAP Fix copy/paste/forgot-to-edit bug in desc.h. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 3d2a71a596bd9c761c8487a2178e95f8a61da083 Author: Alexander van Heukelum Date: Tue Sep 30 18:41:37 2008 +0200 x86, traps: converge do_debug handlers Make the x86_64-version and the i386-version of do_debug more similar. - introduce preempt_conditional_sti/cli to i386. The preempt-count is now elevated during the trap handler, like on x86_64. It does not run on a separate stack, however. - replace an open-coded "send_sigtrap" - copy some comments Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit e407d62088b7f61f38e1086062650c75a4f2757a Author: Alexander van Heukelum Date: Tue Sep 30 18:41:36 2008 +0200 x86, traps: introduce dotraplinkage Mark the exception handlers with "dotraplinkage" to hide the calling convention differences between i386 and x86_64. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit ae82157b3d8bb4902f76b56c7450a945288786ac Author: Alexander van Heukelum Date: Tue Sep 30 18:41:35 2008 +0200 x86, traps, i386: factor out lazy io-bitmap copy x86_64 does not do the lazy io-bitmap dance. Putting it in its own function makes i386's do_general_protection look much more like x86_64's. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit a28680b4b821a262fd3b5e57a28c148b5f9e662a Author: Alexander van Heukelum Date: Tue Sep 30 18:41:34 2008 +0200 x86, traps: split out math_error and simd_math_error Split out math_error from do_coprocessor_error and simd_math_error from do_simd_coprocessor_error, like on i386. While at it, add the "error_code" parameter to do_coprocessor_error, do_simd_coprocessor_error and do_spurious_interrupt_bug. This does not change the generated code, but brings the declarations in line with all the other trap handlers. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 6fcbede3fdfbd83d8de97296286f5a9ff5a8f371 Author: Alexander van Heukelum Date: Tue Sep 30 13:12:15 2008 +0200 x86_64: split out dumpstack code from traps_64.c The dumpstack code is logically quite independent from the hardware traps. Split it out into its own file. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 2bc5f927d489f9e47b6fa71f323b653e8ec81782 Author: Alexander van Heukelum Date: Tue Sep 30 13:12:14 2008 +0200 i386: split out dumpstack code from traps_32.c The dumpstack code is logically quite independent from the hardware traps. Split it out into its own file. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit af5c2bd16ac2e5688c3bf46ea1f95112d696d294 Author: Vegard Nossum Date: Fri Oct 3 17:54:25 2008 +0200 x86: fix virt_addr_valid() with CONFIG_DEBUG_VIRTUAL=y, v2 virt_addr_valid() calls __pa(), which calls __phys_addr(). With CONFIG_DEBUG_VIRTUAL=y, __phys_addr() will kill the kernel if the address *isn't* valid. That's clearly wrong for virt_addr_valid(). We also incorporate the debugging checks into virt_addr_valid(). Signed-off-by: Vegard Nossum Acked-by: Jiri Slaby Signed-off-by: Ingo Molnar commit 7f2f49a58283110083a7358d2d98025a11653373 Author: Chuck Ebbert Date: Thu Oct 2 15:30:07 2008 -0400 x86: allow number of additional hotplug CPUs to be set at compile time, V2 x86: allow number of additional hotplug CPUs to be set at compile time, V2 The default number of additional CPU IDs for hotplugging is determined by asking ACPI or mptables how many "disabled" CPUs there are in the system, but many systems get this wrong so that e.g. a uniprocessor machine gets an extra CPU allocated and never switches to single CPU mode. And sometimes CPU hotplugging is enabled only for suspend/hibernate anyway, so the additional CPU IDs are not wanted. Allow the number to be set to zero at compile time. Also, force the number of extra CPUs to zero if hotplugging is disabled which allows removing some conditional code. Tested on uniprocessor x86_64 that ACPI claims has a disabled processor, with CPU hotplugging configured. ("After" has the number of additional CPUs set to 0) Before: NR_CPUS: 512, nr_cpu_ids: 2, nr_node_ids 1 After: NR_CPUS: 512, nr_cpu_ids: 1, nr_node_ids 1 [Changed the name of the option and the prompt according to Ingo's suggestion.] Signed-off-by: Ingo Molnar commit 94f6bac1058fd59a8bd472d18c4b77f220d930b0 Author: Krzysztof Helt Date: Tue Sep 30 23:17:51 2008 +0200 x86: do not allow to optimize flag_is_changeable_p() (rev. 2) The flag_is_changeable_p() is used by has_cpuid_p() which can return different results in the code sequence below: if (!have_cpuid_p()) identify_cpu_without_cpuid(c); /* cyrix could have cpuid enabled via c_identify()*/ if (!have_cpuid_p()) return; Otherwise, the gcc 3.4.6 optimizes these two calls into one which make the code not working correctly. Cyrix cpus have the CPUID instruction enabled before the second call to the have_cpuid_p() but it is not detected due to the gcc optimization. Thus the ARR registers (mtrr like) are not detected on such a cpu. Signed-off-by: Krzysztof Helt Signed-off-by: Ingo Molnar commit e2ce07c8042975e52df4cec1f41faf15b83f2e42 Author: Pekka Enberg Date: Thu Apr 3 16:40:48 2008 +0300 x86: __show_registers() and __show_regs() API unification Currently the low-level function to dump user-passed registers on i386 is called __show_registers() whereas on x86-64 it's called __show_regs(). Unify the API to simplify porting of kmemcheck to x86-64. Signed-off-by: Pekka Enberg Acked-by: Vegard Nossum Signed-off-by: Ingo Molnar commit 1e0b5d00b230ceffe1bb33284b46b8572e418423 Author: Jack Steiner Date: Mon Sep 29 08:45:29 2008 -0500 x86, UV: new UV genapic functions for x2apic Add functions that use the infrastructure added by the x2apic code. These functions were originally stubbed out since the UV code went into the tree prior to the x2apic code. Signed-off-by: Jack Steiner Signed-off-by: Ingo Molnar commit 14adf855baefad5ac3b545be23a64e6b61d6b74a Author: Chuck Ebbert Date: Mon Sep 29 18:29:42 2008 -0400 x86: move prefill_possible_map calling early, fix, V2 Commit 4a701737 ("x86: move prefill_possible_map calling early, fix") is the wrong fix: prefill_possible_map() needs to be available even when CONFIG_HOTPLUG_CPU is not set. A followon patch will do that. Fix this correctly by making prefill_possible_map() available even when CONFIG_HOTPLUG_CPU is not set. The function is needed so that the number of possible CPUs can be determined. Tested on uniprocessor machine with CPU hotplug disabled. From boot log: Before: NR_CPUS: 512, nr_cpu_ids: 512, nr_node_ids 1 After: NR_CPUS: 512, nr_cpu_ids: 1, nr_node_ids 1 Signed-off-by: Chuck Ebbert Signed-off-by: Ingo Molnar commit 69d45dd1c3bb512a9f5f9c464ac625eb707669ec Author: Krzysztof Helt Date: Sun Sep 28 21:28:15 2008 +0200 x86: merge winchip-2 and winchip-2a cpu choices The Winchip-2 and Winchip-2A cpu choices select the same options for kernel and compiler. Merge them to save few bytes and reduce confusion. Signed-off-by: Krzysztof Helt Acked-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit d2f904bb9a1ba88a58a03612abd8c6c54bdaf73a Author: Jack Steiner Date: Thu Sep 25 07:52:10 2008 -0500 x86, uv: fix for size of hub mappings Fix the size of the mappings of UV hub registers. Size must be a function of the maximum node number within the SSI. Signed-off-by: Jack Steiner Signed-off-by: Ingo Molnar commit 9b658f6f8bd30b91aec527325e398771511ea61b Author: Yinghai Lu Date: Thu Sep 25 22:22:12 2008 -0700 x86: cleanup, remove extra ifdef also change two functions to static. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 3c1326f8a6d8b9815ca88c95441330f96eef7352 Author: Alexander van Heukelum Date: Fri Sep 26 14:03:08 2008 +0200 traps: i386: make do_trap more like x86_64 This patch hardcodes which traps should be forwarded to handle_vm86_trap in do_trap. This allows to remove the vm86 parameter from the i386-version of do_trap, which makes the DO_VM86_ERROR and DO_VM86_ERROR_INFO macros unnecessary. x86_64 part is whitespace only. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 69c89b5bf7f253756f3056e84b8603abe1c50f5b Author: Alexander van Heukelum Date: Fri Sep 26 14:03:07 2008 +0200 traps: x86: remove trace_hardirqs_fixup from pagefault handler The last use of trace_hardirqs_fixup is unnecessary, because the trap is taken with interrupt off on i386 as well as x86_64, and the irq-tracer is notified of this from the assembly code. trace_hardirqs_fixup and trace_hardirqs_fixup_flags are removed from include/asm-x86/irqflags.h as they are no longer used. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit a491503e4d0cb739f409069826e2746e38826099 Author: Alexander van Heukelum Date: Fri Sep 26 14:03:06 2008 +0200 traps: x86_64: remove trace_hardirqs_fixup from debug handler All exceptions are taken via interrupt gates. TRACE_IRQS_OFF is called just before entering the C code, so the irq state is known to the irq tracer at this point. No need to call trace_hardirqs_fixup. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 8b1c870f19849235b8c7e4dfe2ec6b0d691fa9d7 Author: Alexander van Heukelum Date: Fri Sep 26 14:03:05 2008 +0200 traps: x86_64: remove trace_hardirqs_fixup from int3 handler All exceptions are taken via interrupt gates. TRACE_IRQS_OFF is called just before entering the C code, so the irq state is known to the irq tracer at this point. No need to call trace_hardirqs_fixup. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 4b986a365253b57d8ab4ed7b796ba0893ff4c05c Author: Alexander van Heukelum Date: Fri Sep 26 14:03:04 2008 +0200 traps: x86_64: remove trace_hardirqs_fixup from DO_ERROR_INFO macro All exceptions are taken via interrupt gates. TRACE_IRQS_OFF is called just before entering the C code, so the irq state is known to the irq tracer at this point. No need to call trace_hardirqs_fixup. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 7e61a7932495e37685e95ec9a59ad08810dec959 Author: Alexander van Heukelum Date: Fri Sep 26 14:03:03 2008 +0200 traps: x86_64: add TRACE_IRQS_OFF in paranoidentry macro Add TRACE_IRQS_OFF just before entering the C code. All exceptions are taken via interrupt gates. If irq tracing is enabled, it should be notified as soon as possible. Interrupts are only (conditionally) re-enabled in C code. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 6b11d4ef3e4d6ce83fb177aa50fdf385abb17d1a Author: Alexander van Heukelum Date: Fri Sep 26 14:03:02 2008 +0200 traps: x86_64: add TRACE_IRQS_OFF in error_entry Add TRACE_IRQS_OFF just before entering the C code. All exceptions are taken via interrupt gates. If irq tracing is enabled, it should be notified as soon as possible. Interrupts are only (conditionally) re-enabled in C code. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 2e42060c19cb79adacc48beb5e9ec5361df976a2 Author: Jack Steiner Date: Tue Sep 23 15:37:13 2008 -0500 x86, uv: add early detection of UV system types Portions of the ACPI code needs to know if a system is a UV system prior to genapic initialization. This patch adds a call early_acpi_boot_init() so that the apic type is discovered earlier. V2 of the patch adding fixes from Yinghai Lu. Much cleaner and smaller. Signed-off-by: Jack Steiner Acked-by: Yinghai Lu Signed-off-by: Ingo Molnar commit e04d645f326bc8e591bc4ae21c4ab535987a17c1 Author: Glauber Costa Date: Mon Sep 22 14:35:08 2008 -0300 x86: move vgetcpu mode probing to cpu detection Take it out of time initialization and move it to cpu detection time. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 33c053d0aec344c8b2ad6966d904ebeff64e590b Author: Glauber Costa Date: Mon Jul 21 18:42:52 2008 -0300 x86: wrap MCA_bus test around an ifdef Only test for MCA_bus if support for MCA is compiled in. Also, for x86_64, write the code inside the conditional for consistency with i386. It won't bite us, since it'll probably never select CONFIG_MCA anyway. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 2c460d0b6813a5d2a7d571b0b561e4e727036dd7 Author: Glauber Costa Date: Fri Jul 11 16:06:40 2008 -0300 x86: replace hardcoded number Replace "4" in time_32.c code by sizeof(long). This way, it can work on x86_64 too. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 461ebd109569d666d367f774f74002add6444d49 Author: Glauber Costa Date: Fri Jul 11 15:25:13 2008 -0300 x86: rename timer_event_interrupt to timer_interrupt Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 780209af714ba733cd9e2f3526107becfc1969bc Author: Glauber Costa Date: Fri Jul 11 15:12:39 2008 -0300 x86: make init_ISA_irqs nonstatic Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 2f97435e57926a5cdc104fe5a7c64932cb62cdda Author: Glauber Costa Date: Fri Jul 11 15:08:39 2008 -0300 x86: factor out irq initialization for x86_64 Provide apic_intr_init and smp_intr_init functions. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 2ff298372d03b01c9ca8738ee2791227a81928e2 Author: Glauber Costa Date: Fri Jul 11 14:21:29 2008 -0300 x86: bind irq0 irq data to cpu0 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 8de0b8a7eaf274d197698b035090eeb805f62de6 Author: Glauber Costa Date: Fri Jul 11 14:10:13 2008 -0300 x86: use user_mode_vm instead of user_mode For x86_64, it does not really matter. But makes the code equal to i386. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit efa323abd424a2450f810b96203c1fbf138998b9 Author: Glauber Costa Date: Fri Jul 11 14:00:14 2008 -0300 x86: remove SEGMENT_IS_FLAT_CODE There are no users in the kernel. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 3927fa9e4b5d5f346d12aa0531744daef106ebd3 Author: Glauber Costa Date: Fri Jul 11 13:53:43 2008 -0300 x86: use frame pointer information on x86_64 profile_pc Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 097a0788df71b0f3328c70ab5f4e41c27ee66817 Author: Glauber Costa Date: Thu Aug 14 17:33:12 2008 -0300 x86: set bp field in pt_regs properly Save rbp twice: One is for marking the stack frame, as usual (already there), and the other, to fill pt_regs properly. This is because bx comes right before the last saved register in that structure, and not bp. If the base pointer were in the place bx is today, this would not be needed. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 2c44e66843cd50c5ef4f4271fbd63a4f4bf4d083 Author: Glauber Costa Date: Fri Jul 11 13:48:07 2008 -0300 x86: coalesce tests Coalesce v8086_mode and user_mode into a single user_mode_vm() test. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit cf4cfb225ab2b48611cb4f9e8db23c87486416d6 Author: Glauber Costa Date: Fri Jul 11 13:45:46 2008 -0300 x86: use user_mode macro Instead of using SEGMENT_IS_KERNEL_CODE, use the "user_mode" macro, which can play the same role. Delete the former, since it now lacks any user. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit bd32a8cfa8f172bd943655a3663d8005e5c1d83c Author: Yinghai Lu Date: Fri Sep 19 18:41:16 2008 -0700 x86: cpu don't print duplicated vendor string Some CPUs have vendor string in the middle of model_id instead of beginning Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 606ee44dbb72fd48beb47f171d7b9cecf6ade6dd Author: Jan Beulich Date: Wed Sep 17 16:48:17 2008 +0100 x86: make mm/gup.c more virtualization friendly Since pte_flags() is much cheaper than pte_val() in some virtualized environments (namely, Xen), use the former whereever possible. Signed-off-by: Jan Beulich Cc: "Nick Piggin" Signed-off-by: Ingo Molnar commit 5e72d9e4850c91b6a0f06fa803f7393b55a38aa8 Author: Jan Beulich Date: Fri Sep 12 15:43:04 2008 +0100 x86-64: fix combining of regions in init_memory_mapping() When nr_range gets decremented, the same slot must be considered for coalescing with its new successor again. The issue is apparently pretty benign to native code, but surfaces as a boot time crash in our forward ported Xen tree (where the page table setup overall works differently than in native). Signed-off-by: Jan Beulich Acked-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 59ef48a58e59cc27255d526ae3fa60ddcd977208 Author: Cyrill Gorcunov Date: Sun Sep 14 21:58:49 2008 +0400 x86: smpboot - check if we have ESR register in wakeup_secondary_cpu We should check if we have ESR register before reading from it. Signed-off-by: Cyrill Gorcunov Cc: Yinghai Lu Cc: "Maciej W. Rozycki" Signed-off-by: Ingo Molnar commit 33f8c40a30ae99e971d068c9ec6088e713c46f5f Author: Vegard Nossum Date: Sun Sep 14 19:03:53 2008 +0200 x86: add memory clobber in switch_to() Segment registers are reloaded, so we should add a memory clobber. The generated assembly code is identical in my tests, but this doesn't mean it is necessarily true for all configurations/compilers. x86_64 already has the memory clobber. Signed-off-by: Vegard Nossum Signed-off-by: Ingo Molnar commit 3e6de5a393661c5cdabe44115e93bcbde6a742fc Author: Ingo Molnar Date: Mon Sep 15 08:26:15 2008 +0200 x86: print out EBDA/lowmem address it's useful for debugging purposes to know the location of the EBDA. Signed-off-by: Ingo Molnar commit a73aaedd95703bd49f4c3f9df06fb7b7373ba905 Author: Yinghai Lu Date: Sun Sep 14 02:33:14 2008 -0700 x86: check dsdt before find oem table for es7000, v2 v2: use __acpi_unmap_table() Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit a32ad4626776f09b30ef98a872a5f6fb64fe6607 Author: Jeremy Fitzhardinge Date: Sun Sep 7 15:21:17 2008 -0700 x86-64: don't check for map replacement The check prevents flags on mappings from being changed, which is not desireable. There's no need to check for replacing a mapping, and x86-32 does not do this check. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 88b4c146961f4178f38a8c3e6e54709fa39a3f36 Author: Jeremy Fitzhardinge Date: Sun Sep 7 15:21:16 2008 -0700 x86: use early_memremap() in setup.c The remappings in setup.c are all just ordinary memory, so use early_memremap() rather than early_ioremap(). Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 1494177942b23b7094ca291d37e6f6263fa60fdd Author: Jeremy Fitzhardinge Date: Sun Sep 7 15:21:15 2008 -0700 x86: add early_memremap() early_ioremap() is also used to map normal memory when constructing the linear memory mapping. However, since we sometimes need to be able to distinguish between actual IO mappings and normal memory mappings, add a early_memremap() call, which maps with PAGE_KERNEL (as opposed to PAGE_KERNEL_IO for early_ioremap()), and use it when constructing pagetables. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit efc9eb20b2f5125642fc37a1dbabadc3ce5d321c Author: Jeremy Fitzhardinge Date: Sun Sep 7 15:21:14 2008 -0700 x86: remove duplicate early_ioremap declarations early_ioremap() is redeclared in several places; remove them. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit be43d72835ba610e4af274f2d123b26f66f4f7ed Author: Jeremy Fitzhardinge Date: Sun Sep 7 15:21:13 2008 -0700 x86: add _PAGE_IOMAP pte flag for IO mappings Use one of the software-defined PTE bits to indicate that a mapping is intended for an IO address. On native hardware this is irrelevent, since a physical address is a physical address. But in a virtual environment, physical addresses are also virtualized, so there needs to be some way to distinguish between pseudo-physical addresses and actual hardware addresses; _PAGE_IOMAP indicates this intent. By default, __supported_pte_mask masks out _PAGE_IOMAP, so it doesn't even appear in the final pagetable. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 07bb2f6236f11169fbd8a8916b16715b25fea9b6 Author: Alexander van Heukelum Date: Tue Sep 9 21:56:18 2008 +0200 i386: trace_hardirqs_fixup should now not be necessary: irqs are off. The exception handlers in entry_32.S should now all call TRACE_IRQS_OFF before calling the C code. The calls to trace_hardirqs_fixup should now be unnecessary. Remove them. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit a790392faa3a6138b6e90d0fe320a2829652ce22 Author: Alexander van Heukelum Date: Tue Sep 9 21:56:17 2008 +0200 i386: add TRACE_IRQS_OFF for the exception 3 (int3) At this point interrupts are off, so let's inform the tracing code of that fact before calling into C. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit e0c7317557c8fc8eacf611e30c2a80f4e24e47a3 Author: Alexander van Heukelum Date: Tue Sep 9 21:56:16 2008 +0200 i386: add TRACE_IRQS_OFF for the nmi At this point interrupts are off, so let's inform the tracing code of that fact before calling into C. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 43024a8a5d4c63952687286f3083f7f34d4da2cc Author: Alexander van Heukelum Date: Tue Sep 9 21:56:15 2008 +0200 i386: add TRACE_IRQS_OFF for exception 1 (debug) At this point interrupts are off, so let's inform the tracing code of that fact before calling into C. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 85cea51d7e7b8d3408c8e933d88fa067309395fa Author: Alexander van Heukelum Date: Tue Sep 9 21:56:14 2008 +0200 i386: add TRACE_IRQS_OFF to entry_32.S in 'error_code' Many exceptions use the same code path via the label 'error_code' in entry_32.S. At this point interrupts are off, so let's inform the tracing code of that fact before calling into C. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit f8e0870f589cfa45575dc7333cdf1b8f769e7900 Author: Alexander van Heukelum Date: Tue Sep 9 21:56:13 2008 +0200 i386: remove temporary DO_TRAP macros, expanding the last one used Only one use of the DO_TRAP macros remains. Expand that one and remove the macros now. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit b939bde2788a7f16741e563ee90f6f3ad38935cf Author: Alexander van Heukelum Date: Tue Sep 9 21:56:12 2008 +0200 i386: convert hardware exception 19 to an interrupt gate Handle SIMD coprocessor exception with interrupt initially off. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit eb642f62082348c33ead53f736a9698953aa517d Author: Alexander van Heukelum Date: Tue Sep 9 21:56:11 2008 +0200 i386: convert hardware exception 18 to an interrupt gate Handle machine check exception with interrupt initially off. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 5feedfd401c91e41bbe31ddec93cbe809dc98309 Author: Alexander van Heukelum Date: Tue Sep 9 21:56:10 2008 +0200 i386: convert hardware exception 17 to an interrupt gate Handle alignment check exception with interrupt initially off. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 252d28fe65adc2e51bc71358eae43ba94b74da91 Author: Alexander van Heukelum Date: Tue Sep 9 21:56:09 2008 +0200 i386: convert hardware exception 16 to an interrupt gate Handle coprocessor error exception with interrupt initially off. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit cf81978d5fb32ab75f701690b372e1126b41861f Author: Alexander van Heukelum Date: Tue Sep 9 21:56:08 2008 +0200 i386: convert hardware exception 15 to an interrupt gate Handle exception 15 with interrupt initially off. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit c6df0d71bec391e78e0a38109d63154acd69a937 Author: Alexander van Heukelum Date: Tue Sep 9 21:56:07 2008 +0200 i386: convert hardware exception 13 to an interrupt gate Handle general protection exception with interrupt initially off. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit f5ca81878b42ae7d1b00d0ed5f62bb1a158bfac1 Author: Alexander van Heukelum Date: Tue Sep 9 21:56:06 2008 +0200 i386: convert hardware exception 12 to an interrupt gate Handle stack segment exception with interrupt initially off. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 36d936c7988ac5caf575bc0e2dc618dbfebc6065 Author: Alexander van Heukelum Date: Tue Sep 9 21:56:05 2008 +0200 i386: convert hardware exception 11 to an interrupt gate Handle segment not present exception with interrupt initially off. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 6bf77bf93938ae6baad9945a0ba57b3225e8e58b Author: Alexander van Heukelum Date: Tue Sep 9 21:56:04 2008 +0200 i386: convert hardware exception 10 to an interrupt gate Handle invalid TSS exception with interrupt initially off. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 51bc1ed6060e96de5099f604071961540880efc2 Author: Alexander van Heukelum Date: Tue Sep 9 21:56:03 2008 +0200 i386: convert hardware exception 9 to an interrupt gate Handle coprocessor segment overrun exception with interrupt initially off. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 7643e9b936b4af31ba4851eb7d5b3a3bfad52502 Author: Alexander van Heukelum Date: Tue Sep 9 21:56:02 2008 +0200 i386: convert hardware exception 7 to an interrupt gate Handle no coprocessor exception with interrupt initially off. device_not_available in entry_32.S calls either math_state_restore or math_emulate. This patch adds an extra indirection to be able to re-enable interrupts explicitly in traps_32.c Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 12394cf567d509f6ab5d94544e1f414b35286d9e Author: Alexander van Heukelum Date: Tue Sep 9 21:56:01 2008 +0200 i386: convert hardware exception 6 to an interrupt gate Handle invalid opcode exception with interrupt initially off. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 64f644c0b4b8b7818867fb27de077c98c4f0022b Author: Alexander van Heukelum Date: Tue Sep 9 21:56:00 2008 +0200 i386: convert hardware exception 5 to an interrupt gate Handle bounds exception with interrupt initially off. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 8d6f9d69bdc1dcf75a3ba436c9b2efb20478619b Author: Alexander van Heukelum Date: Tue Sep 9 21:55:59 2008 +0200 i386: convert hardware exception 4 to an interrupt gate Handle overflow exception with interrupt initially off. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit b94da1e4b7d396abe10ce4d566f1a5f623602c21 Author: Alexander van Heukelum Date: Tue Sep 9 21:55:58 2008 +0200 i386: expand exception 3 DO_TRAP macro The int3 exception was already takes as an interrupt and do_int3 does not fit in the new DO_ERROR macro. This patch just expands the DO_TRAP macro and rearranges the code a bit. No functional changes intended. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 976382dcbe3a2233f48cda5b0840874f43a30825 Author: Alexander van Heukelum Date: Tue Sep 9 21:55:57 2008 +0200 i386: convert hardware exception 0 to an interrupt gate Handle divide error exception with interrupt initially off. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 61aef7d24909b95f9eddaa78d78902fbea1d7059 Author: Alexander van Heukelum Date: Tue Sep 9 21:55:56 2008 +0200 i386: prepare to convert exceptions to interrupts There is some macro magic in traps_32.c to construct standard exception dispatch functions. This patch renames the DO_ERROR- like macros to DO_TRAP, and introduces new DO_ERROR ones that conditionally reenable interrupts explicitly, like x86_64. No code changes. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 762db4347060c5d23e9675846e02f7d95d7f944f Author: Alexander van Heukelum Date: Tue Sep 9 21:55:55 2008 +0200 i386: remove kprobes' restore_interrupts in favour of conditional_sti x86_64 uses a helper function conditional_sti in traps_64.c which is equal to restore_interrupts in kprobes.h. The only user of restore_interrupts is in traps_32.c. Introduce conditional_sti for i386 and remove restore_interrupts. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 927604c7592473742891dc13e1da09febc06e01b Author: Yinghai Lu Date: Tue Sep 9 23:34:17 2008 -0700 x86: rename discontig_32.c to numa_32.c name it in line with its purpose. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 0cefa5b9b0a61b62442c5d0ca00a304c5896b6e9 Author: Manfred Spraul Date: Sun Sep 7 11:29:58 2008 +0200 arch/x86/kernel/smpboot.c: Clarify when irq processing begins. Secondary cpus start with local interrupts disabled. start_secondary() first initializes the new cpu, then it enables the local interrupts. (although interrupts are enabled within smp_callin() as well). Right now, the local interrupts are enabled as a side effect of calling ipi_call_lock_irq(). The attached patch clarifies when local interrupts are enabled. Signed-off-by: Manfred Spraul Signed-off-by: Ingo Molnar commit 295286a89107c353b9677bc604361c537fd6a1c0 Author: Jan Beulich Date: Fri Aug 29 13:21:11 2008 +0100 x86-64: slightly stream-line 32-bit syscall entry code Avoid updating registers or memory twice as well as needlessly loading or copying registers. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit 9f8305fe164077bcef42034c56275c8208042e88 Author: Jan Beulich Date: Fri Aug 29 13:14:30 2008 +0100 x86-64: reduce boot fixmap space Just like for 32-bit - as 256 entries are needed, aligning to a 256-entry boundary is sufficient and still guarantees the single pte table requirement. Likewise move up __end_of_permanent_fixed_addresses, to match 32-bit. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit 615c9136b385d5225d3ece20aa30b28a90c438d6 Author: David S. Miller Date: Sun Oct 12 23:56:12 2008 -0700 chmc: Mark %ver register inline asm with __volatile__ Otherwise GCC can try to do the register read before the guarding test on us3mc_platform() being true. If that happens we can take an exception, because %ver register reads are not allowed in privileged more on hypervisor platforms. Signed-off-by: David S. Miller commit 82960b8543cca5797a5e2841a9c43b8c5c669e65 Author: David S. Miller Date: Sun Oct 12 20:55:24 2008 -0700 sparc64: Add missing notify_cpu_starting() call. Commit e545a6140b698b2494daf0b32107bdcc5e901390 ("kernel/cpu.c: create a CPU_STARTING cpu_chain notifier") added a notify_cpu_starting() notifier event, and hit every arch except sparc64. Fix that missed case. Signed-off-by: David S. Miller commit 4245e59d1239a5270670807b114856365a863df8 Author: Robert Reif Date: Sun Oct 12 20:52:26 2008 -0700 sparc32: fix build errors arch/sparc/kernel/sun4d_smp.c: In function ‘smp4d_callin’: arch/sparc/kernel/sun4d_smp.c:101: error: implicit declaration of function ‘notify_cpu_starting’ arch/sparc/kernel/sun4m_smp.c: In function ‘smp4m_callin’: arch/sparc/kernel/sun4m_smp.c:74: error: implicit declaration of function ‘notify_cpu_starting’ Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit bf94e17bc8d35fc339945a42990a2f2b5e9b5a40 Author: Ingo Molnar Date: Sun Oct 12 23:51:38 2008 -0700 net/mac80211/rx.c: fix build error older versions of gcc do not recognize that ieee80211_rx_h_mesh_fwding() is unused when CONFIG_MAC80211_MESH is disabled: net/built-in.o: In function `ieee80211_rx_h_mesh_fwding': rx.c:(.text+0xd89af): undefined reference to `mpp_path_lookup' rx.c:(.text+0xd89c6): undefined reference to `mpp_path_add' as this code construct: if (ieee80211_vif_is_mesh(&sdata->vif)) CALL_RXH(ieee80211_rx_h_mesh_fwding); still causes ieee80211_rx_h_mesh_fwding() to be linked in. Protect these places with an #ifdef. commit b0dee578 ("Fix modpost failure when rx handlers are not inlined.") solved part of this problem - this patch is still needed. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit 22d660ffd0db8d136b122751287d186e869ca474 Author: Milton Miller Date: Fri Oct 10 01:56:45 2008 +0000 powerpc/smp: No need to set_need_resched when getting a resched IPI The comment in the code was asking "Do we have to do this?", and according to x86 and s390 the answer is no, the scheduler will do it before calling the arch hook. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit 199f45c45e8d4f58a5f568464be933534460eb82 Author: Milton Miller Date: Fri Oct 10 01:56:44 2008 +0000 powerpc/xics: Reduce and comment xics IPI use of memory barriers A single full sync (mb()) is requrired to order the mmio to the qirr reg with the set or clear of the message word. However, test_and_clear_bit has the effect of smp_mb() and we are not doing any other io from here, so we don't need a mb per bit processed. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit 2172fe8704a1df7cbb988ae1ec4edbfef3e28860 Author: Milton Miller Date: Fri Oct 10 01:56:39 2008 +0000 powerpc/xics: Make printk format strings fit on one line Several printks were broken at word boundaries for line length. Some even referred to old function names. Using __func__ and changing the text slightly for the format allows these printk formats to fit on one line. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit d879f3849c93743e170a8dc60a8dfb66150c420d Author: Milton Miller Date: Fri Oct 10 01:56:39 2008 +0000 powerpc/xics: Mark xics IPI interrupt as per-cpu It is physically per-cpu, and we want the irq layer to treat it that way. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit 1a57c926b6da56b4f904a0d8117ac362724f8c66 Author: Milton Miller Date: Fri Oct 10 01:56:35 2008 +0000 powerpc/xics: EOI xics ipi by hand in kexec EOI normally has the side effect of returning the cpu to the base priority to recieve the next interrupt. This is actually controlled by the top byte of the xirr register. When we are exiting the kernel in kexec we must eoi the ipi for the next kernel because we never return from the handler, but we want to leave interrupt delivery blocked until the next kernel takes action. Since the hardware ipi vector is fixed, its easiest to just do the eoi explicitly. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit b4963255ad5a426f04a0bb15c4315fa4bb40cde9 Author: Milton Miller Date: Fri Oct 10 01:56:34 2008 +0000 powerpc/xics: Factor out cpu joining/unjoining the GIQ This factors out processors joining and unjoining the Global Interrupt Queue into a separate function. There is a bit of math to calculate the arguments to rtas to join or leave the global interrupt queue, and a warning on failure afterwards. Make a helper for the 3 callers. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit a244a957ab15ddbeccf4018ef4b3ac8f5fd1566d Author: Milton Miller Date: Fri Oct 10 01:56:33 2008 +0000 powerpc/xics: Initialization code cleanups We only need to check the ibm,interrupt-server#-size property once, not once per global server and thread. We can use !CONFIG_SMP cpu masks and hard_smp_processor_id() to avoid an ifdef. Put the node when breaking out of the loop on lpar systems. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit 188bdddd243e6872608099bd1142a03b70571132 Author: Milton Miller Date: Fri Oct 10 01:56:33 2008 +0000 powerpc/xics: Trim #include list Trim unneeded includes from xics.c. We don't use signals or gfp flags, we use only OF functions and don't need prom, and the 8259 is now handled by our caller. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit 9dc2d44113d1521d8ead8e89e0772c0957b093c2 Author: Milton Miller Date: Fri Oct 10 01:56:32 2008 +0000 powerpc/xics: Change *_xirr_info_set() prototype to avoid casts The xirr is 32 bits in hardware, but the hypervisor requries the upper bits of the register to be clear on the hcall. By changing the type from signed to unsigned int we can drop masking it back to 32 bits. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit 0641cc91b08937578263589feb15182b9ad2b0fc Author: Milton Miller Date: Fri Oct 10 01:56:30 2008 +0000 powerpc/xics: Rearrange file to group code by function Now that xics_update_irq_servers is called only from init and hotplug code, it becomes possible to clean up the ordering of functions in the file, grouping them but the interfaces they implement. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit d13f7208b211dd3613bdb04e2647081a5160d68f Author: Milton Miller Date: Fri Oct 10 01:56:29 2008 +0000 powerpc/xics: Consolidate ipi message encode and decode xics supports only one ipi per cpu, and expects software to use some queue to know why the interrupt was sent. In Linux, we use a an array of bitmaps indexed by cpu to identify the message. Currently the bits are set in smp.c and decoded in xics.c, with the data structure in a header file. Consolidate the code in xics.c similar to mpic and other interrupt controllers. Also, while making the the array static, the message word doesn't need to be volatile as set_bit and test_clear_bit take care of it for us, and put it under ifdef smp. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit 4bb03849aee63215f4e3859256998975ef27090d Author: David S. Miller Date: Sun Oct 12 21:22:31 2008 -0700 acpi: Make ACPI_TOSHIBA depend on INPUT. Selecting INPUT_POLLDEV is not sufficient. Signed-off-by: David S. Miller commit 0ed0563e14dcb9986241d30f08ecd33f9bcc3572 Author: Adrian Bunk Date: Sun Oct 12 21:15:17 2008 -0700 net/bfin_mac.c MDIO namespace fixes Commit 2e888103295f47b8fcbf7e9bb8c5da97dd2ecd76 (phylib: add mdiobus_{read,write}) causes the following compile error: <-- snip --> ... CC drivers/net/bfin_mac.o drivers/net/bfin_mac.c:272: error: conflicting types for 'mdiobus_read' include/linux/phy.h:130: error: previous declaration of 'mdiobus_read' was here drivers/net/bfin_mac.c:287: error: conflicting types for 'mdiobus_write' include/linux/phy.h:131: error: previous declaration of 'mdiobus_write' was here make[3]: *** [drivers/net/bfin_mac.o] Error 1 <-- snip --> This patch prefixes the driver functions with bfin_ Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 1947b36d8f7eb706972bd50fceb063d317d62570 Author: Huang Weiyi Date: Sun Oct 12 21:08:58 2008 -0700 jme: remove unused #include The file(s) below do not use LINUX_VERSION_CODE nor KERNEL_VERSION. drivers/net/jme.c This patch removes the said #include . Signed-off-by: Huang Weiyi Signed-off-by: David S. Miller commit 14717f811b6662ca77bf39c07f5589c3b084f942 Author: Huang Weiyi Date: Sun Oct 12 21:08:34 2008 -0700 netfilter: remove unused #include The file(s) below do not use LINUX_VERSION_CODE nor KERNEL_VERSION. net/netfilter/nf_tproxy_core.c This patch removes the said #include . Signed-off-by: Huang Weiyi Signed-off-by: David S. Miller commit ab396eb03f33a2e2afb7b0603a43929bf5857c45 Author: Dimitris Michailidis Date: Sun Oct 12 21:07:34 2008 -0700 net: Fix off-by-one in skb_dma_map The unwind loop iterates down to -1 instead of stopping at 0 and ends up accessing ->frags[-1]. Signed-off-by: Dimitris Michailidis Signed-off-by: David S. Miller commit c6dcb8278876ebf266e2088b0b45b28aa66b7693 Author: Guennadi Liakhovetski Date: Sun Oct 12 21:05:14 2008 -0700 smc911x: Add support for LAN921{5,7,8} chips from SMSC LAN92{5,7,8} chips from SMSC are register compatible with LAN911{5,6,7,8} controllers, and only add support for HP Auto-MDIX. LAN9218 doesn't have an external MII interface. Signed-off-by: Guennadi Liakhovetski Acked-by: Peter Korsgaard Signed-off-by: David S. Miller commit 97e92d9d4b52c1257e7891715115e9d00c6b20bc Author: Huang Weiyi Date: Sun Oct 12 21:04:10 2008 -0700 qlge: remove duplicated #include Removed duplicated include in files below drivers/net/qlge/qlge_ethtool.c drivers/net/qlge/qlge_main.c Signed-off-by: Huang Weiyi Signed-off-by: David S. Miller commit ff71268aa4e9d961643c5e0ea5e14a3dd6d27f28 Author: Huang Weiyi Date: Sun Oct 12 21:03:38 2008 -0700 wireless: remove duplicated #include Removed duplicated include in net/wireless/core.c. Signed-off-by: Huang Weiyi Acked-by: Johannes Berg Signed-off-by: David S. Miller commit 1210dde7b39fef3120464d9f3660631689d1c0ed Author: Adrian Bunk Date: Sun Oct 12 21:02:19 2008 -0700 net/au1000_eth.c MDIO namespace fixes Commit 2e888103295f47b8fcbf7e9bb8c5da97dd2ecd76 (phylib: add mdiobus_{read,write}) causes the following compile error: <-- snip --> ... CC drivers/net/au1000_eth.o drivers/net/au1000_eth.c:252: error: conflicting types for 'mdiobus_read' include/linux/phy.h:130: error: previous declaration of 'mdiobus_read' was here drivers/net/au1000_eth.c:263: error: conflicting types for 'mdiobus_write' include/linux/phy.h:131: error: previous declaration of 'mdiobus_write' was here ... make[3]: *** [drivers/net/au1000_eth.o] Error 1 <-- snip --> This patch prefixes the driver functions with au1000_ Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 51cf756c0a056dfb3d7ccdddff3b055cbf44a31c Author: Adrian Bunk Date: Sun Oct 12 21:01:53 2008 -0700 net/tc35815.c: fix compilation Fix an obvious typo introduced by commit 298cf9beb9679522de995e249eccbd82f7c51999 (phylib: move to dynamic allocation of struct mii_bus). <-- snip --> ... CC drivers/net/tc35815.o drivers/net/tc35815.c: In function 'tc_mii_init': drivers/net/tc35815.c:799: error: 'err_out_free_mii_bus' undeclared (first use in this function) drivers/net/tc35815.c:799: error: (Each undeclared identifier is reported only once drivers/net/tc35815.c:799: error: for each function it appears in.) drivers/net/tc35815.c:781: error: label 'err_out_free_mii_bus' used but not defined make[3]: *** [drivers/net/tc35815.o] Error 1 <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 9d731d77c9794bb0a264f58d35949a1ab6dcc41c Author: Rafael J. Wysocki Date: Sun Oct 12 20:59:48 2008 -0700 sky2: Fix WOL regression Since dev->power.should_wakeup bit is used by the PCI core to decide whether the device should wake up the system from sleep states, set/unset this bit whenever WOL is enabled/disabled using sky2_set_wol(). Remove an open-coded reference to the standard PCI PM registers that is not used any more. Signed-off-by: Rafael J. Wysocki Signed-off-by: David S. Miller commit 738e1e694bf6d9e965ba0ce2667a1bec5780a172 Author: Petr Vandrovec Date: Sun Oct 12 20:58:29 2008 -0700 r8169: NULL pointer dereference on r8169 load mmio_addr in r8169 needs to be initialized before use Maybe that all tp-> initialization should be moved before rtl_init_mac_address call, but this is enough to get rid of crash in rtl_rar_set due to mmio_addr being uninitialized. Signed-off-by: Petr Vandrovec Signed-off-by: David S. Miller commit 71de1f8a6365ea65346881e526132563d93696d1 Author: Robin Getz Date: Mon Oct 13 11:37:34 2008 +0800 Blackfin arch: make sure we include the fix for SPORT hysteresis when reprogramming clocks As pointed out by Appalayagari Sreedhar, make sure we include the fix for SPORT hysteresis when reprogramming clocks. Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit e9fae189caae7c1cf306e30f5b67c6d226ed69cf Author: Michael Hennerich Date: Mon Oct 13 11:35:22 2008 +0800 Blackfin arch: Fix bogus str_ident check in gpio code Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 46aa04f9b678d1d6f3558429109326775ca87715 Author: Michael Hennerich Date: Mon Oct 13 11:30:17 2008 +0800 Blackfin arch: AD7879 Touchscreen driver Add AD7879 Touchscreen driver to the device structures Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 58c35bd31f8b577e03d904c214b55b3d91369a85 Author: Vitja Makarov Date: Mon Oct 13 15:23:56 2008 +0800 Blackfin arch: introducing bfin_addr_dcachable This patch introduces bfin_addr_dcachable() predicate, that simply tests is address in cachable region or not. Signed-off-by: Bryan Wu commit 7dc85076f83253fcffae99e6d5e6ce77840f8841 Merge: a7e54e6... 687cb98... Author: Takashi Iwai Date: Mon Oct 13 03:42:18 2008 +0200 Merge branches 'topic/asoc' and 'topic/hda' into for-linus commit a7e54e6de3b01d9085202fdbf0110da425f4af38 Author: Huang Weiyi Date: Sun Oct 12 23:12:56 2008 +0800 ALSA: ASoC codec: remove unused #include The files below do not use LINUX_VERSION_CODE nor KERNEL_VERSION. sound/soc/codecs/ad1980.c sound/soc/codecs/wm8580.c sound/soc/codecs/wm8900.c This patch removes the said #include . Signed-off-by: Huang Weiyi Signed-off-by: Takashi Iwai commit 4bbf3771ca40d0aaec8316d0e7476b16010288e5 Author: NeilBrown Date: Mon Oct 13 11:55:12 2008 +1100 md: Relax minimum size restrictions on chunk_size. Currently, the 'chunk_size' of an array must be at-least PAGE_SIZE. This makes moving an array to a machine with a larger PAGE_SIZE, or changing the kernel to use a larger PAGE_SIZE, can stop an array from working. For RAID10 and RAID4/5/6, this is non-trivial to fix as the resync process works on whole pages at a time, and assumes them to be wholly within a stripe. For other raid personalities, this restriction is not needed at all and can be dropped. So remove the test on chunk_size from common can, and add it in just the places where it is needed: raid10 and raid4/5/6. Signed-off-by: NeilBrown commit d710e13812600037a723a673dc5c96a071de98d3 Author: NeilBrown Date: Mon Oct 13 11:55:12 2008 +1100 md: remove space after function name in declaration and call. Having function (args) instead of function(args) make is harder to search for calls of particular functions. So remove all those spaces. Signed-off-by: NeilBrown commit fb4d8c76e56a887b9eee99fbc55fe82b18625d30 Author: NeilBrown Date: Mon Oct 13 11:55:12 2008 +1100 md: Remove unnecessary #includes, #defines, and function declarations. A lot of cruft has gathered over the years. Time to remove it. Signed-off-by: NeilBrown commit ab5bd5cbc8d4b868378d062eed3d4240930fbb86 Author: Andre Noll Date: Mon Oct 13 11:55:12 2008 +1100 md: Convert remaining 1k representations in linear.c to sectors. This patch renames hash_spacing and preshift to spacing and sector_shift respectively with the following change of semantics: Case 1: (sizeof(sector_t) <= sizeof(u32)). ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In this case, we have sector_shift = preshift = 0 and spacing = 2 * hash_spacing. Hence, the index for the hash table which is computed by the new code in which_dev() as sector / spacing equals the old value which was (sector/2) / hash_spacing. Note also that the value of nb_zone stays the same because both sz and base double. Case 2: (sizeof(sector_t) > sizeof(u32)). ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (aka the shifting dance case). Here we have sector_shift = preshift + 1 and spacing = 2 * hash_spacing during the computation of nb_zone and curr_sector, but spacing = hash_spacing in which_dev() because in the last hunk of the patch for linear.c we shift down conf->spacing (= 2 * hash_spacing) by one more bit than in the old code. Hence in the computation of nb_zone, sz and base have the same value as before, so nb_zone is not affected. Also curr_sector in the next hunk stays the same. In which_dev() the hash table index is computed as (sector >> sector_shift) / spacing In view of sector_shift = preshift + 1 and spacing = hash_spacing, this equals ((sector/2) >> preshift) / hash_spacing which is the value computed by the old code. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit 23242fbb470ff4c8c4d41f178832cf1929273d7d Author: Andre Noll Date: Mon Oct 13 11:55:12 2008 +1100 md: linear.c: Make two local variables sector-based. This is a preparation for representing also the remaining fields of struct linear_private_data as sectors. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit 6283815d1853b7daf31dc4adb83e5c1dc9568251 Author: Andre Noll Date: Mon Oct 13 11:55:12 2008 +1100 md: linear: Represent dev_info->size and dev_info->offset in sectors. Rename them to num_sectors and start_sector which is more descriptive. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit 451708d2a439accbce136637ed4f156fc27371ab Author: Andre Noll Date: Mon Oct 13 11:55:12 2008 +1100 md: linear.c: Remove broken debug code. conf->smallest_size is undefined since day one of the git repo.. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit 481d86c7ebe2ce59dfb6ccb720efa9d3fc1cf7cd Author: Andre Noll Date: Mon Oct 13 11:55:12 2008 +1100 md: linear.c: Remove pointless initialization of curr_offset. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit e61130228ea5740e31e9646ea6d1c9d9089746c3 Author: Andre Noll Date: Mon Oct 13 11:55:12 2008 +1100 md: linear.c: Fix typo in comment. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit 80268ee9270ebe4847365a7426de91d179e870d0 Author: NeilBrown Date: Mon Oct 13 11:55:12 2008 +1100 md: Don't try to set an array to 'read-auto' if it is already in that state. 'read-auto' is a variant of 'readonly' which will switch to writable on the first write attempt. Calling do_md_stop to set the array readonly when it is already readonly returns an error. So make sure not to do that. Signed-off-by: NeilBrown commit ea43ddd8491feccf36267349748ea91b1194481e Author: NeilBrown Date: Mon Oct 13 11:55:11 2008 +1100 md: Allow metadata_version to be updated for externally managed metadata. For externally managed metadata, the 'metadata_version' sysfs attribute is really just a channel for user-space programs to communicate about how the array is being managed. It can be useful for this to be changed while the array is active. Normally changes to metadata_version are not permitted while the array is active. Change that so that if the metadata is externally managed, the metadata_version can be changed to a different flavour of external management. Signed-off-by: NeilBrown commit 7d3c6f8717ee6c2bf6cba5fa0bda3b28fbda6015 Author: Chris Webb Date: Mon Oct 13 11:55:11 2008 +1100 md: Fix rdev_size_store with size == 0 Fix rdev_size_store with size == 0. size == 0 means to use the largest size allowed by the underlying device and is used when modifying an active array. This fixes a regression introduced by commit d7027458d68b2f1752a28016dcf2ffd0a7e8f567 Cc: Signed-off-by: Chris Webb Signed-off-by: NeilBrown commit d331124dc2923ec0966a82e3428c532cee8da95f Author: Liam Girdwood Date: Sun Oct 12 13:17:36 2008 +0100 ALSA: ASoC: update email address for Liam Girdwood Update the contact information for Liam Girdwood in ASoC core and drivers as my old email address is no longer valid. Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai commit 687cb98e893f492932abb3e92660d7d828bd44fb Author: Matthew Ranostay Date: Sat Oct 11 13:52:43 2008 -0400 ALSA: hda: corrected invalid mixer values Corrected invalid mixer index values on the 92hd71bxxx codec branch. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 4b33c7675d2b0d4a9cb4e38cd73aa1d940f9278d Author: Matthew Ranostay Date: Fri Oct 10 09:07:23 2008 -0400 ALSA: hda: add mixers for analog mixer on 92hd75xx codecs Add support for mixers on the analog mixer on some 92hd75xx codecs, along with adding a 'Mixer' entry for it's connection on the dmux. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 9d37484c8ce06d95c53c2bbadfc205faaff834bc Author: Arun KS Date: Tue Sep 30 15:35:16 2008 +0530 ALSA: ASoC: Add destination and source port for DMA on OMAP1 Adds destination and source port for dma in platform driver as required by OMAP1 Signed-off-by: Arun KS Acked-by: Jarkko Nikula Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit f9d1ab39e8c993f183c39a9724ca5ad29b6336e9 Author: Jonas Bonn Date: Wed Oct 1 21:47:19 2008 +0200 ALSA: ASoC: Drop device registration from GTA01 lm4857 driver Device registration should be handled at the machine level and not in the driver code itself. This patch removes the device registration from the driver code in preparation for moving it to the machine definition. [Squashed down two parts to this patch for bisectability - there's also a third part adding registration of the device to the out of tree GTA01 machine driver -- broonie] Signed-off-by: Jonas Bonn Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit df20cf92cae5640568ee3d48bf7a32987c057413 Author: Mark Brown Date: Wed Sep 24 11:57:27 2008 +0100 ALSA: ASoC: Fix build of GTA01 audio driver Fix a couple of thinkos introduced during the I2C API update. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit e8089948d65911c78bcd72960dd419ec636d6f0b Author: Jonas Bonn Date: Wed Oct 1 18:17:12 2008 +0100 ALSA: ASoC: Add widgets before setting endpoints on GTA01 This prevents error messages at startup where the endpoints are being set before the widgets/controls have even been added. Signed-off-by: Jonas Bonn Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 5715952b39ebded49407ff02e58fe2d90904b991 Author: Mark Brown Date: Wed Sep 24 10:47:02 2008 +0100 ALSA: ASoC: Fix inverted input PGA mute bits in WM8903 Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 2e89713a8396ab07b9cccc83e50e55646c235342 Author: Jarkko Nikula Date: Thu Oct 9 15:57:21 2008 +0300 ALSA: ASoC: OMAP: Set DMA stream name at runtime in McBSP DAI driver This suits better when adding support for multiple links and different link formats. Signed-off-by: Jarkko Nikula Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 406e2c48cf716411c07aecf2a0e5331ae9521efe Author: Jarkko Nikula Date: Thu Oct 9 15:57:20 2008 +0300 ALSA: ASoC: OMAP: Add support for OMAP2430 and OMAP34xx in McBSP DAI driver Thanks to Arun KS for fixing one typo in original version of this patch. Signed-off-by: Jarkko Nikula Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 8def464dddd61686e00e96db714a2930a08ef272 Author: Jarkko Nikula Date: Thu Oct 9 15:57:22 2008 +0300 ALSA: ASoC: OMAP: Add multilink support to McBSP DAI driver Signed-off-by: Jarkko Nikula Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 9296bb43f1a3b60ab2e9c4ff48a296cacff117a9 Author: Mark Brown Date: Fri Oct 10 12:32:16 2008 +0100 ALSA: ASoC: Make TLV320AIC26 user-visible The TLV320AIC26 Kconfig option is unusual in that it supports the OpenFirmware machine driver which doesn't have a hard binding to the codec driver but discovers the codec via the device tree. This makes it meaningful to select the codec without a machine driver. Ideally there would be a proxy entry so that this option was only visible on OpenFirmware systems. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 446e0f69101baa59de2473f7deba05a730acfe6e Author: Takashi Iwai Date: Fri Oct 10 08:26:57 2008 +0200 ALSA: ASoC - clean up Kconfig for TLV320AIC2 Removed unnecessary dependency. Also, make it uninteractive, as it's only for selection by other configs. Signed-off-by: Takashi Iwai commit 2b5f34c5556fc6480bcace016fc35d9d2921c38f Author: Mark Brown Date: Tue Oct 7 16:13:50 2008 +0100 ALSA: ASoC: Make WM8510 microphone input a DAPM mixer The WM8510 microphone input PGA was represented as a DAPM PGA but in DAPM terms the functionality is that of a mixer since it takes three switchable inputs and produces one output. Representing it as an input was causing its controls to be misinterpreted as gain controls and would cause some required DAPM updates to be missed. Reported-by: Jukka Hynninen Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 09af98b08f72471ea53efe26494eef0947a6a10d Author: Mark Brown Date: Tue Oct 7 13:04:58 2008 +0100 ALSA: ASoC: Implement WM8510 bias level control The WM8510 bias level configuration blindly overwrites the power management registers, interfering with the operation of DAPM. Only adjust the specific bits required, implementing use of the VMID resistor string configuration control as we go. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 3ab57fbe91994e5d6fb371a34390520c6c905bee Author: Jarkko Nikula Date: Tue Oct 7 14:49:22 2008 +0300 ALSA: ASoC: Remove unused AUDIO_NAME define from codec drivers Signed-off-by: Jarkko Nikula Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit e78cc18d91f23edd9c5319bc1b15a540e351d942 Author: Jarkko Nikula Date: Tue Oct 7 14:49:23 2008 +0300 ALSA: ASoC: tlv320aic3x: Use uniform tlv320aic naming Signed-off-by: Jarkko Nikula Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 5e357952b186555afa0ff4da87431c16503a8ad7 Author: Mark Brown Date: Tue Oct 7 11:56:20 2008 +0100 ALSA: ASoC: Add WM8510 SPI support Implement SPI support for WM8510, cut'n'pasting from the support for WM8731 contributed by Cliff Cai and Alan Horstmann since the wire format is the same for both codecs. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit dd0c0c805d932f34e87ee3c2db9eaee0974bfef8 Author: Mark Brown Date: Mon Oct 6 16:54:34 2008 +0100 ALSA: ASoC: Add WM8753 SPI support Implement SPI support for WM8753, cut'n'pasting from the support for WM8731 contributed by Cliff Cai and Alan Horstmann since the wire format is the same for both codecs. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit df91ddf178481e68b8517bed0813d032d493efa0 Author: Arun KS Date: Fri Oct 3 17:07:30 2008 +0530 ALSA: ASoC: Add custom SOC_SINGLE_TLV for tlv320aic23 codec Replaces SOC_ENUM with custom SOC_SINGLE_TLV for Sidetone volume Signed-off-by: Arun KS Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 3336c5b548b71dcc106a0d862675b30fdf58b3f1 Author: Arun KS Date: Thu Oct 2 15:07:06 2008 +0530 ALSA: ASoC: Add DSP DAI format support to the OMAP McBSP driver Enables DSP DAI format for McBSP in OMAP platform driver Signed-off-by: Arun KS Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 17f9ecf34aaa0ade5c89aba603847309c849297c Author: Arun KS Date: Thu Oct 2 15:02:45 2008 +0530 ALSA: ASoC: Add support for osk5912 Adding ASoC machine driver for osk5912 Signed-off-by: Arun KS Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit c1f27190a72e9310f1777261b33a05319ff2822c Author: Arun KS Date: Thu Oct 2 14:45:49 2008 +0530 ALSA: ASoC: Add TLV320AIC23 codec driver ASoC codec driver for TLV320AIC23 device Signed-off-by: Arun KS Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 869fbb36eeb599eb284548232dce40bb413ed2e9 Author: Mark Brown Date: Sat Sep 27 10:48:31 2008 +0100 ALSA: ASoC: Use snd_soc_dapm_nc_pin() in N810 machine driver Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 35f5e54db923477f71d948f30c291d31bc0de0fc Author: Mark Brown Date: Sat Sep 27 10:45:09 2008 +0100 ALSA: ASoC: Use snd_soc_dapm_nc_pin() in Zaurus machine drivers Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 6b58a82121320f96513d88032dc3495a9c6f450b Author: Cliff Cai Date: Sat Sep 27 22:32:20 2008 +0800 ALSA: ASoC Blackfin: fix bug - Audio Latency on AD1981 with MMAP enabled With MMAP enabled (DMA mode) on the AD1981, there is +/- 250ms of delay between writing data to alsa and audio starts coming out of the AD1981. Copy more data to local buffer before starting DMA Signed-off-by: Cliff Cai Signed-off-by: Bryan Wu Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 5564b14b88a5a34ea848732030fbc202a050daa6 Author: Cliff Cai Date: Sat Sep 27 22:31:21 2008 +0800 ALSA: ASoC Blackfin: add asoc ad73311 driver supporting in Blackfin boards Signed-off-by: Cliff Cai Signed-off-by: Bryan Wu Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 333926803557ee43568ebd9ae17b868d60e77a62 Author: Cliff Cai Date: Sat Sep 27 22:30:15 2008 +0800 ALSA: ASoC Blackfin: add I2S DAI support for AD73311 Signed-off-by: Cliff Cai Signed-off-by: Bryan Wu Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 0e77e78410245894e5ebde30dc68ced6daa81bce Author: Cliff Cai Date: Sat Sep 27 16:57:26 2008 +0800 ALSA: ASoC codec: AD73311 audio codec driver Signed-off-by: Cliff Cai Signed-off-by: Bryan Wu Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 5cabc1a8b3acc4babd69f2c91a6ab4468dac6663 Author: Frank Mandarino Date: Tue Sep 30 10:42:40 2008 -0400 ALSA: ASoC: Remove references to Endrelia ETI-B1 board The ASoC machine drivers for this board were only provided as examples for the new AT91 ASoC platform driver. Since the ETI-B1 board is proprietary and there are other AT91 ASoC machine drivers available, it makes sense to remove these drivers. Signed-off-by: Frank Mandarino Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit b1cbc21c8e0cb9d253dc1388f24495b68261821a Author: Mark Brown Date: Wed Sep 24 11:33:05 2008 +0100 ALSA: ASoC: Use snd_soc_dapm_nc_pin() in GTA01 audio driver Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 5817b52a298adce69e01acf2c131b3dcfda65d64 Author: Mark Brown Date: Wed Sep 24 11:23:11 2008 +0100 ALSA: ASoC: Allow machine drivers to mark pins as not connected Add a new API call snd_soc_dapm_nc_pin() which allows machine drivers to mark pins as being permanently disabled. At present this is identical to snd_soc_dapm_disable_pin() except in terms of improving the internal documentation of machine drivers that use it. The intention is that in future it will be extended to provide additional features such as hiding controls that are only relevant to paths using the disconnected pin. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 4480f15b3306f43bbb0310d461142b4e897ca45b Author: Randy Dunlap Date: Sun Oct 12 16:11:58 2008 -0700 MAINTAINERS: remove colon from headings Remove ending ':' from some of the Topic lines for consistency. Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit e7839f25df8e3129a1cbbfb9484452982098530f Author: Randy Dunlap Date: Sun Oct 12 16:11:45 2008 -0700 MAINTAINERS: add F: and acronyms Add F: definition since it is being used. Expand acronyms or add them so that users of MAINTAINERS file can find entries more easily. Correct driver spelling. Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit e2d1d6c0a5d3fef8da21ed85aa825aa271c62602 Author: Randy Dunlap Date: Sun Oct 12 16:11:31 2008 -0700 MAINTAINERS: alpha sort Sorted case-insensitive (sort -f). Groups that begin with ARM, INTEL, etc. not sorted. Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 78b5b626fa9048337530cc3ba4ceb9e4ee96a386 Author: Kumar Gala Date: Fri Oct 10 09:44:33 2008 +0000 powerpc: Make ppc32 respect the boot cpu id for !CONFIG_SMP Previously the FDT header field boot_cpuid_phys wasn't actually used on ppc32. Instead the physical boot cpuid was assumed to be 0 for !CONFIG_SMP. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 6070bf6afe4c4232ec1e04fa16c056758b2e681b Author: Josh Boyer Date: Fri Oct 10 08:53:21 2008 +0000 powerpc: Remove old Makefile workaround for arch/ppc There is an old workaround in the sysdev/Makefile for dealing with arch/ppc vs. arch/powerpc compiles. This is no longer needed as arch/ppc is dead. Signed-off-by: Josh Boyer Acked-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 64b60e096fa391c56f93e6216115e6757bf86b7e Author: Anton Vorontsov Date: Fri Oct 10 04:43:17 2008 +0000 of: Add new helper of_parse_phandles_with_args() The helper is factored out of of_get_gpio(). Will be used by the QE pin multiplexing functions (they need to parse the gpios = <> too). Signed-off-by: Anton Vorontsov Signed-off-by: Benjamin Herrenschmidt commit 302905a3473d9a1f00e4b2fe373d2763a041a93d Author: Milton Miller Date: Fri Oct 10 01:56:28 2008 +0000 powerpc/xics: Update default_server during migrate_irqs_away Currently, every time we determine which irq server to use, we check if default_server, which is the id of the bootcpu, is still online. But default_server is a hardware cpu, not the logical cpu id needed to index cpu_online_map. Since the default server can only go offline during a cpu hotplug event, explicitly check the default server and choose the new one when we move irqs away from the cpu being offlined. This has the added benefit of only needing the boot_cpuid to be updated and not relying on the cpu being marked offline during migrate_irqs_away. Also, since xics_update_irq_servers only reads device tree information, we can call it before xics_init_host in xics_init_IRQ and then default_server will always be valid when we can reach get_irq_server via the host ops. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit 8767e9badca7cdf0adc2564d7524092d47ababf3 Author: Milton Miller Date: Fri Oct 10 01:56:23 2008 +0000 powerpc/xics: EOI unmapped irqs after disabling them When reciving an irq vector that does not have a linux mapping, the kernel prints a message and calls RTAS to disable the irq source. Previously the kernel did not EOI the interrupt, causing the source to think it is still being processed by software. While this does add an additional layer of protection against interrupt storms had RTAS failed to disable the source, it also prevents the interrupt from working when a driver later enables it. (We could alternatively send an EOI on startup, but that strategy would likely fail on an emulated xics.) All interrupts should be disabled when the kernel starts, but this can be observed if a driver does not shutdown an interrupt in its reboot hook before starting a new kernel with kexec. Michael reports this can be reproduced trivially by banging the keyboard while kexec'ing on a P5 LPAR: even though the hvc_console driver request's the console irq later in boot, the console is non-functional because we're receiving no console interrupts. Reported-By: Michael Ellerman Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit 3280fb313911a80b13de52d9fe37f39668f2138e Merge: f1b2a5a... f319fb8... Author: Linus Torvalds Date: Sun Oct 12 16:10:29 2008 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: ext4: fix kconfig typo and extra whitespace ext4: fix build failure without procfs ext4: add an option to control error handling on file data jbd2: don't dirty original metadata buffer on abort ext4: add checks for errors from jbd2 jbd2: fix error handling for checkpoint io jbd2: abort when failed to log metadata buffers commit 92562927826fceb2f8e69c89e28161b8c1e0b125 Author: Mimi Zohar Date: Tue Oct 7 14:00:12 2008 -0400 integrity: special fs magic Discussion on the mailing list questioned the use of these magic values in userspace, concluding these values are already exported to userspace via statfs and their correct/incorrect usage is left up to the userspace application. - Move special fs magic number definitions to magic.h - Add magic.h include Signed-off-by: Mimi Zohar Reviewed-by: James Morris Signed-off-by: James Morris commit 93db628658197aa46bd7f83d429908b6f187ec9c Merge: f1b2a5a... 0da939b... Author: James Morris Date: Mon Oct 13 09:35:14 2008 +1100 Merge branch 'next' into for-linus commit f319fb8bf6899e08bdb8d1e09a4e7a129dfa2312 Author: Jan Engelhardt Date: Sun Oct 12 15:53:01 2008 -0400 ext4: fix kconfig typo and extra whitespace Signed-off-by: Jan Engelhardt Signed-off-by: Theodore Ts'o commit 3244fcb1ae03362e4aa8cb1a9039fbfd61661859 Author: Alexander Beregalov Date: Sun Oct 12 17:27:49 2008 -0400 ext4: fix build failure without procfs fs/ext4/super.c: In function 'ext4_fill_super': fs/ext4/super.c:2226: error: 'ext4_ui_proc_fops' undeclared (first use in this function) fs/ext4/super.c:2226: error: (Each undeclared identifier is reported only once fs/ext4/super.c:2226: error: for each function it appears in.) Signed-off-by: Alexander Beregalov Signed-off-by: Theodore Ts'o commit f1b2a5ace996de339292d4035f9f5b294aecd11e Merge: 5e4c5f4... 14835a3... Author: Linus Torvalds Date: Sun Oct 12 12:42:29 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: [CIFS] cifs: remove pointless lock and unlock of GlobalMid_Lock in header_assemble commit 5e4c5f4c64902870552d4c15325d9e7d1a39884d Author: Linus Torvalds Date: Sun Oct 12 12:37:16 2008 -0700 Fix Kconfig dependency for WM97xx battery driver It needs the WM97xx touchscreen driver to be compiled in, not as a module. And it cannot itself be a module, due to some unfortunate interactions with platform data. Reported-by: Herbert Xu Acked-by: Mark Brown Signed-off-by: Linus Torvalds commit 807f4f8cdd5b65a8a5fcfda266c074f6a23818dd Merge: 1a2217a... 8daf14c... Author: Linus Torvalds Date: Sun Oct 12 12:04:59 2008 -0700 Merge branch 'x86-core-v2-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip This merges in: x86/build, x86/microcode, x86/spinlocks, x86/memory-corruption-check, x86/early-printk, x86/xsave, x86/quirks, x86/setup, x86/signal, core/signal, x86/urgent, x86/xen * 'x86-core-v2-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (142 commits) x86: make processor type select depend on CONFIG_EMBEDDED x86: extend processor type select help text x86, amd-iommu: propagate PCI device enabling error warnings: fix arch/x86/kernel/io_apic_64.c warnings: fix arch/x86/kernel/early_printk.c x86, fpu: check __clear_user() return value x86: memory corruption check - cleanup x86: ioperm user_regset xen: do not reserve 2 pages of padding between hypervisor and fixmap. xen: use spin_lock_nest_lock when pinning a pagetable x86: xsave: set FP, SSE bits in the xsave header in the user sigcontext x86: xsave: fix error condition in save_i387_xstate() x86: SB450: deprioritize DMI quirks x86: SB450: skip IRQ0 override if it is not routed to INT2 of IOAPIC x86: replace a magic number with a named constant in the VESA boot code x86 setup: remove IMAGE_OFFSET x86 setup: remove DEF_INITSEG and DEF_SETUPSEG Revert "x86: fix ghost EDD devices in /sys again" x86 setup: fix ghost entries under /sys/firmware/edd take 3 x86: signal: remove indent in restore_sigcontext() ... commit 1a2217a9516b134e0a0e54cb4629e1e075d97b17 Merge: 46b5e34... 6eb3ebe... Author: Linus Torvalds Date: Sun Oct 12 12:00:23 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6: avr32: Fix build failures in board code avr32: Allow selecting multiple pins at once avr32: Minor pm_power_off cleanup avr32: Implement {read,write}[bwl]_be avr32: Replace static clock list with dynamic linked list avr32: Use platform_driver_probe for pdc platform driver avr32: Use platform_driver_probe for pio platform driver avr32: Provide a way to deselect pins in the portmux ngw100: export J15 through sysfs avr32: Allow fine-grained control over LCDC pins avr32: added mem kernel command line option support Add kernel support for oprofile callgraphs on AVR32 avr32: use the new byteorder headers commit 46b5e34029fef7a042f3ff16e319e737257e5c7b Merge: 94a9f8a... 6ee6c6a... Author: Linus Torvalds Date: Sun Oct 12 11:51:57 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: (24 commits) MMC: Use timeout values from CSR MMC: CSD and CID timeout values sdhci: 'scratch' may be used uninitialized mmc: explicitly mention SDIO support in Kconfig mmc: remove redundant "depends on" Fix comment in include/linux/mmc/host.h sdio: high-speed support mmc_block: hard code 512 byte block size sdhci: force high speed capability on some controllers mmc_block: filter out PC requests mmc_block: indicate strict ordering mmc_block: inform block layer about sector count restriction sdio: give sdio irq thread a host specific name sdio: make sleep on error interruptable sdhci: reduce card detection delay sdhci: let the controller wait for busy state to end atmel-mci: Add missing flush_dcache_page() in PIO transfer code atmel-mci: Don't overwrite error bits when NOTBUSY is set atmel-mci: Add experimental DMA support atmel-mci: support multiple mmc slots ... commit 94a9f8ad337aec011da2ca901ef89ae7e885f24c Merge: cbf7e94... 6d0f0df... Author: Linus Torvalds Date: Sun Oct 12 11:51:32 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] orion5x_wdt.c: add spinlocking [WATCHDOG] Orion: add hardware watchdog support [WATCHDOG] omap_wdt.c: cleanup a bit omap_wdt.c [WATCHDOG] omap_wdt.c: another ioremap() fix [WATCHDOG] omap_wdt.c: sync linux-omap changes [WATCHDOG] Add AT91SAM9X watchdog [WATCHDOG] Add driver for winbond w83697ug/uf watchdog feature [WATCHDOG] add watchdog driver IT8716 IT8726 IT8712J/K commit cbf7e9490ea3d1680362b4be3a7809042d493617 Merge: 06270d5... cb58ffc... Author: Linus Torvalds Date: Sun Oct 12 11:50:37 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 early panic on amd64 due to typo in supported CPU section x86, early_ioremap: fix fencepost error x86: avoid dereferencing beyond stack + THREAD_SIZE commit 06270d5d6aefb46b88bf44a7c5b1b9b3ef352c48 Author: Adrian Bunk Date: Sun Oct 12 07:15:19 2008 +0300 provide generic_block_fiemap() only with BLOCK=y This fixes the following compile error with CONFIG_BLOCK=n caused by commit 68c9d702bb72f367f3b148963ec6cf5e07ff7f65 ("generic block based fiemap implementation"): CC fs/ioctl.o fs/ioctl.c: In function 'generic_block_fiemap': fs/ioctl.c:249: error: storage size of 'tmp' isn't known fs/ioctl.c:272: error: invalid application of 'sizeof' to incomplete type 'struct buffer_head' fs/ioctl.c:280: error: implicit declaration of function 'buffer_mapped' fs/ioctl.c:249: warning: unused variable 'tmp' make[2]: *** [fs/ioctl.o] Error 1 Signed-off-by: Adrian Bunk Acked-by: Josef Bacik Signed-off-by: Linus Torvalds commit 0dab9cfa17179d1f5b067a32a3bca06cd31a3149 Author: Adrian Bunk Date: Sun Oct 12 07:10:50 2008 +0300 add key_revoke() dummy for KEYS=n This fixes the following build error with CONFIG_KEYS=n, caused by commit dfd15c46a6c2cafb006183c0c14f07e59eee4ac0 ("cifs: explicitly revoke SPNEGO key after session setup"): CC [M] fs/cifs/sess.o fs/cifs/sess.c: In function 'CIFS_SessSetup': fs/cifs/sess.c:628: error: implicit declaration of function 'key_revoke' make[3]: *** [fs/cifs/sess.o] Error 1 Signed-off-by: Adrian Bunk Acked-by: Jeff Layton Signed-off-by: Linus Torvalds commit 07104839597803ccd9b2c4f543ee4651522b4aa1 Merge: 589acce... 56c5d90... Author: Linus Torvalds Date: Sun Oct 12 11:40:55 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6: (180 commits) leo: disable cursor when leaving graphics mode cg6: disable cursor when leaving graphics mode sparc32: sun4m interrupt mask cleanup drivers/rtc/Kconfig: don't build rtc-cmos.o on sparc32 sparc: arch/sparc/kernel/pmc.c -- extra #include? sparc32: Add more extensive documentation of sun4m interrupts. sparc32: Kill irq_rcvreg from sun4m_irq.c sparc32: Delete master_l10_limit. sparc32: Use PROM device probing for sun4c timers. sparc32: Use PROM device probing for sun4c interrupt register. sparc32: Delete claim_ticker14(). sparc32: Stop calling claim_ticker14() from sun4c_irq.c sparc32: Kill clear_profile_irq btfixup entry. sparc32: Call sun4m_clear_profile_irq() directly from sun4m_smp.c sparc32: Remove #if 0'd code from sun4c_irq.c sparc32: Remove some SMP ifdefs in sun4d_irq.c sparc32: Use PROM infrastructure for probing and mapping sun4d timers. sparc32: Use PROM device probing for sun4m irq registers. sparc32: Use PROM device probing for sun4m timer registers. sparc: Fix user_regset 'n' field values. ... commit 589acce53e235055806e81e330af1e8f115bfcc2 Merge: 1efd325... f3073ac... Author: Linus Torvalds Date: Sun Oct 12 11:40:34 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: smc911x: Fix external PHY detection e1000: allow VLAN devices to use TSO and CSUM offload gre: Initialise rtnl_link tunnel parameters properly ipvs: Add proper dependencies on IP_VS, and fix description header line. commit 1efd325fbadc02c1338e0ef676f0a6669b251c7a Author: Linus Torvalds Date: Sun Oct 12 11:30:08 2008 -0700 Fix RTC wakealarm sysfs interface breakage. Commit ed458df4d2470adc02762a87a9ad665d0b1a2bd4 ("PnP: move pnpacpi/pnpbios_init to after PCI init") moved the PnP RTC discovery later, and now the ACPI RTC glue code doesn't find it any more, breaking the RTC wakealarm sysfs interfaces, as reported by Rafael. This really is fairly messy, and we have several annoying ordering constraints here - the PnP code that sets up the RTC resources wants to run after the PCI resources have to be registered, which in turn needs to run after ACPI has at least enumerated the root PCI buses etc. Our initcall ordering is not fine-grained enough to make this all painless. So this moves the ACPI RTC glue ("acpi_rtc_init()") down to a regular module call, which fixes the problem Rafael has. The reason this isn't wonderful is that we really should do acpi_rtc_init before we do the rtc_cmos init, and now those two are in the same module_init() section. Which happens to work, but only because drivers/rtc is linked after drivers/acpi. In other words, we still have a very subtle ordering issue here. Grr. Reported-and-tested-by: Rafael J. Wysocki Acked-by: David Brownell Signed-off-by: Linus Torvalds commit ce52aebd0219edc7a783278fbe80a6ccca0556c0 Author: Alan Jenkins Date: Fri Oct 10 16:02:53 2008 +0100 raid, fastboot: hide RAID autodetect option if MD is compiled as a module Signed-off-by: Alan Jenkins Signed-off-by: Ingo Molnar commit a364092a412975e506415f77f0628cbdd28c3913 Author: Arjan van de Ven Date: Sun Sep 21 15:44:32 2008 -0700 raid: make RAID autodetect default a KConfig option RAID autodetect has the side effect of requiring synchronisation of all device drivers, which can make the boot several seconds longer (I've measured 7 on one of my laptops).... even for systems that don't have RAID setup for the root filesystem (the only FS where this matters). This patch makes the default for autodetect a config option; either way the user can always override via the kernel command line. Signed-off-by: Arjan van de Ven Acked-by: NeilBrown commit 82cbc11a4146d6a8acd81f81f7fe17387668107f Author: Ingo Molnar Date: Mon Aug 18 12:54:00 2008 +0200 warning: fix init do_mounts_md c fix warning: init/do_mounts_md.c: In function ‘md_run_setup’: init/do_mounts_md.c:282: warning: ISO C90 forbids mixed declarations and code also, use the opportunity to put the RAID autodetection code into a separate function - this also solves a checkpatch style warning. No code changed: md5: aa36a35faef371b05f1974ad583bdbbd do_mounts_md.o.before.asm aa36a35faef371b05f1974ad583bdbbd do_mounts_md.o.after.asm Signed-off-by: Ingo Molnar commit 02c15def8400a974fbce02b4f2d65b38c839e88b Author: Arjan van de Ven Date: Sun Jul 20 16:30:29 2008 -0700 fastboot: make the RAID autostart code print a message just before waiting As requested/suggested by Neil Brown: make the raid code print that it's about to wait for probing to be done as well as give a suggestion on how to disable the probing if the user doesn't use raid. Signed-off-by: Arjan van de Ven Date: Sun Jul 20 13:07:09 2008 -0700 fastboot: make the raid autodetect code wait for all devices to init The raid autodetect code really needs to have all devices probed before it can detect raid arrays; not doing so would give rather messy situations where arrays would get detected as degraded while they shouldn't be etc. This is in preparation of removing the "wait for everything to init" code that makes everyone pay, not just raid users. Signed-off-by: Arjan van de Ven commit 8bd9890e94627bc1ef372085e64dda7f9e307e82 Author: Arnaud Patard Date: Fri Sep 19 20:16:25 2008 -0700 fastboot: Fix bootgraph.pl initcall name regexp The regexp used to match the start and the end of an initcall are matching only on [a-zA-Z\_]. This rules out initcalls with a number in them. This patch is fixing that. Signed-off-by: Arnaud Patard commit 709790a9aafe424785dd02bcb31b0dddb4ef59e4 Author: Arjan van de Ven Date: Sun Sep 14 15:30:52 2008 -0700 fastboot: fix issues and improve output of bootgraph.pl David Sanders reported some issues with bootgraph.pl's display of his sytems bootup; this commit fixes these by scaling the graph not from 0 - end time but from the first initcall to the end time; the minimum display size etc also now need to scale with this, as does the axis display. Signed-off-by: Arjan van de Ven commit f9b9796ade7609cd62571d38f064e20c77d31281 Author: Arjan van de Ven Date: Sat Sep 13 09:36:06 2008 -0700 Add a script to visualize the kernel boot process / time When optimizing the kernel boot time, it's very valuable to visualize what is going on at which time. In addition, with some of the initializing going asynchronous soon, it's valuable to track/print which worker thread is executing the initialization. This patch adds a script to turn a dmesg into a SVG graph (that can be shown with tools such as InkScape, Gimp or Firefox) and a small change to the initcall code to print the PID of the thread calling the initcall (so that the script can work out the parallelism). Signed-off-by: Arjan van de Ven commit 6eb3ebe04da4c8f31d776217b0b76ca3d00f20b1 Author: Haavard Skinnemoen Date: Sun Oct 12 16:02:46 2008 +0200 avr32: Fix build failures in board code Fix a few instances of board code breakage introduced by the atmel-mci platform interface changes. Signed-off-by: Haavard Skinnemoen commit caf18f19eefc0cf5539b4e82b8aa8df6a78391a6 Author: Julien May Date: Wed Sep 24 10:30:47 2008 +0200 avr32: Allow selecting multiple pins at once at32_select_periph() now takes an u32 bitmask rather than a single pin. This allows to set multiple pins at once. Signed-off-by: Alex Raimondi Signed-off-by: Haavard Skinnemoen commit 8daf14cf56816303d64d1a705fcbc389211ba36e Merge: 1db5fff... eceb138... 28f7e66... fd1452e... 7aa413d... 46eaa67... 45e96f2... 9f48280... 325af5f... acbaa41... 2407390... Author: Ingo Molnar Date: Sun Oct 12 15:50:02 2008 +0200 Merge branches 'x86/xen', 'x86/build', 'x86/microcode', 'x86/mm-debug-v2', 'x86/memory-corruption-check', 'x86/early-printk', 'x86/xsave', 'x86/ptrace-v2', 'x86/quirks', 'x86/setup', 'x86/spinlocks' and 'x86/signal' into x86/core-v2 commit 0d62950125241a6e6db8e8f14271f098ec7a2da4 Merge: b3bc2c5... 5e7184a... Author: Haavard Skinnemoen Date: Sun Oct 12 15:44:33 2008 +0200 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/atmel-mci-2.6.28 commit 1db5fff9aeab18566eb380e354629fdbbe7792f0 Author: Ingo Molnar Date: Sun Oct 12 15:40:45 2008 +0200 x86: make processor type select depend on CONFIG_EMBEDDED deselecting one of the CPU type CONFIG_CPU_SUP_* config options can render a kernel unbootable. Make sure this option is only available if CONFIG_EMBEDDED is enabled. Signed-off-by: Ingo Molnar commit b7b3a42533e1e41297fe517533375f9f8f7b92d0 Author: Ingo Molnar Date: Sun Oct 12 15:36:24 2008 +0200 x86: extend processor type select help text extend the help text of the CONFIG_CPU_SUP_* config options to express what it does and what effects it has. Signed-off-by: Ingo Molnar commit 14835a3325c1f84c3ae6eaf81102a3917e84809e Author: Jeff Layton Date: Sun Oct 12 13:34:11 2008 +0000 [CIFS] cifs: remove pointless lock and unlock of GlobalMid_Lock in header_assemble We lock GlobalMid_Lock in header_assemble and then immediately unlock it again without doing anything. Not sure what this was intended to do, but remove it. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 8a66712ba0969aea5580b9e312badfc2490fc614 Author: Ingo Molnar Date: Sun Oct 12 15:24:53 2008 +0200 x86, amd-iommu: propagate PCI device enabling error propagate an error in enabling the PCI device. Also eliminates this warning: arch/x86/kernel/amd_iommu_init.c: In function ‘init_iommu_one’: arch/x86/kernel/amd_iommu_init.c:726: warning: ignoring return value of ‘pci_enable_device’, declared with attribute warn_unused_result Signed-off-by: Ingo Molnar commit d562353a4533c4671af683499191707c9a77c406 Author: Ingo Molnar Date: Sun Oct 12 15:22:22 2008 +0200 warnings: fix arch/x86/kernel/io_apic_64.c fix: arch/x86/kernel/io_apic_64.c: In function ‘print_local_APIC’: arch/x86/kernel/io_apic_64.c:1284: warning: format ‘%08x’ expects type ‘unsigned int’, but argument 2 has type ‘long unsigned int’ arch/x86/kernel/io_apic_64.c:1285: warning: format ‘%08x’ expects type ‘unsigned int’, but argument 2 has type ‘long unsigned int’ We want to print the two halves of 'icr' at 32 bit width. Signed-off-by: Ingo Molnar commit 45e96f26f257bd873017c6244a6cafd27f6f5439 Author: Ingo Molnar Date: Wed Aug 27 10:37:14 2008 +0200 warnings: fix arch/x86/kernel/early_printk.c fix warning: arch/x86/kernel/early_printk.c:993: warning: ‘enable_debug_console’ defined but not used Eliminate dead code. Signed-off-by: Ingo Molnar commit 9f482807a6bd7e2aa1ed0d8cfc48463ec4ca3568 Author: Ingo Molnar Date: Mon Aug 18 12:59:32 2008 +0200 x86, fpu: check __clear_user() return value fix warning: arch/x86/kernel/xsave.c: In function ‘save_i387_xstate’: arch/x86/kernel/xsave.c:98: warning: ignoring return value of ‘__clear_user’, declared with attribute warn_unused_result check the return value and act on it. We should not be ignoring faults at this point. Signed-off-by: Ingo Molnar commit 620f2efcdc5c7a2db68da41bc3df3cf9a718024e Merge: 04944b7... fd04808... Author: Ingo Molnar Date: Sun Oct 12 15:17:14 2008 +0200 Merge branch 'linus' into x86/xsave commit 46eaa6702016e3ac9a188172a2c309d6ca1be1cd Author: Ingo Molnar Date: Sun Oct 12 15:06:29 2008 +0200 x86: memory corruption check - cleanup Move the prototypes from the generic kernel.h header to the more appropriate include/asm-x86/bios_ebda.h header file. Also, remove the check from the power management code - this is a pure x86 matter for now. Signed-off-by: Ingo Molnar commit a9b9e81c915e4a57ac3b21d1a7fa7ff184639780 Merge: a8b71a2... fd04808... Author: Ingo Molnar Date: Sun Oct 12 15:05:39 2008 +0200 Merge branch 'linus' into x86/memory-corruption-check commit 45d011031d745d2c9a21c21d289428cb7f88a2d0 Author: Hans Verkuil Date: Thu Oct 9 05:51:22 2008 -0300 V4L/DVB (9129): zoran: move zoran sources into a zoran subdirectory Prevent the zoran driver sources from cluttering the video directory. This changeset only moves the drivers and it does not fix any of the checkpatch warnings/errors to keep the changeset clean. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 19c309e383610453604092473287f77233f31e90 Author: Tim Farrington Date: Sat Oct 11 12:44:38 2008 -0300 V4L/DVB (9135): cx88 Dvico FusionHDTV Pro Well, one thing you encouraged me to do was re-test some of my cards which contained the xc3028-zarlink combo. Which led me to test a Dvico FusionHDTV Pro. Almost a year ago, Chris Pascoe did a patch for this which can be found at his ~pascoe/xc-test at Linuxtv. This worked very well, however that was using his version of firmware. Alas, someone attempted to use this and patch v4l-dvb, and messed it up. So I've fixed it. I enclose the patch against today's tree (containing your latest tuner-xc2028.c patch). The card now works very well, well with DVB-T anyway. Signed-off-by: Tim Farrington Signed-off-by: Mauro Carvalho Chehab commit dd89601d47e2eeab7c17b25f2549444751bcffe4 Author: Hans Verkuil Date: Sat Oct 4 08:36:54 2008 -0300 V4L/DVB (9133): v4l: disconnect kernel number from minor The v4l core creates four different video devices (video, vbi, radio, vtx) and each has its own range of minor numbers. However, modern devices keep increasing the number of devices that they need so a maximum of 64 video devices will not be enough in the future. In addition this scheme makes it very hard to add new device types. This patch disconnects the kernel number allocation (e.g. video0, video1, etc.) from the actual minor number (just pick the first free minor). This allows for much more flexibility in the future. However, it does require the use of udev. For those who cannot use udev a new CONFIG option was created that changes the allocation scheme back to the old behavior. Thanks to Greg KH for suggesting this approach during the 2008 LPC. In addition, several bugs were fixed in the ivtv and cx18 drivers: these drivers try to allocate specific kernel numbers but that scheme contained a bug which caused what should have been e.g. video17 to appear as e.g. video2. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e86a93dc3c870c412592c1f298c1425d80c58c6e Author: Andy Walls Date: Sat Oct 4 19:09:41 2008 -0300 V4L/DVB (9132): cx18: Fix warning message for DMA done notification for inactive stream. cx18: Fix warning message for DMA done notification for inactive stream. The warning message would always gripe that the radio stream was to blame, which was misleading and wrong (/dev/radioN nodes never transfer data). Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 9eee4fb69ecbe6a8a25378e801a3621ef0146fa3 Author: Andy Walls Date: Sat Oct 4 20:28:40 2008 -0300 V4L/DVB (9131): cx18: Add entries for the Leadtek PVR2100 and Toshiba Qosmio DVB-T/Analog cx18: Add entries for the Leadtek PVR2100 and Toshiba Qosmio DVB-T/Analog capture cards. Both cards are hybrids cards, but no digital capture functionality has been added yet. These entries are a first guess at the card entries to get analog working, given the information available. Terry Wu provided a pointer to information for the PVR2100. Martin Juhl , an owner of the Toshiba DVB-T/Analog tuner card, provided the DDR timing information from his Windows inf file. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit f1918fa284afaa46201b9c20a7bbeacd8db0c977 Author: Jean-Francois Moine Date: Thu Oct 9 03:14:03 2008 -0300 V4L/DVB (9126): gspca: Fix some compilation warnings in m5602. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit fadc79935cdb74e744c72e25f739a4acc9efabf5 Author: Jean-Francois Moine Date: Wed Oct 8 08:06:08 2008 -0300 V4L/DVB (9125): gspca: Big rewrite of t613 driver - separate functions for bridge and sensor exchanges - delays added after some exchanges - other sensor type Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit a2d7807788ff3213f540ba772f6c5c39548ae09f Author: Jean-Francois Moine Date: Tue Oct 7 08:42:30 2008 -0300 V4L/DVB (9124): gspca: Bad name of the tv8532 subdriver in Kconfig. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 18f8fae19840a05a3a567e1251cf852bec5928b4 Author: Erik Andren Date: Tue Oct 7 03:02:59 2008 -0300 V4L/DVB (9123): gspca: Add some lost controls to the s5k83a sensor. Signed-off-by: Erik Andren Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 1abe4746ec11cff514c94fb11b3f3ac639fd200d Author: Jean-Francois Moine Date: Mon Oct 6 03:16:08 2008 -0300 V4L/DVB (9122): gspca: Bad name of the sunplus subdriver in Kconfig. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 491831260e94475d14d5465b424df955d1f20aac Author: Jean-Francois Moine Date: Sun Oct 5 04:55:24 2008 -0300 V4L/DVB (9121): gspca: Add the subdriver finepix in Kconfig and Makefile. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit e66c6419231cd61a1be04ef84bc6264556289e7d Author: Jean-Francois Moine Date: Sun Oct 5 04:46:11 2008 -0300 V4L/DVB (9120): gspca: sd_desc->start returns a value and static functions in m5602. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 3145b8c1bfb96b02abf63dcd83ec7517c22cb574 Author: Jean-Francois Moine Date: Sun Oct 5 04:22:10 2008 -0300 V4L/DVB (9119): gspca: Don't destroy the URBs on disconnect. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 79a9098ae47119fad54a3443e358f08e30b7d3a5 Author: Jean-Francois Moine Date: Sun Oct 5 04:21:24 2008 -0300 V4L/DVB (9118): gspca: Set the vertical flip at streamon time in sonixj. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit a482f327ff56bc3cf53176a7eb736cea47291a1d Author: Greg Kroah-Hartman Date: Fri Oct 10 05:08:23 2008 -0300 V4L/DVB (9116): USB: remove info() macro from usb media 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. Cc: Douglas Landgraf Cc: Mike Isely Cc: Thierry Merle Cc: Antoine Jacquet Signed-off-by: Greg Kroah-Hartman Signed-off-by: Mauro Carvalho Chehab commit 79025a9ed9132880d5197611dec6d8533c121ac7 Author: Devin Heitmueller Date: Mon Oct 6 12:07:48 2008 -0300 V4L/DVB (9114): dib0700: fix bad assignment of dib0700_xc5000_tuner_callback after return call Put callback definition before function return and cleanup callback: Fix a bug where the xc5000 callback was being set *after* the return call (essentially resulting in dead code). Also cleanup the callback function to detect unknown commands. Signed-off-by: Devin Heitmueller Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit da703d6262b5d168a4ceb427255cfcf3771b8f96 Author: Hans Verkuil Date: Tue Sep 2 19:00:21 2008 -0300 V4L/DVB (8904): cx88: add missing unlock_kernel sparse found an unbalanced BKL usage. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 028165a336ab7d097d23e2af936dea373e3d3afc Author: Hermann Pitton Date: Sat Oct 4 21:37:36 2008 -0300 V4L/DVB (9113): saa7134: fixes for the Asus Tiger Revision 1.00 In opposite to the P7131 Dual this early OEM card has a male radio antenna connector and also no remote. We currently switch the DVB-T RF feed to the radio input, like on the P7131 with female radio connector used also for DVB-T and should improve this. Signed-off-by: Hermann Pitton Signed-off-by: Mauro Carvalho Chehab commit 1e758265f4df731fcd20e559af3a8eb849db3b4d Author: Andy Walls Date: Fri Oct 3 13:49:05 2008 -0300 V4L/DVB (9111): cx18: Up the version to 1.0.1 cx18: Up the version to 1.0.1. This will make it easy to tell if retries of MMIO access are implemented or not in trouble reports. First course of action for I2C and other initialization problem reports will be to have user upgrade to v1.0.1 of driver. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit d267d85101c509020a12686b96cbd179deaf4ecd Author: Andy Walls Date: Sun Sep 28 21:46:02 2008 -0300 V4L/DVB (9110): cx18: Add default behavior of checking and retrying PCI MMIO accesses cx18: Add default behavior of checking and retrying PCI MMIO accesses. The concept of checking and retrying PCI MMIO accesses for better reliability in older motherboards was suggested by Steve Toth . This change implements MMIO retries and the retry_mmio module parameter that is enabled by default. Limited experiments have shown this is more reliable than the mmio_ndelay parameter. mmio_ndelay has insignificant effect with retries enabled. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 7f9876785276ac7f8606f8bf53a3dae4c10b8adb Author: Thierry MERLE Date: Fri Sep 19 00:24:51 2008 -0300 V4L/DVB (9108): cinergyT2: add remote key repeat feature Implement key repeat feature for the cinergyT2 remote controller. Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 986bd1e58b18c09b753f797df19251804bfe3e84 Author: Tomi Orava Date: Fri Sep 19 00:48:31 2008 -0300 V4L/DVB (9107): Alternative version of Terratec Cinergy T2 driver Alternative version of the Terratec Cinergy T2 driver that uses the dvb framework. Signed-off-by: Tomi Orava Signed-off-by: Thierry MERLE [mchehab@redhat.com: fix dvb Makefile] Signed-off-by: Mauro Carvalho Chehab commit 07c6bb9e6e5c9b8d0f697493cdd3978fc193ca90 Author: Janne Grunau Date: Tue Sep 30 13:57:42 2008 -0300 V4L/DVB (9105): correct Makefile symbol for stv0288 frontend Signed-off-by: Janne Grunau Signed-off-by: Mauro Carvalho Chehab commit 2aa72f3b63e4b524e9e4b1438f6c0d50a214d836 Author: Alexey Klimov Date: Wed Oct 1 09:40:59 2008 -0300 V4L/DVB (9101): radio-mr800: Add driver for AverMedia MR 800 USB FM radio devices This patch creates a new usb-radio driver, radio-mr800.c, that supports the AverMedia MR 800 USB FM radio devices. This device plugs into both the USB and an analog audio input, so this thing only deals with initialization and frequency setting, the audio data has to be handled by a sound driver. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 695ebd125ade17101861c9eb99f74e6cc9a516ed Author: Mauro Carvalho Chehab Date: Sat Oct 4 14:18:37 2008 -0300 V4L/DVB (9098): Whitespace cleanups Signed-off-by: Mauro Carvalho Chehab commit 803f9ccf50178af6cde7aec86db2d78db3d069e7 Author: Jean-Francois Moine Date: Sat Oct 4 14:17:02 2008 -0300 V4L/DVB (9097): gspca: Adjust control values and restore compilation of sonixj. - no compilation since last changeset - brightness is a signed value - better values of the color matrix [mchehab@redhat.com: fix a merge conflict] Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit eeb00c604ad203a51a0b92e124bcc4f98ba7e2c0 Author: Erik Andren Date: Fri Oct 3 15:47:03 2008 -0300 V4L/DVB (9096): gspca: Subdriver selection at config time. Signed-off-by: Erik Andren Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit d2d7e9ae3138307284c815e1c37ea0b7b8834692 Author: Erik Andren Date: Fri Oct 3 15:29:02 2008 -0300 V4L/DVB (9095): gspca: Moves some sensor initialization to each sensor in m5602. Signed-off-by: Erik Andren Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 1b3345996c056a979cfabf96c0815b4843d9bbfc Author: Erik Andren Date: Fri Oct 3 09:28:45 2008 -0300 V4L/DVB (9094): gspca: Frame counter in ALi m5602. Signed-off-by: Erik Andren Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit e293e599524f74532b0add53ddf80f10ff854598 Author: Erik Andren Date: Fri Oct 3 08:46:50 2008 -0300 V4L/DVB (9093): gspca: Cleanup code and small changes. - convert some #define to enum. - remove some comments. - return ENOMEM on memory allocation failure. Signed-off-by: Erik Andren Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit c109f8168f259ea1f1ab7009c6b99dbe8ea0e2b2 Author: Erik Andren Date: Wed Oct 1 04:51:53 2008 -0300 V4L/DVB (9091): gspca: Subdriver m5602 (ALi) added. This patch adds support for the ALi m5602 usb bridge and is based on the gspca framework. It contains code for communicating with 5 different sensors: OmniVision OV9650, Pixel Plus PO1030, Samsung S5K83A, S5K4AA and finally Micron MT9M111. Signed-off-by: Erik Andren Signed-off-by: Jean-Francois Moine [mchehab@redhat.com: fix m5602/Makefile] [mchehab@redhat.com: extern debug caused conflicts. Renamed to m5602_debug] Signed-off-by: Mauro Carvalho Chehab commit a3a58467db3c90a1e289970ef319c7abb90be617 Author: Frank Zago Date: Tue Sep 30 03:55:33 2008 -0300 V4L/DVB (9090): gspca: Restart the state machine when no frame buffer in finepix. Signed-off-by: Frank Zago Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit b1043e562ec9e5fe60af85b3a7eea43e77a35994 Author: Jean-Francois Moine Date: Mon Sep 29 07:03:06 2008 -0300 V4L/DVB (9089): gspca: Remove the duplicated EOF (ff d9) in t613. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 97076859590ada76dc4bee46b6ccad86d89e82cf Author: Frank Zago Date: Mon Sep 29 06:59:36 2008 -0300 V4L/DVB (9088): gspca: New subdriver 'finepix' added. Signed-off-by: Frank Zago Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 95d9142c8b250b2ce0e0a283fdf54d899dcc4f3e Author: Jean-Francois Moine Date: Mon Sep 29 05:57:32 2008 -0300 V4L/DVB (9087): gspca: Image transfer by bulk uses altsetting 0 with any buffer size. - gspca_dev field 'bulk_size' added. - when only one altsetting usable, do image transfer by bulk. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 6b060ffea0722cfe4f5156a73a6424130d3d804a Author: Frank Zago Date: Sun Sep 28 08:12:22 2008 -0300 V4L/DVB (9086): gspca: Use a kref to avoid potentialy blocking forever in disconnect. Signed-off-by: Frank Zago Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 6c49da7f169c25eb39b80ff168f5bdbacf8457e1 Author: Frank Zago Date: Sun Sep 28 07:43:00 2008 -0300 V4L/DVB (9085): gspca: URB_NO_TRANSFER_DMA_MAP is required for isoc and bulk transfers. Signed-off-by: Frank Zago Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 219423c147f6d4bc91ec904debfbc556887bd8fe Author: Frank Zago Date: Fri Sep 26 07:43:54 2008 -0300 V4L/DVB (9084): gspca: Fixed a few typos in comments. Signed-off-by: Frank Zago Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 3b11fa3a0651984af60cb8ff8faf0338552ece1f Author: Jean-Francois Moine Date: Fri Sep 26 05:52:52 2008 -0300 V4L/DVB (9083): gspca: URB_NO_TRANSFER_DMA_MAP is not useful for isoc transfers. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 40e6ec129100041121aea2fb98590eaea4bb6ba2 Author: Jean-Francois Moine Date: Mon Sep 22 03:14:25 2008 -0300 V4L/DVB (9082): gspca: Vertical flip the image by default in sonixj. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 9f4c0617edcc676a5281c04bf48a305b80dd5397 Author: Jean-Francois Moine Date: Mon Sep 22 02:57:56 2008 -0300 V4L/DVB (9081): gspca: Bad webcam name of 046d:092f in documentation. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 72ab97cecb7225a4c9f74cdd80268b50b74697bb Author: Jean-Francois Moine Date: Sat Sep 20 06:39:08 2008 -0300 V4L/DVB (9079): gspca: Return error code from stream start functions. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 1b60e1adc713e8d375dc117f5c3b5032d5b79abe Author: Jean-Francois Moine Date: Sat Sep 20 05:44:21 2008 -0300 V4L/DVB (9078): gspca: New exported function to retrieve the current frame buffer. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 9de436cfc4e966652f8804f0dda8d338ca7fe89c Author: Frank Zago Date: Mon Sep 15 05:20:38 2008 -0300 V4L/DVB (9077): gspca: Set the right V4L2_DEBUG values in the main driver. Signed-off-by: Frank Zago Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 117a45a85e8c250a45674f81aadd68d77281e57b Author: Shane Date: Mon Sep 15 04:18:51 2008 -0300 V4L/DVB (9076): gspca: USB direction lacking in spca561. Signed-off-by: Shane Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 3c41cb77f4be3076fdbcf9a417052c3c6ce78094 Author: Jean-Francois Moine Date: Wed Sep 10 02:57:09 2008 -0300 V4L/DVB (9074): gspca: sonixj webcam 0c45:60fe added. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit eacf8d8d6bc6798f6870a2cf2c159bfcde3759ac Author: Steven Toth Date: Fri Sep 26 00:29:49 2008 -0300 V4L/DVB (9072): S2API: Add DTV_API_VERSION command This allows application developers to query the dvb-core API version dynamically, helping developers understand whether certain features will be available. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit d48cb402a1ba48c4ad4a36c3c561386027318459 Author: Steven Toth Date: Fri Sep 26 00:16:25 2008 -0300 V4L/DVB (9071): S2API: Implement result codes for individual commands This allows application developers to determine which particular command in a sequence is invalid, or failing with error. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 459702bf98ae2bd20bad1e271c615aca4972c609 Author: Steven Toth Date: Fri Sep 26 00:04:52 2008 -0300 V4L/DVB (9070): S2API: Removed the typedef for the commands, used defines instead. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 3e01084519a678b410df247581a51eeb1bbf11d5 Author: Darron Broad Date: Thu Sep 25 16:51:11 2008 -0300 V4L/DVB (9069): cx88: Bugfix: all client disconnects put the frontend to sleep. From the author: "This fixes the problem where previously all client disconnects put the analogue frontend into standby. In the following example, the first command is succesfully watching TV but the second command which returns EBUSY detunes the receiver by entering it into the standby state. tvtime -d /dev/video0 & cat /dev/video0 " Signed-off-by: Steven Toth Signed-off-by: Darron Broad Signed-off-by: Mauro Carvalho Chehab commit f907c0207924dd598db37092d331738e3fcb9fbd Author: Igor M. Liplianin Date: Wed Sep 24 23:18:27 2008 -0300 V4L/DVB (9068): Kconfig dependency fix for DW2002 card with ST STV0288 demodulator. Kconfig dependency fix for DW2002 card with ST STV0288 demodulator. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 1dc7b76a89ea639a575c33710879c425d416dbdb Author: Igor M. Liplianin Date: Wed Sep 24 22:48:53 2008 -0300 V4L/DVB (9067): Kconfig correction for USB card modification with SI2109/2110 demodulator. Kconfig correction for USB card modification with SI2109/2110 demodulator. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 3f6014fc77c3630d2511302e19f4f02af1605947 Author: Stéphane Voltz Date: Fri Sep 5 14:33:54 2008 -0300 V4L/DVB (9066): Pinnacle Hybrid PCTV Pro (pctv310c) DVB-T support This patch against latest mercurial makes DVB-T working on Pinnacle Hybrid PCTV Pro (pctv310c). In cx88-dvb.c, a specific zl10353_config is created with the if2 inferred from the old comment in the currently used config. It is then used for attach, and i2c_gate_ctrl is set to NULL. The entry in cx88-cards.c is modified with GPIO gathered from windows with regspy, and DVB enabled. The frontend is set to XC3028_FE_ZARLINK456 to match the zl10353_config. It is working great with the freeview channels I can receive. Signed-off-by: Stéphane Voltz Signed-off-by: Mauro Carvalho Chehab commit 3de2ed127013219efc439c0d052d1cc825da88c2 Author: Dmitri Belimov Date: Mon Sep 29 02:25:40 2008 -0300 V4L/DVB (9065): saa7134: fix I2C remote controls on saa7134 This is patch for solve this regression. Load ir-kbd-i2c module when remote is i2c type. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Mauro Carvalho Chehab commit f689d9083a3a46ae3801c37d0dbcb170fc6a9608 Author: Adam Glover Date: Tue May 6 03:20:27 2008 -0300 V4L/DVB (9063): Add ADS Tech Instant HDTV PCI support Add PCI ID and device specific tables for ADS Tech Instant HDTV. [mchehab@redhat.com: make checkpatch happy and fix merge conflicts] Signed-off-by: Mauro Carvalho Chehab commit a31d2bb773f23f55cc6713f2d1a9b60977bb8f89 Author: Mauro Carvalho Chehab Date: Mon Sep 29 12:08:29 2008 -0300 V4L/DVB (9062): Add support for Prolink Pixelview Global Extreme Thanks to Sidney Matias for getting GPIO values and testing on this device. Cc: Sidney Matias Signed-off-by: Mauro Carvalho Chehab commit 9b0001913983de65af17eee8baf02283160f5a69 Author: Mauro Carvalho Chehab Date: Thu Jun 26 17:03:00 2008 -0300 V4L/DVB (9061): saa7134: Add support for Real Audio 220 Thanks to Sistema Fenix (http://www.sistemafenix.com.br/) for sponsoring this development. Signed-off-by: Gilberto Signed-off-by: Mauro Carvalho Chehab commit 36f6bb97caa772d7dc42250db74253e0867a444a Author: Mauro Carvalho Chehab Date: Thu Jun 26 17:03:00 2008 -0300 V4L/DVB (9060): saa7134: Add support for Avermedia PCI pure analog (M135A) Thanks to Sistema Fenix (http://www.sistemafenix.com.br/) for sponsoring this development. Signed-off-by: Gilberto Signed-off-by: Mauro Carvalho Chehab commit bf1ece6a4f30f05b227f2ec59fa0d45b5db186d2 Author: Mauro Carvalho Chehab Date: Thu Jun 26 17:03:00 2008 -0300 V4L/DVB (9059): saa7134: Add support for Encore version 5.3 board Thanks to Sistema Fenix (http://www.sistemafenix.com.br/) for sponsoring this development. Signed-off-by: Gilberto Signed-off-by: Mauro Carvalho Chehab commit 27cf8fd14e44d17b22f3591ef65d6920fb9e0409 Author: Shane Date: Thu Sep 11 16:14:09 2008 -0300 V4L/DVB (9058): spca561: while balance -> white balance typo Cc: Jean-Francois Moine Cc: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 8acdbcfd90a1954dcea36c2da4429c305813d470 Author: David Bentham Date: Sun Sep 28 16:29:51 2008 -0300 V4L/DVB (9057): saa7134: Hauppauge HVR-1110, support for radio and analog audio in The audio switch is at 0x100 and radio on gpio 21. Tested-by: Thomas Genty Signed-off-by: David Bentham Reviewed-by: Hermann Pitton Signed-off-by: Mauro Carvalho Chehab commit 0975fc68719c75cbe14132c6f0dead57cd4d5210 Author: Mauro Carvalho Chehab Date: Sun Sep 28 02:24:44 2008 -0300 V4L/DVB (9055): tuner-xc2028: Do a better job selecting firmware type Firmware selection is very tricky on this device. This patch do a better selection of the proper firmware type, by using a code to hint if the firmware to be loaded should be D2620 or D2633. It also allows overriding the hint at the control structure. Signed-off-by: Mauro Carvalho Chehab commit 767f3b3bf23244d52be0492df20b0eaf14f501c5 Author: Michael Krufky Date: Thu Sep 25 09:47:07 2008 -0300 V4L/DVB (9051): dib0700: use dvb_frontend->callback for xc5000 gpio reset The tuner_callback function pointer from struct xc5000_config has been removed. Use dvb_frontend->callback instead. Also, mark function dib0700_xc5000_tuner_callback as static int. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d7cba043d7ec840d67bd5143779d1febe7d83407 Author: Michael Krufky Date: Fri Sep 12 13:31:45 2008 -0300 V4L/DVB (9049): convert tuner drivers to use dvb_frontend->callback Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ebb8d68a5c8c236acd8e8cf8f0d6046e027a8e21 Author: Michael Krufky Date: Wed Sep 10 01:39:20 2008 -0300 V4L/DVB (9048): add a general-purpose callback pointer to struct dvb_frontend Remove tuner_callback pointers from tuner driver configuration and private state structures, replaced with a general-purpose callback pointer within struct dvb_frontend. A new parameter is added to the callback function, called component. This allows us to use this callback pointer by frontend components other than the tuner, if need be. So far, this is only used by tuner drivers. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 48aa739164ca6430b8b1da12ea367b44bb14ce82 Author: Chris Rankin Date: Thu Sep 25 06:52:24 2008 -0300 V4L/DVB (9047): [PATCH] Add remote control support to Nova-TD (52009) This patch adds remote control support for the Hauppauge WinTV Nova-TD (Diversity) model. (That's the 52009 version.) It also adds the key-codes for the credit-card style remote control that comes with this particular adapter. Signed-off-by: Chris Rankin Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit d2fc3bfcc3abd14ffd1191b37d2809e780919ef4 Author: Devin Heitmueller Date: Thu Sep 25 06:22:23 2008 -0300 V4L/DVB (9046): Add support for Non-Pro version of Pinnacle PCTV HD USB Stick Add USB ID for Pinnacle PCTV HD USB Stick. According to the USB trace and photos, the only difference is the removal of the port for the analog S-video/audio input. Thanks to Mike Pringle for providing the USB trace of the device starting up, and testing the support. Signed-off-by: Devin Heitmueller Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit a58843743ca0a774fbfc551adb2e5ecd04d96079 Author: Devin Heitmueller Date: Thu Sep 25 06:21:11 2008 -0300 V4L/DVB (9045): Add Pinnacle 801e dependencies to KConfig Support for the Pinnacle PCTV HD Pro 801e creates a dib0700 dependency on the xc5000 tuner and s5h1411 demodulator drivers. Update KConfig accordingly. Signed-off-by: Devin Heitmueller Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit cb22cb5213192d2c0baaeec0ae4961e268916419 Author: Devin Heitmueller Date: Mon Sep 8 05:42:42 2008 -0300 V4L/DVB (9044): Add support for Pinnacle PCTV HD Pro 801e (ATSC only) Add digital support for the Pinnacle PCTV HD Pro 801e (usb id 2304:023a) Thanks to Patrick Boettcher for providing new firmware fixing the issue with the i2c that prevented the xc5000 from working. Signed-off-by: Devin Heitmueller Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 5769743ad345881911cee4e73ddf6120b00ed3eb Author: Albert Comerma Date: Sun Sep 7 12:43:33 2008 -0300 V4L/DVB (9042): Add support for Asus My Cinema U3000 Hybrid This patch introduces support for dvb-t for the following dibcom based cards: Asus My Cinema U3000 Hybrid (USB-ID: 0b05:1736) Signed-off-by: Albert Comerma Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 8751aaa6c8be191171cd8c7db01a9b4e01892b08 Author: Daniel Oliveira Nascimento Date: Sun Sep 7 12:39:44 2008 -0300 V4L/DVB (9041): Add support YUAN High-Tech STK7700D (1164:1f08) This patch extends the dib0700 driver to support the DVB-part of the Asus notebook M51Sn tv-tunner (USB-ID 1164:1f08). Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 4d2858c65bbd9a98d109b3548b4742d7fd74dcb0 Author: Peter Beutner Date: Sat Sep 6 13:54:06 2008 -0300 V4L/DVB (9040): TTUSB-DEC DVB-S: claim to have lock As reported by BOUWSMA Barry the readout of the signal status doesn't work on dec3000-s models. Since we don't know how to do it better, revert back to the old behaviour and always report a signal lock. Reported by Barry Bouwsma Signed-off-by: Peter Beutner Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit bdc203e156ce938e12d957912bd29ca53d160540 Author: Devin Heitmueller Date: Sat Sep 6 13:45:27 2008 -0300 V4L/DVB (9039): Add support for new i2c API provided in firmware version 1.20 The Pinnacle PCTV HD Pro has an xc5000, which exposed a bug in the dib0700's i2c implementation where it did not properly support a single i2c read request (sending it as an i2c write request instead). Version 1.20 of the firmware added support for a new i2c API which supported such requests. This change defaults to fw 1.20 for all devices, but does not default to using the new i2c API (since initial testing suggests problems interacting with the mt2060). Maintainers can enable the use of the new i2c API by putting the following into their frontend initialization: struct dib0700_state *st = adap->dev->priv; st->fw_use_new_i2c_api = 1; Also note that the code expects i2c repeated start to be supported. If the i2c slave does not support repeated start, i2c messsages should have the I2C_M_NOSTART flag set. Thanks to Patrick Boettcher for providing new firmware fixing the issue as well as example i2c code utilizing the interface. Signed-off-by: Devin Heitmueller Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 17a370bcca661a849c9af07feae86f42d0c6dfd1 Author: Finn Thain Date: Sat Sep 6 13:42:47 2008 -0300 V4L/DVB (9038): Add support for the Gigabyte R8000-HT USB DVB-T adapter. Thanks to Ilia Penev for the tip-off that this device is much the same as (identical to?) a Terratec Cinergy HT USB XE, and for the firmware hints: http://linuxtv.org/pipermail/linux-dvb/2008-August/028108.html DVB functionality tested OK with xine using the usual dib0700 firmware. This diff is based on the latest latest linuxtv.org v4l-dvb mercurial repo. Signed-off-by: Finn Thain Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit b1accfa15533fdd40280aae3102e9599e63a7c10 Author: Laurent Pinchart Date: Sat Sep 27 20:54:02 2008 -0300 V4L/DVB (9036): uvcvideo: Fix control cache access when setting composite auto-update controls Auto-update controls are never marked is loaded to prevent uvc_get_ctrl from loading the control value from the cache. When setting a composite (mapped to several V4L2 controls) auto-update UVC control, the driver updates the control cache value before processing each V4L2 control, overwriting the previously set V4L2 control. This fixes the problem by marking all controls as loaded in uvc_set_ctrl regardless of their type and resetting the loaded flag in uvc_commit_ctrl for auto-update controls. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 5e26d50f4e6b9c42bbfbaa452722797ece929cda Author: Laurent Pinchart Date: Mon Sep 22 13:14:59 2008 -0300 V4L/DVB (9035): uvcvideo: Declare missing camera and processing unit controls. This declares all missing UVC camera and processing unit controls. V4L2 mappings are not supported yet for those controls. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 4aaec3ea41addf6fe4fe029aa535f3c019ee0e6d Author: David Ellingsworth Date: Sun Sep 21 04:12:03 2008 -0300 V4L/DVB (9034): With the recent patch to v4l2 titled "v4l2: use register_chrdev_region instead of register_chrdev", the internal reference count is no longer necessary in order to free the internal stk_webcam struct. This patch removes the reference counter from the stk_webcam struct and frees the struct via the video_device release callback. It also fixes an associated bug in stk_camera_probe which could result from video_unregister_device being called before video_register_device. Lastly, it simplifies access to the stk_webcam struct in several places. This patch should apply cleanly against the "working" branch of the v4l-dvb git repository. This patch is identical to the patch I sent a couple of months back titled "stk-webcam: Fix video_device handling" except that it has been rebased against current modifications to stk-webcam and it no longer depends on any other outstanding patches. Acked-by: Jaime Velasco Juan Signed-off-by: David Ellingsworth Signed-off-by: Mauro Carvalho Chehab commit 714b9a1e0ae3224728d1d96d77150ceea7487a61 Author: Andrew Morton Date: Thu Sep 18 23:26:35 2008 -0300 V4L/DVB (9033): drivers/media/video/tda9840.c: unbreak drivers/media/video/tda9840.c: In function 'tda9840_command': drivers/media/video/tda9840.c:152: warning: 'result' is used uninitialized in this function [mchehab@redhat.com: Fix conflict with another patch that were meant to solve the warning] Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit a31a4055473bf0a7b2b06cb2262347200d0711e1 Author: Ming Lei Date: Tue Sep 16 03:32:20 2008 -0300 V4L/DVB:usbvideo:don't use part of buffer for USB transfer #4 The status[] is part of uvc_device structure. We can't make sure the address of status is at a cache-line boundary in all archs,so status[] might share a cache-line with some fields in uvc_structure. This can lead to some cache coherence issues(http://lwn.net/Articles/2265/). Use dynamically allocated buffer instead. Signed-off-by: Ming Lei Acked-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit d63beb9ef004ff9587b3c466361276254d57d7a7 Author: Laurent Pinchart Date: Mon Sep 15 22:24:29 2008 -0300 V4L/DVB (9031): uvcvideo: Fix incomplete frame drop when switching to a variable size format. When streaming in a fixed size format the driver sets a flag in the uvc_queue structure to drop incomplete incoming frames. The flag wasn't cleared when switching to a variable size format, which resulted in a broken 'MJPEG after YUV'. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 80845e1078463913f8b456e45f1fae886687c363 Author: Laurent Pinchart Date: Mon Sep 15 22:19:46 2008 -0300 V4L/DVB (9030): uvcvideo : Add support for Advent 4211 integrated webcam Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 301e9d64e0bb00c557d9385474cc9d79db0485d9 Author: hermann pitton Date: Sun Sep 14 17:49:14 2008 -0300 V4L/DVB (9028): saa7134: add support for the triple Asus Tiger 3in1 after looking it up, all rants about the 80 columns restriction seem to be in vain. After changing the card's name it are now "only" seven new lines in the tiny DVB-T/DVB-S switch function. saa7130/34: v4l2 driver version 0.2.14 loaded saa7133[0]: found at 0000:02:08.0, rev: 209, irq: 18, latency: 32, mmio: 0xfdef7000 saa7133[0]: subsystem: 1043:4878, board: Asus Tiger 3in1 [card=147,autodetected] saa7133[0]: board init: gpio is 200000 tuner' 2-004b: chip found @ 0x96 (saa7133[0]) saa7133[0]: i2c eeprom 00: 43 10 78 48 54 20 1c 00 43 43 a9 1c 55 d2 b2 92 saa7133[0]: i2c eeprom 10: ff ff ff 0f ff 20 ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom 20: 01 40 01 02 03 01 01 03 08 ff 00 d7 ff ff ff ff saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom 40: ff 28 00 c2 96 16 03 02 c0 1c ff ff ff ff ff ff saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c scan: found device @ 0x10 [???] saa7133[0]: i2c scan: found device @ 0x16 [???] saa7133[0]: i2c scan: found device @ 0x1c [???] saa7133[0]: i2c scan: found device @ 0x96 [???] saa7133[0]: i2c scan: found device @ 0xa0 [eeprom] tda829x 2-004b: setting tuner address to 61 tda829x 2-004b: type set to tda8290+75a saa7133[0]: registered device video0 [v4l2] saa7133[0]: registered device vbi0 saa7133[0]: registered device radio0 DVB: registering new adapter (saa7133[0]) DVB: registering frontend 0 (Philips TDA10086 DVB-S)... The board init gpio is 0x0, 0x200000 is from previously unloading with antenna_switch = 1. It needs firmware for the tda10046 and analog sound needs saa7134-alsa. I have support for one more board and need to fix the first revision of the Asus Tiger DVB-T hybrid. DVB-T currently hangs on the male radio antenna input, also some small other stuff. Please report any issues with this patch, the next are depending on this one. saa7134: add support for the triple Asus Tiger 3in1 Signed-off-by: Hermann Pitton Signed-off-by: Mauro Carvalho Chehab commit e4aab64cb78a42e45e1d387f272712e06cf89a66 Author: Igor M. Liplianin Date: Tue Sep 23 15:43:57 2008 -0300 V4L/DVB (9026): Add support for ST STV0288 demodulator and cards with it. Add support for ST STV0288 demodulator and cards with it, such as TeVii S420. Patch is co-authored with Georg Acher Signed-off-by: Georg Acher Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 8316568930074723bdc47d6777f822be0422a5b7 Author: Steven Toth Date: Tue Sep 23 22:21:26 2008 -0300 V4L/DVB (9025): S2API: Deactivate the ISDB-T definitions We don't want to push the ISDB-T definitions into the kernel until we have a high level of confidence in the ISDB-T API. More testing is required before this code is released. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit fc6e8c284bcb23ac7a576b7959803168398e390a Author: Steven Toth Date: Tue Sep 23 22:14:33 2008 -0300 V4L/DVB (9024): S2API: Cleanup dtv_property remove unwanted fields. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 2491fbb7d5d83ea78c6127cb589c9e6c7649e0aa Author: Steven Toth Date: Mon Sep 22 01:48:13 2008 -0300 V4L/DVB (9023): cx88: HVR3000 / 4000 GPIO related changes Patch by Darron Broad. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 1cbd89dbde2a473f2f3d47ae31163d80fc8ca7e7 Author: Steven Toth Date: Mon Sep 22 01:46:26 2008 -0300 V4L/DVB (9022): cx88: Enable TDA9887 on HVR1300 / 3000 / 4000 Patch provided by Darron Broad. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 5bacea3b9db1b88eeae5427f41efe65138f056da Author: Steven Toth Date: Mon Sep 22 01:45:01 2008 -0300 V4L/DVB (9021): S2API: Add Kconf dependency Patch provided by Darron Broad Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit ee73042c002b435cc8bc49414d466cc3f31af123 Author: Oleg Roitburd Date: Wed Sep 17 11:58:33 2008 -0300 V4L/DVB (9020): Added support for TBS 8920 DVB-S/S2 card Added support for TBS 8920 DVB-S/S2 card. The card based on cx24116 demodulator. Signed-off-by: Oleg Roitburd Signed-off-by: Mauro Carvalho Chehab commit 4cd7fb876ce0beecd4907f81d1a16ea95f5d6d6e Author: Oleg Roitburd Date: Wed Sep 17 11:30:21 2008 -0300 V4L/DVB (9019): Added support for Omicom SS4 DVB-S/S2 card Added support for Omicom SS4 DVB-S/S2 card. The card based on cx24116 demodulator. Signed-off-by: Oleg Roitburd Signed-off-by: Mauro Carvalho Chehab commit 21b007b94c714cda3ebf0fa5b4e40342d2444f79 Author: Igor M. Liplianin Date: Wed Sep 17 19:19:19 2008 -0300 V4L/DVB (9018): Add support for USB card modification with SI2109/2110 demodulator. Add support for USB card modification with SI2109/2110 demodulator. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 04ad28c9916da709f38b1d43817892142c2c3508 Author: Igor M. Liplianin Date: Tue Sep 16 18:21:11 2008 -0300 V4L/DVB (9017): Add support for Silicon Laboratories SI2109/2110 demodulators. Add support for Silicon Laboratories SI2109/2110 demodulator and cards with it, such as DvbWorld PCI2002. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 34c080295af9b3ed9f704a881e07eb5ac128e1ed Author: Darron Broad Date: Mon Sep 22 00:54:59 2008 -0300 V4L/DVB (9016): HVR3000/4000 Hauppauge related IR cleanups From the author: This patch-set fixes remote control issues I have experienced with hauppauge drivers in Linux since the PVR-350 and now with both a NOVA-S+ and HVR-4000. It has also been confirmed to work with an HVR-1300 user who had exactly the same issue. Hauppage remote controls use RC5. RC5 has a bit-field which represents the target device. The hauppauge windows drivers have a registry key which can enable filtering, but the linux drivers will accept any target device in this bit field for internal processing. This causes problems with setups such as mythtv where remote control key presses destined for the TV (target = 0) are interpreted by the kernel and subsequenctly LIRC then mythtv. Of the remote controls I have to hand (wintv black, pvr/hvr silver) the hauppauge remotes send one of two device targets ids, these are interpreted by the patch which then filters out any non hauppauge addresses. Signed-off-by: Steven Toth Signed-off-by: Darron Broad Signed-off-by: Mauro Carvalho Chehab commit 681faa0b7a1d67576df07e0ad55ca42b2eab174a Author: Darron Broad Date: Mon Sep 22 00:47:20 2008 -0300 V4L/DVB (9015): S2API: cx24116 register description fixes. From the author: Here is a simple patch detailing some reverse engineered register detail lost in my latest merge. The comments in the code refer to this register but it is never defined. This corrects this. Signed-off-by: Steven Toth Signed-off-by: Darron Broad Signed-off-by: Mauro Carvalho Chehab commit c063a48923525dcf20924eb8f1af3b22248f1e13 Author: Igor M. Liplianin Date: Sun Sep 14 07:43:53 2008 -0300 V4L/DVB (9014): History update: MPEG initialization in cx24116. Adjust MPEG initialization in cx24116 in order to accomodate different MPEG CLK position and polarity in different cards. For example, HVR4000 uses 0x02 value, but DvbWorld & TeVii USB cards uses 0x01. Without it MPEG stream was broken on that cards for symbol rates > 30000 kSyms/s. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 7396d3ea94b871de66940ea27d4bf81513404990 Author: Darron Broad Date: Sun Sep 14 10:45:58 2008 -0300 V4L/DVB (9013): S2API: cx24116 Rolloff changes, sysctls cleanup, isl power changes. Remove the debugging sysctls. Rolloff was broken, not it works as expected and has been tested in kaffeine. Power related changes for the isl6421 are not implemented on the HVR4000/4000LITE. Signed-off-by: Steven Toth Signed-off-by: Darron Broad Signed-off-by: Mauro Carvalho Chehab commit 35d9c42779ef5e8cb46902bb6987443e136c0517 Author: Igor M. Liplianin Date: Sat Sep 13 20:56:59 2008 -0300 V4L/DVB (9012): Add support for DvbWorld 2004 DVB-S2 PCI adapter Add support for DvbWorld 2004 DVB-S2 PCI adapter. The card contains dm1105 PCI chip and cx24116 demodulator Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 490c868408bc57a756550148313ac8582fe501ef Author: Darron Broad Date: Sat Sep 13 19:42:16 2008 -0300 V4L/DVB (9011): S2API: A number of cleanusp from the last 24 months. I was given these changes by Darron Broad and Igor Liplianin and represent a series of patches they've been making to the cx24116 driver over the last two years. Changes for handling symbolrates >30Ksps Tone handling changes. Diseqc support. Sleep support, shutting down the clocks correctly. Cleanup on ROLL_OFF and PILOT support. *** ST - We need to cleanup the sysclt control, this is abnormal in a demod driver. We should work towards understanding the missing API's and ensure we have them in S2API. *** Signed-off-by: Steven Toth Signed-off-by: Darron Broad Signed-off-by: Mauro Carvalho Chehab commit a611d0ca006fe76d88b8dd5ac44f4468293b6760 Author: Igor M. Liplianin Date: Sat Sep 13 10:10:53 2008 -0300 V4L/DVB (9010): Add support for SDMC DM1105 PCI chip Add support for SDMC DM1105 PCI chip. There is a lot of cards based on it, like DvbWorld 2002 DVB-S , 2004 DVB-S2 Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 83fe92e71ef736a26a6eedd0822b34ed5af077f0 Author: Steven Toth Date: Sat Sep 13 19:22:15 2008 -0300 V4L/DVB (9009): Nova-se2 / Nova-s-plus Intersil6421 power fix to support switches. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 1d78cac4779be3ae6bef4791b3b12928e2499fef Author: Steven Toth Date: Sat Sep 13 18:15:17 2008 -0300 V4L/DVB (9008): S2API: Bugfix related to syncing the cache when used with the old API. Many thanks to Darron Broad for pointing out the obvious. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 75b7f9437b1cf63750bb58efaaeb6d72d04b3c7f Author: Steven Toth Date: Sat Sep 13 16:56:34 2008 -0300 V4L/DVB (9007): S2API: Changed bandwidth to be expressed in HZ Also added some compat code for the older API. Added more ISDB message/command suggestions, current not connected in dvb-core. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 4dd88bec368a6e4caa86a511f7adbc4c08992c5c Author: Steven Toth Date: Sat Sep 13 15:09:07 2008 -0300 V4L/DVB (9006): S2API: Allow reliable use of old and new api on the same frontend, regardless. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit e6f9ec86575358309cf9d4b2643df2f3b1f6f9fa Author: Igor M. Liplianin Date: Fri Sep 12 14:49:06 2008 -0300 V4L/DVB (9005): Bug fix: ioctl FE_SET_PROPERTY/FE_GET_PROPERTY always return error Bug fix: ioctl FE_SET_PROPERTY/FE_GET_PROPERTY always return error Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit bfbf2dae30ed75bceccc6a88d2d9368694d6bf40 Author: Steven Toth Date: Fri Sep 12 01:37:37 2008 -0300 V4L/DVB (9004): S2API: Implement GET/SET handing to the demods The frontends will be notified (if they chose) of all _get and _set commands so they can help determine result or action. Results are now returned to userspace correctly. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 363429a089590f3f4071ebc492b3712fdcba770b Author: Steven Toth Date: Fri Sep 12 01:34:28 2008 -0300 V4L/DVB (9003): S2API: Remove the DTV_SET_ and DTV_GET_ prefixes The API now assumes that ioctl calls for FE_SET_PROPERTY and all set commands, and FE_GET_PROPERTY are get commands. Simplification. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 80a773c9bcc6f67944e186de3d2ab8b582889bc8 Author: Steven Toth Date: Fri Sep 12 00:53:50 2008 -0300 V4L/DVB (9002): S2API: Ensure cache->delivery_system is set at all times. This helps complex demods which support different modulation types be better informed. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit d7c1500183bc138b634377ed90c046e722b887d8 Author: Steven Toth Date: Fri Sep 12 00:33:04 2008 -0300 V4L/DVB (9001): S2API: ISDBT_SEGMENT_NUM -> ISDBT_SEGMENT_IDX Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit d5748f1079c01c8861b05e0de7c4cda271532cb9 Author: Steven Toth Date: Fri Sep 12 00:27:13 2008 -0300 V4L/DVB (9000): S2API: Cleanup code that prepares tuning structures. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit ee33c525c4d09756156cd4c18e6586da900eb310 Author: Steven Toth Date: Thu Sep 11 23:52:32 2008 -0300 V4L/DVB (8999): S2API: Reduce demod driver complexity by using a cache sync For demod drivers, we want a single tuning function (set_frontend) to have access to the properly constructed dvb_frontend_parameters structure, or the cache values - regardless of whether the legacy or new API is being used. This cuts down on redundant code in the demod drivers and ensures the tuning parameters are consistent regardless of the API entry type. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 65af619d84ee2d3a1faacbbeded374d0b313d3a9 Author: Steven Toth Date: Thu Sep 11 21:08:59 2008 -0300 V4L/DVB (8998): s2api: restore DTV_UNDEFINED Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 177b868d93861077619261dcecd0147d1c033026 Author: Steven Toth Date: Thu Sep 11 10:34:19 2008 -0300 V4L/DVB (8997): S2API: Cleanup SYMBOLRATE, INNERFEC -> SYMBOL_RATE, INNER_FEC This is now consistent with the existing API. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit e7fee0f3aa111d42cdcfc1470cfdc21dde0cdbe2 Author: Steven Toth Date: Thu Sep 11 10:23:01 2008 -0300 V4L/DVB (8996): S2API: typedefs replaced, _SEQ_'s removed, fixed 16 command arrays replaced After discussion the following changes were made: 1. Removed the typedefs in frontend.h, use structures. 2. In the frontend.h, remove the 16 command limit on the API and switch to a flexible variable length API. For practical reasons a #define limits this to 64, this should be discussed. 3. Changed dvb-core ioctl handing to deal with variable sequences of commands. tune-v0.0.3.c is required to use this API, it contains the interface changes. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 56f0680a28397f4b412fc14f60ac380b910ee328 Author: Steven Toth Date: Thu Sep 11 10:19:27 2008 -0300 V4L/DVB (8995): S2API: tv_ / TV_ to dtv_ / DTV_ namespace changes The group preferred dtv_ over tv_, this implements it. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit cc8c4f3a9c8dacff198438debd159ae4753744fc Author: Igor M. Liplianin Date: Tue Sep 9 13:57:47 2008 -0300 V4L/DVB (8994): Adjust MPEG initialization in cx24116 Adjust MPEG initialization in cx24116 in order to accomodate different MPEG CLK position and polarity in different cards. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 3f8e51add2b7d37f16343e6bdcc63862d87ccd04 Author: Igor M. Liplianin Date: Tue Sep 9 13:22:29 2008 -0300 V4L/DVB (8993): cx24116: Fix lock for high (above 30000 kSyms) symbol rates cx24116: Fix lock for high (above 30000 kSyms) symbol rates Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 4e54676895a867621f8451b8d97549172730997d Author: Igor M. Liplianin Date: Tue Sep 9 11:29:43 2008 -0300 V4L/DVB (8992): Kconfig corrections for DVBWorld 2104 and TeVii S650 USB DVB-S2 cards Change menu item in Kconfig for DVBWorld 2104 and TeVii S650 USB DVB-S2 cards Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit fe03d5ee6758a2533dbc5e69a693d264d270d04b Author: Igor M. Liplianin Date: Mon Sep 8 17:16:40 2008 -0300 V4L/DVB (8991): Added support for DVBWorld 2104 and TeVii S650 USB DVB-S2 cards Added support for DVBWorld 2104 and TeVii S650 USB DVB-S2 cards This cards based on cx24116 demodulator. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 2cf801e3e38f649d25fe3b4e236976f45e26289f Author: Steven Toth Date: Mon Sep 8 12:07:06 2008 -0300 V4L/DVB (8990): S2API: DVB-S/S2 voltage selection bug fix Thanks to Hans Werner for finding the problem. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit af832623c2a44525df6e4ae0142fb0385479546c Author: Igor M. Liplianin Date: Thu Sep 4 17:24:14 2008 -0300 V4L/DVB (8989): Added support for TeVii S460 DVB-S/S2 card Added support for TeVii S460 DVB-S/S2 card. The card based on cx24116 demodulator. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 13c97bf56724b4f2d3dac139fb4cb081a3c401dc Author: Steven Toth Date: Thu Sep 4 21:19:43 2008 -0300 V4L/DVB (8988): S2API: Allow the properties to call legacy ioctls SET_TONE and SET_VOLTAGE were not previously implemented. Two options existed. Either cut/paste from the previous ioctl handler into the process_properties function, which is code duplication. Or, split the current ioctl handler into it's two major pieces. Piece 1, responsible for input validation and semaphore acquiring Piece 2 the processing of the previous ioctls and finally, a new third pieces where the array of properties is processed, and can freely call the legacy ioctl handler without having to re-acquire the fepriv->sem semaphore. This is a clean approach and ensures the existing legacy ioctls are processed as they were previously (but with an extra function call) and allows the new API to share code without duplication. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 5bd1b66359437864e6b46420ba6770c2b1c4362c Author: Steven Toth Date: Thu Sep 4 01:17:33 2008 -0300 V4L/DVB (8987): cx88: Add support for the Hauppauge HVR4000 and HVR4000-LITE (S2) boards Adding support for Hauppauge's cx88 S2 based products, based on the cx24116 DVB-S2 demodulator. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 0d46748c3f874defbbbf98bcf40c7b18964abbc0 Author: Steven Toth Date: Thu Sep 4 01:14:43 2008 -0300 V4L/DVB (8986): cx24116: Adding DVB-S2 demodulator support Adds support for the COnexant cx24116 DVB-S2 demodulator. TODO: checkpatch cleanup. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 6b73eeafbc856c0cef7166242f0e55403407f355 Author: Steven Toth Date: Thu Sep 4 01:12:25 2008 -0300 V4L/DVB (8985): S2API: Added dvb frontend changes to support a newer tuning API This is an experimental patch to add a new tuning mechanism for dvb frontends. Rather than passing fixed structures across the user/kernel boundary, which need to be revised for each new modulation type (or feature the kernel developers want to add), this implements a simpler message based approach, allowing fe commands to be broken down into a series of small fixed size transactions, presented in an array. The goal is to avoid changing the user/kernel ABI in the future, by simply creating new frontend commands (and sequencies of commands) that help us add support for brand new demodulator, delivery system or statistics related commmands. known issues: checkpatch voilations feedback from various developers yet to be implemented, relating to namespace conventions, variable length array passing conventions, and generally some optimization. This patch should support all existing tuning mechanisms through the new API, as well as adding 8PSK, DVB-S2 NBC-QPSK and ISDB-T API support. For testing and exercise purposes, see the latest tune.c tool available from http://www.steventoth.net/linux/s2 Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 05c1cab55c282199b85138dc1900b5d9bd6fb32a Author: Antti Palosaari Date: Mon Sep 22 12:32:37 2008 -0300 V4L/DVB (8976): af9015: Add USB ID for AVerMedia A309 - AVerMedia A309 Mini Card (07ca:a309) Thanks-to: Dirk Vornheder Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit a3765888a7edc4efe54293d8f7c6676cae61057e Author: Antti Palosaari Date: Fri Sep 19 18:34:06 2008 -0300 V4L/DVB (8975): af9015: cleanup - cleanup Telestar Starstick 2 patch Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 111f9ecf174655f3da2b266602f20f11e6a6a4c7 Author: Mikko Ohtamaa Date: Fri Sep 19 18:26:05 2008 -0300 V4L/DVB (8974): af9015: Add USB ID for Telestar Starstick 2 - Add USB ID for Telestar Starstick 2 (10b9:8000) Signed-off-by: Mikko Ohtamaa Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 28f947a95386861c54de2bf7753dda011c8e15c3 Author: Antti Palosaari Date: Tue Sep 16 14:22:43 2008 -0300 V4L/DVB (8973): af9013: fix compile error coming from u64 div - fix compile error coming from u64 div Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 80619de8117701cad1fb5526be6fcfe6fc2a6cc2 Author: Antti Palosaari Date: Mon Sep 15 17:18:09 2008 -0300 V4L/DVB (8972): initial driver for af9015 chipset - initial driver for the Afatech AF9015 chipset Thanks-to: Mark Spieth Thanks-to: Lee Essen Thanks-to: Luca Olivetti Thanks-to: Andrew Leech Thanks-to: Nick Andrew Thanks-to: Rafael Antoniello Thanks-to: Jarryd Beck Thanks-to: Jose Alberto Reguero Thanks-to: Benjamin Larsson Thanks-to: Wolfgang Breyha Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 825b96708054ca16d6e4d56a29326d3b2cdd697d Author: Antti Palosaari Date: Mon Sep 15 15:01:52 2008 -0300 V4L/DVB (8971): initial driver for af9013 demodulator - initial driver for the Afatech AF9013 demodulator Signed-off-by: Antti Palosaari [mchehab.redhat.com: having a global var called 'debug' is not a good idea. rename it to af9013_debug] Signed-off-by: Mauro Carvalho Chehab commit 6e623433f7f566d8aca64c519a19c2f7bbb686be Author: Antti Palosaari Date: Mon Sep 15 14:34:31 2008 -0300 V4L/DVB (8970): mt2060: implement I2C-gate control - implement I2C-gate control Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit ef80bfeb30f82fb718731a3323a75ae08396a4ea Author: Michael Krufky Date: Tue Sep 16 02:15:30 2008 -0300 V4L/DVB (8968): replace xc3028 firmware filenames with defined default firmware names Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit de3e3b82a6d15264798d4e36f42abaa69f53ca06 Author: roel kluin Date: Thu Sep 18 17:50:15 2008 -0300 V4L/DVB: pxa-camera: Unsigned dma_chans[] cannot be negative Unsigned dma_chans[] cannot be negative Also the third time dma_chans[0] < 0 was tested instead of dma_chans[2] Signed-off-by: Roel Kluin Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 26dc4d0487bb8b8de32d09c18a83c63d622156f2 Author: Janne Grunau Date: Sun Sep 21 20:50:11 2008 -0300 V4L/DVB (8964): dvb/budget: push adapter_nr mod option down to individual drivers adapter_nr mod option does not make sense for budget-core since it is only common code shared by all budget drivers Signed-off-by: Janne Grunau Signed-off-by: Mauro Carvalho Chehab commit 8ca4dae3e601b527cb099ef72d821d7af075f8ae Author: Jean Delvare Date: Sun Sep 7 05:58:54 2008 -0300 V4L/DVB (8962): zr36067: VIDIOC_S_FMT returns the colorspace value Ioctl VIDIOC_S_FMT is supposed to fill the colorspace value in the returned buffer. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit 4c522e74902a1fa15a7ec5e5a3325b250afa54ab Author: Kirill A. Shutemov Date: Wed Sep 10 08:22:06 2008 -0300 V4L/DVB (8959): include into linux/ivtv.h linux/videodev2.h defines enum v4l2_buf_type and struct v4l2_rect Signed-off-by: Kirill A. Shutemov Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 176c2f34157a8d8b252c8f0bc242457c971b06a1 Author: Jean Delvare Date: Sun Sep 7 12:49:59 2008 -0300 V4L/DVB (8956): bttv: Turn video_nr, vbi_nr and radio_nr into arrays With video_nr, vbi_nr and radio_nr being simple integers, it is not possible to use these parameters on a system with multiple bttv adapters (which happens to be my case.) video_register_device() will always fail on the second and later adapters. Turn these parameters into arrays, as many other V4L drivers are already doing, so that they can be used on such systems. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit c87994db017a5a28af2edd043669a371d800919e Author: Julia Lawall Date: Thu Sep 11 09:33:26 2008 -0300 V4L/DVB (8954): common/tuners: Drop code after return or goto The break after the return or goto serves no purpose. Signed-off-by: Julia Lawall Reviewed-by: Richard Genoud Signed-off-by: Mauro Carvalho Chehab commit c9166977efdb6480dbac13df226113eb75026606 Author: Huang Weiyi Date: Tue Sep 9 10:10:52 2008 -0300 V4L/DVB: remove unused #include The file(s) below do not use LINUX_VERSION_CODE nor KERNEL_VERSION. drivers/media/video/pwc/pwc-ctrl.c This patch removes the said #include . Signed-off-by: Huang Weiyi Signed-off-by: Mauro Carvalho Chehab commit 30650961907368b1077cade35455fe931b14da6b Author: Michael Krufky Date: Sat Sep 6 14:56:58 2008 -0300 V4L/DVB (8951): xc5000: dont pass devptr in xc5000_attach() Dont pass devptr in xc5000_attach, dont store it in xc5000_priv. This pointer is passed into the tuner_callback function, which always expects a pointer to fe->dvb->priv or i2c_adapter->algo_data. This prevents future possible bugs in new drivers, such as using a "devptr" other that the standard fe->dvb->priv in a DVB driver. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2a6003c20771ca16fc6386b5fd258df2f2fa8232 Author: Michael Krufky Date: Sat Sep 6 13:54:45 2008 -0300 V4L/DVB (8950): xc5000: prevent an OOPS if analog driver is unloaded while digital is in use Prevent an OOPS if xc5000_attach was called by tuner.ko before being called by the DVB adapter driver. The OOPS occurs when a digital tune request is made after tuner.ko is unloaded. When tuner.ko is unloaded, it takes the xc5000_config structure with it. Rather than storing a pointer to the xc5000_config structure, just store the if_khz and tuner_callback inside the xc5000_priv internal state structure. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 89fd28545c7390eb6c63d3d9e6faac78942dd1a4 Author: Michael Krufky Date: Sat Sep 6 11:44:53 2008 -0300 V4L/DVB (8949): xc5000: allow multiple driver instances for the same hardware to share state Convert xc5000 to use the hybrid_tuner_request_state and hybrid_tuner_release_state macros to manage state sharing between hybrid tuner instances. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ffb412346bcebf143d0f43ab4c6a61c4270a9266 Author: Michael Krufky Date: Sat Sep 6 10:52:30 2008 -0300 V4L/DVB (8948): xc5000: kill xc5000_priv.h move struct xc5000_priv into xc5000.c and delete xc5000_priv.h Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 942648af36e4d4b91e52b3e1a87d4cafd6f7aa46 Author: Hans Verkuil Date: Sun Sep 7 08:38:50 2008 -0300 V4L/DVB (8946): dib7000m: fix powerpc build error The dib7000m_i2c_enumeration() function is not used by any public drivers, however some prototype board use it. So '#if 0' for now, but don't remove it. Thanks to Patrick Boettcher for clarifying this. Cc: Patrick Boettcher Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9ebeae5641b141a71ed442e9fcb4993f6c0cd04f Author: Hans Verkuil Date: Sun Sep 7 08:32:44 2008 -0300 V4L/DVB (8945): mxb: use unique i2c adapter name Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 96af9880c0d38fa6f331d1dd4cd39c5f5227fbbf Author: Hans Verkuil Date: Sun Sep 7 08:31:38 2008 -0300 V4L/DVB (8944): saa5249: convert i2c driver for new i2c API - Convert to use v4l2-i2c-drv-legacy.h to be able to handle the new i2c API - Cleanups - Use v4l_dbg/v4l_info to have uniform kernel messages Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 71ef85c7e0f431467c2e18314ff0cb8fa2b84e5f Author: Hans Verkuil Date: Sun Sep 7 08:31:13 2008 -0300 V4L/DVB (8943): saa5246a: convert i2c driver for new i2c API - Convert to use v4l2-i2c-drv-legacy.h to be able to handle the new i2c API - Cleanups - Use v4l_dbg/v4l_info to have uniform kernel messages Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2633812f897cc354071699e86ea82e3bfd77cddc Author: Hans Verkuil Date: Sat Sep 6 17:24:30 2008 -0300 V4L/DVB (8942): mxb: coding style cleanups Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 707ecf4603a9439dcf409e13c5e9ed4e164ddfff Author: Hans Verkuil Date: Sat Sep 6 15:40:25 2008 -0300 V4L/DVB (8941): mxb/tda9840: cleanups, use module saa7115 instead of saa7111. Cleanup tda9840 and use a v4l2 API to get the tuner subchannels. Do some cleanups in mxb and switch to saa7115 instead of the saa7111 module. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 6bd6dff6318397b1127dd256b65dde007306b8ea Author: Hans Verkuil Date: Sat Sep 6 15:26:44 2008 -0300 V4L/DVB (8940): saa7115: fix saa7111(a) support The saa7111 support in saa7115.c was missing some features and did not properly take some of the differences into account. With this patch saa7115 can be used in the mxb driver instead of saa7111.c. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2796073a3d9cc4f610f1e68b3f62c197d86577ab Author: Hans Verkuil Date: Sat Sep 6 14:02:43 2008 -0300 V4L/DVB (8939): cx18: fix sparse warnings Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f2a01a0027b29f682c3833d582e2827a4690f661 Author: Douglas Schilling Landgraf Date: Mon Sep 8 03:27:20 2008 -0300 V4L/DVB (8937): em28xx: Fix and add some validations Fixed and Added some validations Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit a50f4a444a14a116e2eb077e01c2eaf58ddb7c6a Author: Douglas Schilling Landgraf Date: Mon Sep 8 03:23:55 2008 -0300 V4L/DVB (8936): em28xx-cards: Add vendor/product id for EM2820_BOARD_PROLINK_PLAYTV_USB2 Added vendor/product id for EM2820_BOARD_PROLINK_PLAYTV_USB2 Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 6c86274fcdf4b3893ee22c1e39ddfb5b05bf0362 Author: Jean-Francois Moine Date: Mon Sep 8 04:57:26 2008 -0300 V4L/DVB (8931): gspca: Vflip added for sonixj - ov7630. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 51977a8daab6775b91986b566056eb2a2f10202d Author: Jean-Francois Moine Date: Mon Sep 8 03:22:42 2008 -0300 V4L/DVB (8930): gspca: The image transfer by bulk is started by the subdrivers. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 7b537391dde35d7f412417a95f02f89af08dd2d3 Author: Jean-Francois Moine Date: Sun Sep 7 11:56:49 2008 -0300 V4L/DVB (8929): gspca: sonixj webcam 0458:702e added. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 3371bcc328c7345fe8d69b7a828890b62fb21744 Author: Jean-Francois Moine Date: Sat Sep 6 04:21:08 2008 -0300 V4L/DVB (8928): gspca: Version change to 2.3.0. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit d654dca7bca79dd3981267e398b6a7df34d3d047 Author: Jean-Francois Moine Date: Sat Sep 6 04:18:48 2008 -0300 V4L/DVB (8927): gspca: PAC 207 webcam 093a:2476 added. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 446f245977e9c2ac4507c3543c7e2a587f46beab Author: Andy Walls Date: Sat Sep 6 16:43:59 2008 -0300 V4L/DVB (8924): cx18: Set mmio throttling delay default to 0 nsec. cx18: Set mmio throttling delay default to 0 nsec. Not doing so makes analog tuner audio not work on some mahcines. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 854ad9abcc7c1aa143d1a18409d4f366d4326a80 Author: Hans Verkuil Date: Sat Sep 6 09:56:17 2008 -0300 V4L/DVB (8921): ivtv: fix incorrect capability and assorted sliced vbi and video out fmt fixes - V4L2_CAP_VBI_OUTPUT is not supported by ivtv, remove it. - ivtv_try_fmt_vid_out also needed to constrain the width/height of MPEG decoder window sizes. - allow empty sliced services. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit effc3466d32108bec7da19aa23c1fddee9cafbab Author: Hans Verkuil Date: Sat Sep 6 08:24:37 2008 -0300 V4L/DVB (8920): cx18/ivtv: fix check of window boundaries for VIDIOC_S_FMT It was possible to set out-of-bounds windows sizes, this is now fixed. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ff5f26b40ab43a6c263834665bfa10d6114a27cd Author: Hans Verkuil Date: Sat Sep 6 07:00:24 2008 -0300 V4L/DVB (8918): saa6752hs: simplify writing to registers Add some utility functions to set registers. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9afb7377ef16a73d1ae7b089aa853e00a3facea8 Author: Hans Verkuil Date: Sat Sep 6 06:34:44 2008 -0300 V4L/DVB (8917): saa7134-empress: fix changing the capture standard for non-tuner inputs When changing the standard the saa6752hs was not updated unless the input was the TV tuner. The saa6752hs should be updated regardless of the input. In addition the S_STD and G_STD ioctls for the mpeg video device didn't do anything. This is now fixed: they behave just like S_STD and G_STD on the video0 device. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ac2b97b13e5627127b8e29dc0e1e1d7be03eaae4 Author: Andy Walls Date: Thu Sep 4 13:16:40 2008 -0300 V4L/DVB (8915): cx18: Increment u8 pointers not void pointers. cx18: Increment u8 pointers not void pointers. Incrementing void pointers is dubious and the real intent in cx18_memcpy_fromio() and cx18_memset_io() is to increment by bytes, so use u8 pointers instead. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit c641d09c60bfa36c7cf70444f24265090e51f5ce Author: Andy Walls Date: Mon Sep 1 00:40:41 2008 -0300 V4L/DVB (8914): cx18: Throttle mmio to/from the CX23418 so boards work in older systems cx18: Throttle mmio to/from the CX23418 so boards work in older systems. The CX23418 couldn't reliably handle mmio at the rate at which the cx18 driver was attempting to access the chip. The PCI bridge arrangements and settings on modern motherboards still allowed the CX23418 to work OK, but it didn't work well on many older motherboards: mysterious I2C errors, firmware loading errors, etc. This patch adds a throttle to *all* mmio access to the CX23418. It defaults to a delay of 31 ns, but is adjustable by the mmio_ndelay module parm. My HVR-1600 and Raptor PAL/SECAM card now function for analog capture on a motherboard with an Intel 82810E Northbridge and 82801AA Southbridge. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit b1526421eac9a912b2cda7e147f1da2aa31be278 Author: Andy Walls Date: Sat Aug 30 16:03:44 2008 -0300 V4L/DVB (8913): cx18: Create cx18_ specific wrappers for all pci mmio accessesors. cx18: Create cx18_ specific wrappers for all pci mmio accessesors. This is a first step in instrumenting all CX23418 PCI bus IO, to debug problems with accessing the CX23418's PCI memory mapped IO. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 4519064c1c7ccdd319d26181bdd12ee2df6e336e Author: Andy Walls Date: Fri Aug 29 16:10:21 2008 -0300 V4L/DVB (8912): cx18: Correct CX23418 PCI configuration settings. cx18: Correct CX23418 PCI configuration settings. The CX23418 doesn't have I/O space registers, so there was no need to try and turn them on (the card ignores the attempt to set the bit anyway). Also removed incorrect config space register setting that was errantly borrowed from ivtv. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 0be01004ddc0694d8c592fff05ab88dabd45f476 Author: Jean-Francois Moine Date: Thu Sep 4 07:01:50 2008 -0300 V4L/DVB (8910): gspca: Add support of image transfer by bulk and minor change. - image transfer by bulk - set the max number of transfer URS's to 4 (was 16) Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit d45b9b8ab43c8973a9630ac54f4ede6c3e009f9e Author: Hans Verkuil Date: Thu Sep 4 03:33:43 2008 -0300 V4L/DVB (8906): v4l-dvb: fix assorted sparse warnings Fix sparse warnings. None are serious, but cutting down on these helps find future serious sparse warnings/errors. Redid the av7710.c patch based on a suggestion by Oliver Endriss. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2bb87c24d7d5639bff65b41b1306542d6d2bf7d0 Author: Mike Isely Date: Wed Sep 3 21:51:59 2008 -0300 V4L/DVB (8902): pvrusb2: Remove comment lines which refer to checkpatch's behavior Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 0cc118671282044b2a87621e16d7722d5e60cd08 Author: Mike Isely Date: Sun Aug 31 21:06:11 2008 -0300 V4L/DVB (8901): pvrusb2: Disable virtual IR device when not needed. Disable "virtual" IR receiver on for 24xxx devices that have an internal IR blaster. In that case there's another another IR receiver present and to leave the virtual receiver available just causes confusion. This means that 24xxx users will no longer see a phantom IR chip. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 432907f750b27aa2b41e1bf398e6eb711ead448f Author: Mike Isely Date: Sun Aug 31 21:02:20 2008 -0300 V4L/DVB (8900): pvrusb2: Implement cropping pass through This builds upon the previous pvrusb2 change to more formally implement full cropping support. This enables access from the driver's V4L interface, and enables access to full capabilities from sysfs as well. Note that this is only effective when in analog mode. It also will only work when the underlying digitizer's driver (saa7115 or cx25840 depending on the hardware) also implements the appropriate functions. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 0b7c2c9598e7447ad6a9d157491e6c5459ae56de Author: Mike Isely Date: Sun Aug 31 20:57:54 2008 -0300 V4L/DVB (8899): pvrusb2: Implement default value retrieval in sysfs interface Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 26dd1c57a05f5c6d339d55d5317d47576fd2fbc5 Author: Mike Isely Date: Sun Aug 31 20:55:03 2008 -0300 V4L/DVB (8898): pvrusb2: Be able to programmatically retrieve a control's default value The pvrusb2 control mechanism up until now has used a constant int to hold a control's default value. This change makes it possible to retrieve the control's default through some other means, e.g. as a result of a query from lower level software. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 755879c66bb820ec27e2e02b22b13d3896583efe Author: Mike Isely Date: Sun Aug 31 20:50:59 2008 -0300 V4L/DVB (8897): pvrusb2: Mark crop window size change as being disruptive to the encoder Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit e784bfb93c155ba4b354452c69ac02a29d336d97 Author: vdb128@picaros.org Date: Sat Aug 30 18:26:39 2008 -0300 V4L/DVB (8896): pvrusb2: Implement crop support Implement pvrusb2 driver plumbing to support cropping. Submitted by a pvrusb2 user. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit fe15f13679bf52bb5c8acb8b4847e6d73ba62c17 Author: Mike Isely Date: Sat Aug 30 18:11:40 2008 -0300 V4L/DVB (8895): pvrusb2: Fail gracefully if an alien USB ID is used The driver includes an internal table specifying additional information on a per device-type basis. This works great until somebody tries to run-time associate another USB ID with the driver. This change should hopefully allow the driver to fail gracefully under such a circumstance. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 157afbc0de7d99cde39a5525b4c43acd4e02ef82 Author: Mike Isely Date: Sat Aug 30 15:11:16 2008 -0300 V4L/DVB (8894): pvrusb2: Remove BKL The earlier change from Hans Verkuil that pushed the BKL from video_open() down into the drivers should be unneeded for the pvrusb2 driver. This driver's implementation for open already protects its internal structures through other means, thus the BKL is not required. This change reverses Hans' previous change, for the pvrusb2 driver. It probably would have been a good idea for Hans to previously have asked for my ack before committing his change. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 5f33df1443cd53283279d017b45ed1b1bc66f622 Author: Mike Isely Date: Sat Aug 30 15:09:31 2008 -0300 V4L/DVB (8893): pvrusb2: Add comment elaborating on direct use of swab32() Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 83512e207479d0bdb83ee1e000a306af9e6e870e Author: Oliver Endriss Date: Thu Sep 4 20:35:19 2008 -0300 V4L/DVB (8890): budget: Add callback to load firmware for the TDHD1 tuner Supply callback to load firmware for the TDHD1 tuner (using request_firmware). Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 9e615eac827094147401c44c9ff955b468d4fa79 Author: Oliver Endriss Date: Wed Sep 3 19:15:27 2008 -0300 V4L/DVB (8889): dvb-ttpci: Support full-ts hardware modification Add support for the 'full-ts' hardware modification. On full-featured cards the data throughput is limited by the hardware design. The full-ts mod removes this bottleneck, i.e. the card is able to deliver the complete transport stream of a transponder. For details see http://www.escape-edv.de/endriss/dvb-full-ts-mod Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 81ae953b687e7cdfa094b07a6544523f3bb81aa3 Author: Oliver Endriss Date: Wed Sep 3 18:16:09 2008 -0300 V4L/DVB (8888): budget: Support Activy DVB-T with TDHD1 tuner Support Fujitsu-Siemens Activy DVB-T card rev AL (ALPS TDHD1-204A tuner). Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 26d2e854bc242f0134a4be7f1eed98129d96d943 Author: Alexander Beregalov Date: Mon Jul 21 16:20:32 2008 -0300 V4L/DVB (8559): replace __FUNCTION__ with __func__ v4l: replace __FUNCTION__ with __func__ Signed-off-by: Alexander Beregalov Signed-off-by: Mauro Carvalho Chehab commit eb1b27bd86db6f9f73d6db973b18f31790a3d410 Author: Jean Delvare Date: Sat Aug 30 10:18:21 2008 -0300 V4L/DVB (8879): bttv: Don't unmask VPRES interrupt When the input is set to tuner and no antenna is connected, the BT848 can flood VPRES interrupts. So we don't want to enable this type of interrupts when the input it set to tuner. As we don't do anything when receiving such an interrupt anyway, the easiest fix is to simply not unmask this specific interrupt. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit bccd7003aef20e040cef95d1216dac26199d7071 Author: Patrick Boettcher Date: Sat Aug 30 12:15:54 2008 -0300 V4L/DVB (8866): Add dummy FE to the Kconfig-file and fix it Reactivated dummy frontend driver which is extremely useful for debugging. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 6ea9a1829a89515c1866151b1fdca7ee612d1490 Author: Hans Verkuil Date: Sat Aug 30 09:40:47 2008 -0300 V4L/DVB (8857): v4l2-dev: replace panic with BUG Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 20c104d0a4d055cfa3df4fcbae818f8e10bd541a Author: Hans Verkuil Date: Sat Aug 30 08:21:13 2008 -0300 V4L/DVB (8856): v4l: fix assorted compile warnings/errors BIT define conflicts on kernels < 2.6.24, byteorder/swab.h doesn't need to be included at all. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 7f8ecfab7a1d256707502207c56dd4bf3e3a026e Author: Hans Verkuil Date: Fri Aug 29 17:31:35 2008 -0300 V4L/DVB (8852): v4l2: use register_chrdev_region instead of register_chrdev Replace the old register_chrdev with the more flexible register_chrdev_region. Ensure that the release() is called when the very last chardev usage was released, and not when the sysfs devices were removed. This should simplify hotpluggable drivers considerably. Tested-by: Mike Isely Tested-by: Laurent Pinchart Signed-off-by: Hans Verkuil Acked-by: David Ellingsworth Reviewed-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 187565c43a95bcf7798c58d518ddd765933d24da Author: Hans Verkuil Date: Sat Aug 30 06:03:09 2008 -0300 V4L/DVB (8850): bt856: fix define conflict Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 4e08caf0cb85c4f63ddaf72a67d95fba8528e04e Author: Laurent Pinchart Date: Fri Aug 29 17:57:10 2008 -0300 V4L/DVB (8847): uvcvideo: Add support for a Bison Electronics webcam found in the Fujitsu Amilo SI2636. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 08ebd003d90955d78b58bb348a098fee301b8a82 Author: Laurent Pinchart Date: Fri Aug 29 17:37:44 2008 -0300 V4L/DVB (8846): uvcvideo: Supress spurious "EOF in empty payload" trace message Pass the payload size instead of the header size to uvc_video_decode_end() to avoid generating an extra trace message for each frame. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 22b88d48a08e334d36218ca166749c4e6d644f0c Author: Dean Anderson Date: Fri Aug 29 15:33:19 2008 -0300 V4L/DVB (8845): s2255drv: adds JPEG compression quality control adds VIDIOC_S_JPEGCOMP and VIDIOC_G_JPEGCOMP ioctls for controlling JPEG compression quality. Signed-off-by: Dean Anderson Signed-off-by: Mauro Carvalho Chehab commit abc94fc8feb1488079dd7dd46bd61d37d91c5658 Author: David Howells Date: Wed Aug 27 10:46:39 2008 -0300 V4L/DVB (8838): CRED: Wrap task credential accesses in video input drivers Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Signed-off-by: Mauro Carvalho Chehab commit 4c56b04af67211c4311dd9961ce5aba86b96ba9c Author: Steven Toth Date: Tue Aug 12 13:30:03 2008 -0300 V4L/DVB (8807): Add DVB support for the Leadtek Winfast PxDVR3200 H This patch is on behalf of Stephen Backway , and represents two patches I received (and some subsequent whitespace cleanup I had due to how I pulled the patches). From the original author: a) Add DVB support for the Leadtek Winfast PxDVR3200 H. b) The tuner callback previously checked the command 3 times: 1) To see if it was the XC2028_RESET_CLK 2) To see if it was not the XC2028_RESET_TUNER 3) To see if it was the XC2028_RESET_TUNER This patch removes the third check. Signed-off-by: Steven Toth Signed-off-by: Stephen Backway Signed-off-by: Mauro Carvalho Chehab commit ba77531f51d59a4ca4e5f9b5960301f7dc7a5390 Author: Harvey Harrison Date: Wed Aug 27 17:20:01 2008 -0300 V4L/DVB (8800): [v4l-dvb-maintainer] [PATCH] v4l: mt9m111.c make function static drivers/media/video/mt9m111.c:758:5: warning: symbol 'mt9m111_restore_state' was not declared. Should it be static? New warning in next-20080825 Signed-off-by: Harvey Harrison Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 28531558006d5c525b19a207a7ab4ec0643191c9 Author: Guennadi Liakhovetski Date: Fri Aug 29 15:16:31 2008 -0300 V4L/DVB (8799): soc-camera: add API documentation Signed-off-by: Guennadi Liakhovetski Acked-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 92c36147a7fdcead94f98c0a14f30d279653fa64 Author: Dmitry Belimov Date: Tue Aug 26 14:16:33 2008 -0300 V4L/DVB (8797): A simple state machine was added to saa7134_ts. A simple state machine was added to saa7134_ts. It has three states: SAA7134_TS_STOPPED SAA7134_TS_BUFF_DONE SAA7134_TS_STARTED When buffer_setup is run we start the TS initialization: set SAA7134_TS_STOPPED. When all buffers are prepared we write data into DMA register and set SAA7134_TS_BUFF_DONE. When the first buffer is active start TS and set SAA7134_TS_STARTED. When ts_release is called stop TS and set SAA7134_TS_STOPPED. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 8809b9cc8658d27c17d4fc07811b0ebd3f74f20c Author: Dmitry Belimov Date: Tue Aug 26 13:47:10 2008 -0300 V4L/DVB (8796): saa7134-empress: remove incorrect IRQ defines for TS SAA7134_IRQ1_INTE_RA2_3 and SAA7134_IRQ1_INTE_RA2_2 are used for planar video, not for TS. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f03813e4d1900b619d4cb133506b130e535614f0 Author: Dmitry Belimov Date: Tue Aug 26 13:44:40 2008 -0300 V4L/DVB (8795): saa7134-empress: insert leading null bytes for Beholder M6 empress cards Additional code to improve the init sequence and add board type tests were done by Hans Verkuil. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9d95af9d09d537d287eea9914c0d1ca4cfa0ec7f Author: Hans Verkuil Date: Sun Aug 24 11:18:47 2008 -0300 V4L/DVB (8791): v4l2-dev: do not clear the driver_data field The driver_data field of the device structure was zeroed, thus losing this information. Many drivers set this up before calling video_device_register, so we have to ensure that it isn't lost. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c170ecf434bceb0e188b14a6deb3bfa3ec9ef699 Author: Hans Verkuil Date: Sat Aug 23 08:32:09 2008 -0300 V4L/DVB (8788): v4l: replace video_get_drvdata(video_devdata(filp)) with video_drvdata(filp) Use the new video_drvdata(filp) function where it is safe to do so. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit bfa8a273bb91078ea193ab94c717889928f3b925 Author: Hans Verkuil Date: Sat Aug 23 07:48:38 2008 -0300 V4L/DVB (8787): v4l2-dev: cleanups and add video_drvdata helper function Cleanup v4l2-dev.[ch], add/improve comments and add a new helper function: video_drvdata() that can get the private driver data from a file struct. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 601e9444f249d219009ec05674268d90f6f1cdcb Author: Hans Verkuil Date: Sat Aug 23 07:24:07 2008 -0300 V4L/DVB (8786): v4l2: remove the priv field, use dev_get_drvdata instead Remove the priv field and let video_get/set_drvdata use dev_get_drvdata and dev_set_drvdata instead. Convert all drivers that still used priv directly. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e138c592b50370621653fd962b2bc3f4e25dfe78 Author: Hans Verkuil Date: Sat Aug 23 06:38:11 2008 -0300 V4L/DVB (8785): v4l2: add __must_check to v4l2_dev.h Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d6e7497eaf9889d39a070f60309a9bcea1fd29f6 Author: Hans Verkuil Date: Sat Aug 23 06:27:59 2008 -0300 V4L/DVB (8784): v4l2-dev: make the video_device's release callback mandatory Now that all drivers set the release callback in the video_device struct we can put in a BUG_ON in video_register_device to ensure that the callback is always there. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit aa5e90af7d78d1711f8f4275ce3638817c0023dc Author: Hans Verkuil Date: Sat Aug 23 06:23:55 2008 -0300 V4L/DVB (8783): v4l: add all missing video_device release callbacks All drivers that call video_device_register where checked to see if they set the release callback of struct video_device. Where that callback was missing it was added. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f9e86b5e9d068854a2cf40f8003ef639e80cca6c Author: Hans Verkuil Date: Sat Aug 23 05:47:41 2008 -0300 V4L/DVB (8782): v4l2-dev: add video_device_release_empty Add a second release function: video_device_release_empty It can be used by drivers that have statically allocated video_device structs. Its use usually, but not always, indicates laziness on the part of the driver programmer. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit cb353588e1946ab709be57dd8545598793acf912 Author: Hans Verkuil Date: Sat Aug 23 05:34:55 2008 -0300 V4L/DVB (8781): v4l2-dev: remove obsolete video_exclusive_open/release Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 7d43cd53c851e3cf04d73108d4e7e25a1104c6f5 Author: Hans Verkuil Date: Sat Aug 23 05:31:47 2008 -0300 V4L/DVB (8780): v4l: replace the last uses of video_exclusive_open/release Handle the video_exclusive_open/release functionality inside the driver. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2f3d00250ae5b1d2727e2723da805290ec408503 Author: Hans Verkuil Date: Sat Aug 23 04:52:00 2008 -0300 V4L/DVB (8777): tea575x-tuner: replace video_exclusive_open/release Move the video_exclusive_open/release functionality into the driver itself. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 3ca685aae04960eaa8b2c97baf384996c20cf9ac Author: Hans Verkuil Date: Sat Aug 23 04:49:13 2008 -0300 V4L/DVB (8776): radio: replace video_exclusive_open/release Move the video_exclusive_open/release functionality into the driver itself. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 3b5df8ea40ac533c62b8e5f9f173d985665fc752 Author: Andy Walls Date: Sat Aug 23 18:36:50 2008 -0300 V4L/DVB (8774): cx18: Have CX23418 release buffers at end of capture. cx18: Have CX23418 release buffers at end of capture. The CX23418 reuses task handles so we need to have it release the buffers associated with a task handle at the end of a capture. If we don't, buffer ids used for one type of stream in the driver (MPEG, TS, PCM), could be used for another type of stream by the CX23418, if a previously used handle is assigned to a different type of stream. The driver would drop valid buffers when this happened. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit d3c5e7075508a6874d1a53d0a409b0bbbe3a9fbe Author: Andy Walls Date: Sat Aug 23 16:42:29 2008 -0300 V4L/DVB (8773): cx18: Fix cx18_find_handle() and add error checking cx18: Fix cx18_find_handle() and add error checking. cx18_find_handle() did not find a good task handle and would use the invalid task handle under common conditions. Added a define for the invalid task handle and added error checking as well. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit b04bce476c57ac844962462ee4c813c44fa942cf Author: Andy Walls Date: Fri Aug 22 21:03:11 2008 -0300 V4L/DVB (8772): cx18: Convert cx18_queue buffers member to atomic_t cx18: Convert cx18_queue buffers member to atomic_t. This allows safe concurrent access to check if a queue has data without having to acquire the queue spinlock. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 59ba2b002265f2e862aa7f0df3f13c09ea99c4da Author: Andy Walls Date: Fri Aug 22 20:55:54 2008 -0300 V4L/DVB (8771): cx18: Remove redundant struct cx18_queue length member. cx18: Remove redundant struct cx18_queue length member. It can be trivially computed from queue->buffers * stream->buf_size, if ever really needed. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit a928880a5b65aa64bbbac880cdc65de85827ba20 Author: Andy Walls Date: Fri Aug 22 20:46:43 2008 -0300 V4L/DVB (8770): cx18: get rid of ununsed buffers stolen field cx18: get rid of ununsed buffers stolen field. It's an unused holdover from ivtv. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 9b0ae867a6fd3035e97e6c33bc07a5bfd7c0f96c Author: Laurent Pinchart Date: Fri Aug 22 17:25:10 2008 -0300 V4L/DVB (8754): uvcvideo: Implement the USB power management reset_resume method. When a suspended device has been reset instead of being resumed, USB core calls the reset_resume method if available instead of unbinding and rebinding the device. This patch implements reset_resume by reusing the current resume implementation and simplifies the resume method by skipping the controls restore stage. Resuming from autosuspend should be faster. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 14d962602c8bf86e63c9b9272be1f0360d0a448a Author: Dean Anderson Date: Mon Aug 25 13:58:55 2008 -0300 V4L/DVB (8752): s2255drv: firmware improvement patch Fix for reloading firmware when removing and reloading driver Handshaking for firmware loading and changing modes. Removes the restriction of one user per channel at a time. JPEG capture mode added. Signed-off-by: Dean Anderson Signed-off-by: Mauro Carvalho Chehab commit ee7aa9f821b27674f36fc09413914b68f7ad97ca Author: Henrik Kretzschmar Date: Fri Aug 22 16:41:03 2008 -0300 V4L/DVB (8750): V4L: check inval in video_register_device_index() Better check the video_device pointer before using it. Signed-off-by: Henrik Kretzschmar Signed-off-by: Mauro Carvalho Chehab commit ef0e3c26efe9c52de62b96fdad94de3ed70489d0 Author: Henrik Kretzschmar Date: Fri Aug 22 17:13:05 2008 -0300 V4L/DVB (8748): V4L: fix return value of meye probe callback The return vaule of the probe function should return -ENOMEM instead of -EBUSY if video_device_alloc() fails. Signed-off-by: Henrik Kretzschmar Signed-off-by: Mauro Carvalho Chehab commit eda9e4e29492aff55ceb3f719a6011bddc60a892 Author: Hans Verkuil Date: Fri Aug 22 17:12:08 2008 -0300 V4L/DVB (8746): v4l-dvb: fix compile warnings. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 614b147b4f8f38a090f88ac02f67b01225bb5d54 Author: Hans Verkuil Date: Fri Aug 22 17:01:45 2008 -0300 V4L/DVB (8745): v4l2: fix a bunch of compile warnings. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 513edce60f184d90ef4a6d33917264d49c2b07fd Author: Harvey Harrison Date: Mon Aug 18 17:38:01 2008 -0300 V4L/DVB (8742): pvrusb2: use proper byteorder interface ___swab32 is an internal detail of the implementation. Acked-by: Mike Isely Signed-off-by: Harvey Harrison Signed-off-by: Mauro Carvalho Chehab commit 664b11fc725830b59265cd9ec35a4396514d2b26 Author: Antoine Jacquet Date: Mon Aug 18 18:38:51 2008 -0300 V4L/DVB (8739): dtv5100: remove prohibited space... Signed-off-by: Antoine Jacquet Signed-off-by: Mauro Carvalho Chehab commit 5ebcfa4f92ed06129d9439198f65456abe1bfe3a Author: Antoine Jacquet Date: Mon Aug 18 18:22:00 2008 -0300 V4L/DVB (8738): dtv5100: remove old definition from header Signed-off-by: Antoine Jacquet Signed-off-by: Mauro Carvalho Chehab commit 736949862ceda7b6a9e5a867f81898e90be919d0 Author: Antoine Jacquet Date: Tue Aug 12 16:56:34 2008 -0300 V4L/DVB (8736): dtv5100: CodingStyle cleanups Signed-off-by: Antoine Jacquet Signed-off-by: Mauro Carvalho Chehab commit 60688d5e6e6e2ae62f29762d1e3b2aec2dbd3817 Author: Antoine Jacquet Date: Mon Aug 11 19:21:33 2008 -0300 V4L/DVB (8735): dtv5100: replace dummy frontend by zl10353 Remove the dtv5100-fe.c dummy frontend and replace it by the real frontend for the chipset. Signed-off-by: Antoine Jacquet Signed-off-by: Mauro Carvalho Chehab commit 8466028be7926679ff794ec2ed7a8938eafba521 Author: Antoine Jacquet Date: Mon Aug 11 13:12:19 2008 -0300 V4L/DVB (8734): Initial support for AME DTV-5100 USB2.0 DVB-T Basic support for AME DTV-5100 USB2.0 DVB-T using the qt1010 tuner and a dummy frontend. Signed-off-by: Antoine Jacquet Signed-off-by: Mauro Carvalho Chehab commit 33d27a45165ae9c3551e8d7c1186a5583371e5c4 Author: Antoine Jacquet Date: Mon Aug 18 17:14:30 2008 -0300 V4L/DVB (8732): zr364xx: handle video exclusive open internaly Count the users and do not use video_exclusive_open() anymore. Signed-off-by: Antoine Jacquet Signed-off-by: Mauro Carvalho Chehab commit 69025c934b21a9ce49a76dfef59f1ebdfbe96c78 Author: Antoine Jacquet Date: Mon Aug 18 17:09:53 2008 -0300 V4L/DVB (8731): zr364xx: remove BKL Remove the Big Kernel Lock from zr364xx driver after pushdown. Now using an internal locking mecanism on open(). Signed-off-by: Antoine Jacquet Signed-off-by: Mauro Carvalho Chehab commit 06fcadbf8b63e395d3ae8421a8c3cb2dfd0bc56b Author: Mauro Carvalho Chehab Date: Fri Aug 22 13:31:59 2008 -0300 V4L/DVB (8730): drx397xD: fix compilation error caused by changeset 71046dfb0853 Signed-off-by: Mauro Carvalho Chehab commit e9e24cee67bf71b929b646387f286e907cbde5fc Author: Julia Lawall Date: Wed Aug 20 20:44:53 2008 -0300 V4L/DVB (8729): 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@ @@ @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 Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 95908ece60443ceb188fccf021d62823de8e6f0c Author: Harvey Harrison Date: Wed Aug 20 20:44:50 2008 -0300 V4L/DVB (8725): drx397xD.c sparse annotations Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 06a3f58496462f25cc031d1cb6d49cb78af1f636 Author: Felipe Balbi Date: Tue Aug 19 20:40:30 2008 -0300 V4L/DVB (8724): dvb: drx397xD: checkpatch.pl cleanups This driver sure needs some rework. For now, let's try to clean it up a bit before start reimplementing anything. checkpatch.pl still not happy with this driver after this patch, but the most annoying errors are gone, comments now use C-style only, labels are well placed and some other minor fixes. Some more clean up patches will come as I work on this driver. Please review it carefully. Cc: Mauro Carvalho Chehab Cc: Henk Vergonet [mchehab@infradead.org: Manually fixed some conflicts with a previous patch] Signed-off-by: Felipe Balbi Signed-off-by: Mauro Carvalho Chehab commit e758c6f86bc53009893dfa517b9bb3a408d7a2e2 Author: Hans Verkuil Date: Mon Aug 18 04:48:42 2008 -0300 V4L/DVB (8695): usbvideo: add proper error check and add release function Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 66c6bda79fdc273608e2700a0c6dd4cb82d0bac3 Author: Hans Verkuil Date: Sat Aug 16 08:33:14 2008 -0300 V4L/DVB (8691): i2c-id: remove obsolete SAB3036 driver ID Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 45a5b872bda1a3b5a4959ce66d19381df82419c9 Author: Hans Verkuil Date: Sat Aug 16 07:56:12 2008 -0300 V4L/DVB (8690): tuner-3036: remove driver This driver is for VERY old i2c-over-parallel port teletext receiver boxes. Rather then spending effort on converting this driver to V4L2, and since it is extremely unlikely that anyone still uses one of these devices, it was decided to drop it (after discussing this as well with the original author, Phil Blundell). Signed-off-by: Hans Verkuil Signed-off-by: Phil Blundell Signed-off-by: Mauro Carvalho Chehab commit e0677760945585ee475c2d6a7fa4d5b0dd573cb4 Author: Hans Verkuil Date: Sat Aug 16 07:50:23 2008 -0300 V4L/DVB (8689): dpc7146: remove dpc7146 demonstration board driver Old driver for the dpc7146 demonstration board that is no longer relevant. The last time this was tested on actual hardware was probably around 2002. Since this is a driver for a demonstration board the decision was made (after discussing this with the original author, Michael Hunold) to remove it rather than spending a lot of effort continually updating this driver to stay in sync with the latest internal V4L2 or I2C API. Signed-off-by: Hans Verkuil Signed-off-by: Michael Hunold Signed-off-by: Mauro Carvalho Chehab commit 81034663159f39d005316b5c139038459cd16721 Author: Stefan Herbrechtsmeier Date: Thu Aug 14 12:04:11 2008 -0300 V4L/DVB (8687): soc-camera: Move .power and .reset from soc_camera host to sensor driver Make .power and .reset callbacks per camera instead of per host, also move their invocation to camera drivers. .arch/arm/mach-pxa/include/mach/camera.h | 2 - Signed-off-by: Stefan Herbrechtsmeier Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 506c629a8eb95a3232a0aafa3b80903224ccc461 Author: Guennadi Liakhovetski Date: Thu Aug 14 12:03:49 2008 -0300 V4L/DVB (8686): mt9m111: style cleanup Fix a typo in Kconfig, simplify error checking, further minor cleanup. Tested-by: Robert Jarzmik Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 112116410aaab5310a9a279c71fb76605236e448 Author: Guennadi Liakhovetski Date: Thu Aug 14 12:03:18 2008 -0300 V4L/DVB (8685): mt9m001, mt9v022: Simplify return code checking i2c_smbus_write_word_data() returns 0 or a negative error, hence no need to check for "> 0". Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 77110abbfbfd7673be6d18ef0875350eabee7532 Author: Robert Jarzmik Date: Thu Aug 14 12:02:51 2008 -0300 V4L/DVB (8684): Add support for Micron MT9M111 camera. Adds support for Micron MT9M111 camera chip, with basic features : - view rectangle configurable - some output formats (bayer8, bayer10, rgb565, rgb555, ycbycr) - autoexposure - only highpower mode context used (ie. context B) create mode 100644 drivers/media/video/mt9m111.c Signed-off-by: Robert Jarzmik Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 9cc6493d4b5b06e976e527737301d90044037b57 Author: Robert Jarzmik Date: Thu Aug 14 11:36:37 2008 -0300 V4L/DVB (8683): Add Micron mt9m111 chip ID in V4L2 identifiers Signed-off-by: Robert Jarzmik Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 05d26cc894cb42f5c71eaf667d700dd632745cd9 Author: Alexander Beregalov Date: Wed Aug 20 20:44:54 2008 -0300 V4L/DVB (8680): saa7134-core.c: fix warning drivers/media/video/saa7134/saa7134-core.c:366: warning: 'saa7134_buffer_requeue' defined but not used Signed-off-by: Alexander Beregalov Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 3a6b974d37370e89637f870657f93fd859e09ee3 Author: Michael Krufky Date: Sat Aug 9 15:29:46 2008 -0300 V4L/DVB (8658): lgs8gl5: fix build warnings Fix the following build warnings: lgs8gl5.c: In function 'lgs8gl5_read_reg': lgs8gl5.c:95: warning: unused variable 'j' lgs8gl5.c: In function 'lgs8gl5_update_alt_reg': lgs8gl5.c:135: warning: unused variable 'j' lgs8gl5.c: In function 'lgs8gl5_read_ber': lgs8gl5.c:300: warning: unused variable 'state' lgs8gl5.c: In function 'lgs8gl5_read_ucblocks': lgs8gl5.c:332: warning: unused variable 'state' lgs8gl5.c: At top level: lgs8gl5.c:181: warning: 'lgs8gl5_set_inversion' defined but not used Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit dfbdce04905d3196c828ca36f01ef06e6fdb2428 Author: Timothy Lee Date: Sat Aug 9 13:36:51 2008 -0300 V4L/DVB (8657): cxusb: add lgs8gl5 and support for Magic-Pro DMB-TH usb stick Add support for Magic-Pro DMB-TH usb stick. DMB-TH is the HDTV broadcast standard used in Hong Kong and China. [...] I've also attached a second patch against the dvb-apps repository which adds a DMB-TH scan file for Hong Kong. Since the ProHDTV stick contains a DMB-TH decoder (lgs8gl5) onboard, it outputs MPEG-TS to the PC. Signed-off-by: Timothy Lee Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2e06d2ff548fc6333f5b34d188646ded327187c3 Author: Michael Krufky Date: Sat Aug 9 14:21:58 2008 -0300 V4L/DVB (8656): fix DVB_FE_CUSTOMISE for DVB_DIB7000P and DVB_TUNER_DIB0070 with dvb-usb-cxusb Allow dvb-usb-cxusb to be built without dib7000p or dib0070 selected Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a2dc86b69dcbcbeb498c5f5169f09f4bd207de5f Author: Michael Krufky Date: Sat Aug 9 13:06:26 2008 -0300 V4L/DVB (8655): cxusb: fix checkpatch warnings & errors Fix the following checkpatch.pl errors and warnings: ERROR: do not use assignment in if condition 117: FILE: linux/drivers/media/dvb/dvb-usb/cxusb.c:819: + if ((adap->fe = dvb_attach(dib7000p_attach, ERROR: switch and case should be at the same indent 155: FILE: linux/drivers/media/dvb/dvb-usb/cxusb.c:857: + switch (band) { + case BAND_VHF: offset = 950; break; + case BAND_UHF: + default: offset = 550; break; WARNING: line over 80 characters 169: FILE: linux/drivers/media/dvb/dvb-usb/cxusb.c:871: + struct i2c_adapter *tun_i2c = dib7000p_get_i2c_master(adap->fe, DIBX000_I2C_INTERFACE_TUNER, 1); WARNING: line over 80 characters 213: FILE: linux/drivers/media/dvb/dvb-usb/cxusb.c:1342: +static struct dvb_usb_device_properties cxusb_bluebird_dualdig4_rev2_properties = { WARNING: line over 80 characters 226: FILE: linux/drivers/media/dvb/dvb-usb/cxusb.c:1355: + .size_of_priv = sizeof(struct dib0700_adapter_state), total: 2 errors, 3 warnings, 266 lines checked Signed-off-by: Michael Krufky Cc: Anton Blanchard Signed-off-by: Mauro Carvalho Chehab commit 8d79898897f8afee182febef18b96f559d32ebc4 Author: Anton Blanchard Date: Sat Aug 9 12:23:15 2008 -0300 V4L/DVB (8654): cxusb: add support for DViCO FusionHDTV DVB-T Dual Digital 4 (rev 2) Add support for revision 2 of the DViCO FusionHDTV DVB-T Dual Digital 4 which has new tuners and demodulators (2 x DIB7070p). With this patch both DVB reception and IR works. The dib7000p driver currently hardwires the output mode to OUTMODE_MPEG2_SERIAL regardless of what we ask for. Modify it to allow OUTMODE_MPEG2_PAR_GATED_CLK to be set. Longer term we should remove the check completely and set the output mode correctly in all the callers. Add Kconfig bits to ensure the dib7000p and dib0070 modules are enabled. It would be nice to only do this for the !DVB_FE_CUSTOMISE case, but this is what the other DIB7070 module does (there are a number of module dependencies in the attach code). Signed-off-by: Anton Blanchard Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f723af16da8359cda47320001960609b0086082b Author: Hans Verkuil Date: Sat Aug 9 10:35:29 2008 -0300 V4L/DVB (8649): v4l2: add AAC bitrate control If you can select AAC as audio encoder, then you should also be able to set the bitrate. Add this missing control. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 89ce2216e338f62c411bea12df37a2f54f2ce13a Author: Steven Toth Date: Mon Aug 4 22:18:19 2008 -0300 V4L/DVB (8646): cx23885: Convert framework to use a single tuner callback function. Code reduction. Tuner callback now assumes that tsport is passed as the void arg. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 12886871ae7a6f4e2b1ea371f6604d8239dda724 Author: Steven Toth Date: Mon Aug 4 21:41:06 2008 -0300 V4L/DVB (8645): Support IR remote on FusionHDTV DVB-T Dual Express From Chris Pascoe Support IR remote on FusionHDTV DVB-T Dual Express Signed-off-by: Steven Toth Signed-off-by: Anton Blanchard Signed-off-by: Mauro Carvalho Chehab commit aef2d186e381816733fa15d67ad63bd99254cb9e Author: Steven Toth Date: Mon Aug 4 21:39:53 2008 -0300 V4L/DVB (8644): Add support for DViCO FusionHDTV DVB-T Dual Express Add support for the DViCO FusionHDTV DVB-T Dual Express card, based on work by Chris Pascoe and Stephen Backway. Signed-off-by: Steven Toth Signed-off-by: Anton Blanchard Signed-off-by: Mauro Carvalho Chehab commit 90a71b1c1ab003dd4524afca44c2ad2519f4420c Author: Steven Toth Date: Mon Aug 4 21:38:46 2008 -0300 V4L/DVB (8643): Switch Hauppauge HVR1400 and HVR1500 to common cx23885 tuner callback The Hauppauge HVR1400 and HVR1500 can now use the common cx23885 tuner callback. Signed-off-by: Steven Toth Signed-off-by: Anton Blanchard Signed-off-by: Mauro Carvalho Chehab commit 0fbbff33fcab605b1a5c53a20c302aad24b082ef Author: Steven Toth Date: Mon Aug 4 21:36:49 2008 -0300 V4L/DVB (8642): cx23885: Factor out common cx23885 tuner callback Tuners currently hook different things to the private pointer in their callback function. Longer term we should make that private pointer consistent, but for now separate out the guts of the cx23885 tuner callback so we can reuse it. Signed-off-by: Steven Toth Signed-off-by: Anton Blanchard Signed-off-by: Mauro Carvalho Chehab commit ad4eada70b2a145aabb1814fdc080480f796decb Author: Hans Verkuil Date: Fri Aug 8 15:47:07 2008 -0300 V4L/DVB (8641): arv: fix compilation errors/warnings - add PCI dependency for btcx - fix compile errors (doesn't like ';' at the end of a #if 0) Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 3eea543b7282bea38970f20840acff9e230d0c2a Author: Hans Verkuil Date: Fri Aug 8 13:27:16 2008 -0300 V4L/DVB (8640): saa6752hs: add PMT table for AC3 The PMT table for AC3 audio is different. Thanks to Dmitry Belimov for providing the table data. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e281db5862743dbe1dab7f8fb423e699537036ee Author: Hans Verkuil Date: Fri Aug 8 12:43:59 2008 -0300 V4L/DVB (8639): saa6752hs: cleanup and add AC-3 support Cleaned up the saa6752hs i2c driver. Add AC-3 support. Add VIDIOC_CHIP_IDENT support. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1e55126666944c83bf98243564e25302f363e2a4 Author: Hans Verkuil Date: Fri Aug 8 08:34:19 2008 -0300 V4L/DVB (8637): v4l2: add v4l2_ctrl_query_menu_valid_items support function v4l2_ctrl_query_menu_valid_items() makes it easy to handle control menus that have a lot of invalid 'holes'. For example, many MPEG encoders only support a limited subset of audio bitrates. In that case a driver can specify an array listing the set of valid bitrates and pass that to this function. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 69028d7096a6092812f0482833f0820593f1cafd Author: Hans Verkuil Date: Fri Aug 8 07:55:00 2008 -0300 V4L/DVB (8636): v4l2: add v4l2_ctrl_get_name control support function. Add function that returns the control name. Allows this to be used in places where the normal v4l2_ctrl_query_fill() function cannot be used (e.g. uvc). Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e6b5da88fb24c5c1e52707faea7c46df09da42f0 Author: Hans Verkuil Date: Fri Aug 8 07:38:07 2008 -0300 V4L/DVB (8635): v4l: add AC-3 audio support to the MPEG Encoding API Some models of the saa6752hs support AC-3. Extend the API with the necessary controls for AC-3. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 188919ac57810e39138749338d5a33ba1e970e23 Author: Janne Grunau Date: Fri Aug 8 07:21:00 2008 -0300 V4L/DVB (8634): v4l2: extend MPEG Encoding API with AVC and AAC Adds Advanced Audio Coding (AAC) and MPEG-4 Advanced Video Coding (AVC/H.264) as audio/video codecs to the extended controls API. Updates cx2341x driver to the new values. Signed-off-by: Janne Grunau Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a832781cd383e70929c0ceece23f8a5b62e2152b Author: Hans Verkuil Date: Fri Jul 25 10:31:23 2008 -0300 V4L/DVB (8630): First mxb cleanup phase Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 7d341a6a52f115512d60b2de89b2ebde54da8eff Author: Mauro Carvalho Chehab Date: Tue Aug 5 10:14:13 2008 -0300 V4L/DVB (8628): bttv: Add support for Encore ENLTV2-FM Thanks to Sistema Fenix (http://www.sistemafenix.com.br/) and CDI Brasil (www.cdibrasil.com.br/) for sponsoring this development. Signed-off-by: Gilberto Signed-off-by: Mauro Carvalho Chehab commit 08b1438cc2d50f559cc33ca4d9251636cec11647 Author: Mauro Carvalho Chehab Date: Wed Aug 6 20:13:46 2008 -0300 V4L/DVB (8628a): Remove duplicated include Removes duplicated #include Signed-off-by: Mauro Carvalho Chehab commit b46a9c8b7a8a77f28773816fd2afa1186743457d Author: Mauro Carvalho Chehab Date: Tue Aug 5 10:12:35 2008 -0300 V4L/DVB (8627): Fix mute on bttv driver Signed-off-by: Mauro Carvalho Chehab commit 8f2b7b70600212f8c809a7bc2d17d33561842440 Author: Mauro Carvalho Chehab Date: Tue Aug 5 10:11:25 2008 -0300 V4L/DVB (8626): Add support for TCL tuner MF02GIP-5N-E Thanks to Sistema Fenix (http://www.sistemafenix.com.br/) and CDI Brasil (www.cdibrasil.com.br/) for sponsoring this development. Signed-off-by: Gilberto Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Mauro Carvalho Chehab commit 622ecb300345d308c8b4a983ac112b1985d7d156 Author: Mauro Carvalho Chehab Date: Tue Aug 5 10:03:17 2008 -0300 V4L/DVB (8625): saa7134: Add NEC prococol IR decoding capability This patch adds the capability of decoding NEC protocol, received via GPIO18 line. This GPIO port can trigger saa7134 IRQ. A future improvement would be to make it a little more generic to work also with GPIO16 line. A pure IRQ code didn't work, since some delays were introduced on the tests we did. A possible approach would be to use polling at a rate of 2.5 ms or less. If a new code were taken, a code similar to nec_task() could be used. However, this would add an extra overhead to kernel, and will consume more power. Due to that, we took an hybrid approach: an IRQ upper half to trigger when a new key is received and a bottom half to convert pulse-distance into a keycode. The bottom half is polling based, to improve performance. During the bottom half proccess, GPIO18 IRQ line is disabled, preventing IRQ reentrancy and improving performance a little bit. Thanks to Sistema Fenix (http://www.sistemafenix.com.br/) for sponsoring this development. Signed-off-by: Gilberto Signed-off-by: Mauro Carvalho Chehab commit d56dc61265d2527a63ab5b0f03199a43cd89ca36 Author: Hans Verkuil Date: Wed Jul 30 08:43:36 2008 -0300 V4L/DVB (8613): v4l: move BKL down to the driver level. The BKL is now moved from the video_open function in v4l2-dev.c to the various drivers. It seems about a third of the drivers already has a lock of some sort protecting the open(), another third uses video_exclusive_open (yuck!) and the last third required adding the BKL in their open function. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 95f73c5b57990c97047c200b8746ab62a360c5bc Author: Adrian Bunk Date: Tue Jul 22 14:20:12 2008 -0300 V4L/DVB (8561): make ivtv_claim_stream() static ivtv_claim_stream() can now become static. Signed-off-by: Adrian Bunk Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 95fc2ead8406a6d0aa6d8ccf30125f4a50ae323f Author: Alexander Beregalov Date: Mon Jul 21 16:21:58 2008 -0300 V4L/DVB (8560): replace __FUNCTION__ with __func__ v4l/drx397xD: replace __FUNCTION__ with __func__ Signed-off-by: Alexander Beregalov Signed-off-by: Mauro Carvalho Chehab commit 29e66a6ce84abe04bc809ddb35634752881dec79 Author: Bjorn Helgaas Date: Thu Sep 4 17:24:51 2008 -0300 V4L/DVB: follow lspci device/vendor style Use "[%04x:%04x]" for PCI vendor/device IDs to follow the format used by lspci(8). Signed-off-by: Bjorn Helgaas Signed-off-by: Mauro Carvalho Chehab commit 96f1e40431d4b0afc75474d7961f8dd98ef21112 Author: Mauro Carvalho Chehab Date: Mon Jul 28 13:07:42 2008 -0300 V4L/DVB (8554): media/video/Kconfig: cosmetic changes and convert select into depends on It seems cosmetically better to let USB drivers be the last one. Also, two SOC drivers were using select, instead of depends on SOC_CAMERA. Since select has some drawbacks when checking for dependencies, convert those two into depends on. Cc: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit b50863d6e36ec3764882f57417b5c5cfe35a9b4b Author: Mauro Carvalho Chehab Date: Mon Jul 28 12:58:53 2008 -0300 V4L/DVB (8553): media/video/Kconfig: get rid of a select Signed-off-by: Mauro Carvalho Chehab commit eceb1383361c6327cef4de01d278cd6722ebceeb Merge: 365d46d... 84e9c95... 4c7145a... Author: Ingo Molnar Date: Sun Oct 12 13:20:25 2008 +0200 Merge branches 'core/signal' and 'x86/spinlocks' into x86/xen Conflicts: include/asm-x86/spinlock.h commit 84e9c95ad92f7afcd960342b6012b0a1b039e21b Merge: 206855c... 1389ac4... Author: Ingo Molnar Date: Sun Oct 12 13:17:07 2008 +0200 Merge branch 'x86/signal' into core/signal commit 1389ac4b976abdc0555280dfc1aa2c3abcc19641 Merge: 69e13ad... fd04808... Author: Ingo Molnar Date: Sun Oct 12 12:49:27 2008 +0200 Merge branch 'linus' into x86/signal Conflicts: arch/x86/kernel/signal_64.c commit acbaa41a780490c791492c41144c774c04875af1 Merge: 8d89adf... fd04808... Author: Ingo Molnar Date: Sun Oct 12 12:43:21 2008 +0200 Merge branch 'linus' into x86/quirks Conflicts: arch/x86/kernel/early-quirks.c commit 4c7145a1ec1bb789d5f07e47510e8bda546a7c4a Merge: 74e9160... fd04808... Author: Ingo Molnar Date: Sun Oct 12 12:39:30 2008 +0200 Merge branch 'linus' into x86/spinlocks Done to prevent this failure of an Octopus merge: Added arch/arm/include/asm/byteorder.h in both, but differently. ERROR: Merge conflict in arch/arm/include/asm/byteorder.h Auto-merging include/asm-x86/spinlock.h ERROR: Merge conflict in include/asm-x86/spinlock.h fatal: merge program failed commit 365d46dc9be9b3c833990a06f3994b1987eda578 Merge: 5dc64a3... fd04808... Author: Ingo Molnar Date: Sun Oct 12 12:35:23 2008 +0200 Merge branch 'linus' into x86/xen Conflicts: arch/x86/kernel/cpu/common.c arch/x86/kernel/process_64.c arch/x86/xen/enlighten.c commit 325af5fb1418c79953db0954556de048e061d8b6 Author: Roland McGrath Date: Fri Aug 8 15:58:39 2008 -0700 x86: ioperm user_regset This adds a user_regset type for the x86 io permissions bitmap. This makes it appear in core dumps (when ioperm has been used). It will also make it visible to debuggers in the future. Signed-off-by: Roland McGrath Signed-off-by: H. Peter Anvin [conflict resolutions: Signed-off-by: Ingo Molnar ] commit 206855c321adee56db3946ca09a5887cddb9d598 Merge: e8d3f45... cb58ffc... Author: Ingo Molnar Date: Sun Oct 12 11:32:17 2008 +0200 Merge branch 'x86/urgent' into core/signal Conflicts: arch/x86/kernel/signal_64.c commit cb58ffc3889f0545628f138f849e759a331b8ddc Author: Petr Vandrovec Date: Sun Oct 12 10:51:03 2008 +0200 x86: fix early panic on amd64 due to typo in supported CPU section Do not crash when enumerating supported CPU architectures SECURITY_INIT somehow ended up in x86_cpu_dev.init section. That caused printk in code which prints supported architectures to hit #GP due to non-canonical address being used. Signed-off-by: Petr Vandrovec Cc: thomas.petazzoni@free-electrons.com Signed-off-by: Ingo Molnar commit c613ec1a7ff3714da11c7c48a13bab03beb5c376 Author: Alan Cox Date: Fri Oct 10 10:46:45 2008 +0100 x86, early_ioremap: fix fencepost error The x86 implementation of early_ioremap has an off by one error. If we get an object which ends on the first byte of a page we undermap by one page and this causes a crash on boot with the ASUS P5QL whose DMI table happens to fit this alignment. The size computation is currently last_addr = phys_addr + size - 1; npages = (PAGE_ALIGN(last_addr) - phys_addr) (Consider a request for 1 byte at alignment 0...) Closes #11693 Debugging work by Ian Campbell/Felix Geyer Signed-off-by: Alan Cox Cc: Signed-off-by: Ingo Molnar commit e1e23bb0513520035ec934fa3483507cb6648b7c Author: David Rientjes Date: Tue Oct 7 14:15:11 2008 -0700 x86: avoid dereferencing beyond stack + THREAD_SIZE It's possible for get_wchan() to dereference past task->stack + THREAD_SIZE while iterating through instruction pointers if fp equals the upper boundary, causing a kernel panic. Signed-off-by: David Rientjes Signed-off-by: Ingo Molnar commit 6ee6c6adf1cfebbf432b8d1f204c7f96e395933e Merge: 162350e... 5e7184a... Author: Pierre Ossman Date: Sun Oct 12 11:08:46 2008 +0200 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/atmel-mci-2.6.28 Conflicts: drivers/mmc/host/atmel-mci.c commit 162350eb75fcb81ec0ea34f042f1deddb759aea8 Author: Matthew Fleming Date: Thu Oct 2 12:21:42 2008 +0100 MMC: Use timeout values from CSR Hard-coded timeout values of 250ms for writes and 100ms for reads are currently used for MMC transactions over SPI. The spec states that the timeout values from the card should be used. Signed-off-by: Matthew Fleming Signed-off-by: Pierre Ossman commit 0d3e0460f307e84904968aad6cff97bd688583d8 Author: Matthew Fleming Date: Thu Oct 2 12:24:05 2008 +0100 MMC: CSD and CID timeout values The MMC spec states that the timeout for accessing the CSD and CID registers is 64 clock cycles. Signed-off-by: Matthew Fleming Signed-off-by: Pierre Ossman commit 7244b85bd17313d7d300ee93ec7bfbca1f4ccf3d Author: Steven Noonan Date: Wed Oct 1 01:50:25 2008 -0700 sdhci: 'scratch' may be used uninitialized The variable 'scratch' is always initialized before it's used. The conditional which is responsible for initialization of 'scratch' will always evaluate 'true' when the first loop iteration occurs, and thus, it's properly initialized. GCC doesn't see this, of course, so using the uninitialized_var() macro seems to work for silencing this case. Signed-off-by: Steven Noonan Signed-off-by: Pierre Ossman commit 57105737f6a0b39305a85ac176cc9fd4a236d8c2 Author: Pierre Ossman Date: Sun Sep 7 13:16:58 2008 +0200 mmc: explicitly mention SDIO support in Kconfig Signed-off-by: Pierre Ossman commit 1ea4f444f3a9721babd5d22cbd15092f9da6b51a Author: Pierre Ossman Date: Sun Sep 7 13:07:57 2008 +0200 mmc: remove redundant "depends on" Signed-off-by: Pierre Ossman commit ee63a7d2287c677ed022bf3f584f5a187b6c402f Author: Thomas Petazzoni Date: Tue Sep 2 10:14:13 2008 +0200 Fix comment in include/linux/mmc/host.h In include/linux/mmc/host.h, it is mentionned that the callback to know if a card is present or not is get_ro(). But it's get_cd(). Signed-off-by: Thomas Petazzoni Signed-off-by: Pierre Ossman commit d16f57700475f670ca2828c150a34fa7102a05fc Author: Pierre Ossman Date: Sun Aug 31 17:22:46 2008 +0200 sdio: high-speed support Signed-off-by: Pierre Ossman commit 08846698703dedae6c6915eb4b4d0a36188c5635 Author: Pierre Ossman Date: Sun Aug 31 14:10:08 2008 +0200 mmc_block: hard code 512 byte block size We use 512 byte blocks on all cards, and newer cards support nothing else, so hard code it and make the code less complex. Signed-off-by: Pierre Ossman commit a4b76193774b463b922cab2f92450efb20d29ef0 Author: Pierre Ossman Date: Sat Aug 16 20:43:04 2008 +0200 sdhci: force high speed capability on some controllers Some high speed capable controllers forget to set the high speed capability bit. Make sure we enable the functionality anyway. Signed-off-by: Pierre Ossman commit d6d8de33415ca7598fe66d933b6556fa8f89afe2 Author: Pierre Ossman Date: Sat Aug 16 20:43:48 2008 +0200 mmc_block: filter out PC requests We do not support PC (SCSI) commands, so don't pretend we do by letting them through. Signed-off-by: Pierre Ossman commit 91028954119e464ae42350658d46c204d781b484 Author: Pierre Ossman Date: Sat Aug 16 21:15:50 2008 +0200 mmc_block: indicate strict ordering The MMC block driver services requests one at a time and in strict order. Indicate this to the block layer so that it can handle barriers in an efficient manner. Signed-off-by: Pierre Ossman commit f3eb0aaa0211fd804057070bee1fd067cd65cb13 Author: Pierre Ossman Date: Sat Aug 16 21:34:02 2008 +0200 mmc_block: inform block layer about sector count restriction Make sure we consider the maximum block count when we tell the block layer about the maximum sector count. That way we don't have to chop up the request ourselves. Signed-off-by: Pierre Ossman commit 6501ff604a5ae18697c9b4cd40a7738d3a68e7fe Author: Pierre Ossman Date: Sun Aug 31 13:42:00 2008 +0200 sdio: give sdio irq thread a host specific name There is one thread per host controller so make sure they all get unique names. Signed-off-by: Pierre Ossman commit e633b7bcec8e26991d489a11615acf7674efbaf4 Author: Pierre Ossman Date: Sun Aug 31 13:38:54 2008 +0200 sdio: make sleep on error interruptable Make sure we can be woken from the forced sleep that is done on errors. Removing a card often results in -ENOMEDIUM or -EILSEQ so we previously locked up the removal process for a second. We could completely exit on -ENOMEDIUM, but it might be a transient glitch so treat it like any other error. Signed-off-by: Pierre Ossman commit 04cf585d2902404ed06861c6dc27897100340dba Author: Pierre Ossman Date: Mon Aug 18 22:18:14 2008 +0200 sdhci: reduce card detection delay The card detection delay was added early when the behaviour of the card interrupt was still very much unknown (i.e. before there was a public specification). As it is now known that it is a debounced signal, reduce the delay to something more sensible. Signed-off-by: Pierre Ossman commit e809517f6fa5803a5a1cd56026f0e2190fc13d5c Author: Pierre Ossman Date: Fri Jul 25 01:09:08 2008 +0200 sdhci: let the controller wait for busy state to end The sdhci controllers can interrupt us when the busy state from the card has ended, saving CPU cycles and power. Signed-off-by: Pierre Ossman commit f3073ac76755abd63b1d4c3d145f4c15b65b5355 Author: Guennadi Liakhovetski Date: Sat Oct 11 15:07:16 2008 -0700 smc911x: Fix external PHY detection If an external PHY is found the driver falls through to the default case in the switch and overwrites the PHY ID. Add the missing break. Signed-off-by: Guennadi Liakhovetski Signed-off-by: David S. Miller commit fd048088306656824958e7783ffcee27e241b361 Merge: 5c3c4d9... 03010a3... Author: Linus Torvalds Date: Sat Oct 11 13:23:48 2008 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (43 commits) ext4: Rename ext4dev to ext4 ext4: Avoid double dirtying of super block in ext4_put_super() Update ext4 MAINTAINERS file Hook ext4 to the vfs fiemap interface. generic block based fiemap implementation ocfs2: fiemap support vfs: vfs-level fiemap interface ext4: fix xattr deadlock jbd2: Fix buffer head leak when writing the commit block ext4: Add debugging markers that can be used by systemtap jbd2: abort instead of waiting for nonexistent transaction ext4: fix initialization of UNINIT bitmap blocks ext4: Remove old legacy block allocator ext4: Use readahead when reading an inode from the inode table ext4: Improve the documentation for ext4's /proc tunables ext4: Combine proc file handling into a single set of functions ext4: move /proc setup and teardown out of mballoc.c ext4: Don't use 'struct dentry' for internal lookups ext4/jbd2: Avoid WARN() messages when failing to write to the superblock ext4: use percpu data structures for lg_prealloc_list ... commit 5c3c4d9b5810c9aabd8c05219c62ca088aa83eb0 Merge: ead9d23... 92f1f8f... Author: Linus Torvalds Date: Sat Oct 11 13:22:33 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: (71 commits) ide: Remove ide_spin_wait_hwgroup() and use special requests instead ide: move IDE{FLOPPY,TAPE}_WAIT_CMD defines to ide: add ide_do_test_unit_ready() helper ide: add ide_do_start_stop() helper ide: add ide_set_media_lock() helper ide-floppy: move floppy ioctls handling to ide-floppy_ioctl.c ide-floppy: ->{srfp,wp} -> IDE_AFLAG_{SRFP,WP} ide: add ide_queue_pc_tail() helper ide: add ide_queue_pc_head() helper ide: add ide_init_pc() helper ide-tape: add ide_tape_set_media_lock() helper ide-floppy: add ide_floppy_set_media_lock() helper ide: add ide_io_buffers() helper ide-scsi: cleanup ide_scsi_io_buffers() ide-floppy: remove MODE_SENSE_* defines ide-{floppy,tape}: remove packet command stack ide-{floppy,tape}: remove request stack ide-generic: handle probing of legacy io-ports v5 ide-floppy: use scatterlists for pio transfers ide-tape: remove idetape_init_rq() ... commit 56c5d900dbb8e042bfad035d18433476931d8f93 Merge: 4dd95b6... ead9d23... Author: David S. Miller Date: Sat Oct 11 12:39:35 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: sound/core/memalloc.c commit 20501a69818827884b4381cdcedefdb5e7892915 Author: Patrick McHardy Date: Sat Oct 11 12:25:59 2008 -0700 e1000: allow VLAN devices to use TSO and CSUM offload This patch changes e1000 to set vlan_features so TSO and CSUM offload can be used by VLAN devices, similar as with the other Intel drivers. Signed-off-by: Patrick McHardy Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 7bb82d924536cfa62db73dd381b07d9e9b084ffa Author: Herbert Xu Date: Sat Oct 11 12:20:15 2008 -0700 gre: Initialise rtnl_link tunnel parameters properly Brown paper bag error of calling memset with sizeof(p) instead of sizeof(*p). Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit f901b64472fdabc72eca2b9426fa4e96972b64c4 Author: David S. Miller Date: Sat Oct 11 12:18:04 2008 -0700 ipvs: Add proper dependencies on IP_VS, and fix description header line. Linus noted a build failure case: net/netfilter/ipvs/ip_vs_xmit.c: In function 'ip_vs_tunnel_xmit': net/netfilter/ipvs/ip_vs_xmit.c:616: error: implicit declaration of function 'ip_select_ident' The proper include file (net/ip.h) is being included in ip_vs_xmit.c to get that declaration. So the only possible case where this can happen is if CONFIG_INET is not enabled. This seems to be purely a missing dependency in the ipvs/Kconfig file IP_VS entry. Also, while we're here, remove the out of date "EXPERIMENTAL" string in the IP_VS config help header line. IP_VS no longer depends upon CONFIG_EXPERIMENTAL Signed-off-by: David S. Miller commit ead9d23d803ea3a73766c3cb27bf7563ac8d7266 Merge: bf6f51e... 0afe2db... Author: Linus Torvalds Date: Sat Oct 11 11:47:30 2008 -0700 Merge phase #4 (X2APIC, APIC unification, CPU identification unification) of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-v28-for-linus-phase4-D' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (186 commits) x86, debug: print more information about unknown CPUs x86 setup: handle more than 8 CPU flag words x86: cpuid, fix typo x86: move transmeta cap read to early_init_transmeta() x86: identify_cpu_without_cpuid v2 x86: extended "flags" to show virtualization HW feature in /proc/cpuinfo x86: move VMX MSRs to msr-index.h x86: centaur_64.c remove duplicated setting of CONSTANT_TSC x86: intel.c put workaround for old cpus together x86: let intel 64-bit use intel.c x86: make intel_64.c the same as intel.c x86: make intel.c have 64-bit support code x86: little clean up of intel.c/intel_64.c x86: make 64 bit to use amd.c x86: make amd_64 have 32 bit code x86: make amd.c have 64bit support code x86: merge header in amd_64.c x86: add srat_detect_node for amd64 x86: remove duplicated force_mwait x86: cpu make amd.c more like amd_64.c v2 ... commit 0afe2db21394820d32646a695eccf3fbfe6ab5c7 Merge: d847059... 43603c8... Author: Ingo Molnar Date: Sat Oct 11 20:23:20 2008 +0200 Merge branch 'x86/unify-cpu-detect' into x86-v28-for-linus-phase4-D Conflicts: arch/x86/kernel/cpu/common.c arch/x86/kernel/signal_64.c include/asm-x86/cpufeature.h commit d84705969f898f294bc3fc32eca33580f14105bd Merge: 725c258... 11494547... Author: Ingo Molnar Date: Fri Oct 10 19:50:00 2008 +0200 Merge branch 'x86/apic' into x86-v28-for-linus-phase4-B Conflicts: arch/x86/kernel/apic_32.c arch/x86/kernel/apic_64.c arch/x86/kernel/setup.c drivers/pci/intel-iommu.c include/asm-x86/cpufeature.h include/asm-x86/dma-mapping.h commit bf6f51e3a46f6a602853d3cbacd05864bc6e2a37 Merge: ec8deff... 725c258... Author: Linus Torvalds Date: Sat Oct 11 11:03:09 2008 -0700 Merge phase #3 (IOMMU) of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-v28-for-linus-phase3-B' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (74 commits) AMD IOMMU: use iommu_device_max_index, fix AMD IOMMU: use iommu_device_max_index x86: add PCI IDs for AMD Barcelona PCI devices x86/iommu: use __GFP_ZERO instead of memset for GART x86/iommu: convert GART need_flush to bool x86/iommu: make GART driver checkpatch clean x86 gart: remove unnecessary initialization x86: restore old GART alloc_coherent behavior revert "x86: make GART to respect device's dma_mask about virtual mappings" x86: export pci-nommu's alloc_coherent iommu: remove fullflush and nofullflush in IOMMU generic option x86: remove set_bit_string() iommu: export iommu_area_reserve helper function AMD IOMMU: use coherent_dma_mask in alloc_coherent add AMD IOMMU tree to MAINTAINERS file AMD IOMMU: use cmd_buf_size when freeing the command buffer AMD IOMMU: calculate IVHD size with a function AMD IOMMU: remove unnecessary cast to u64 in the init code AMD IOMMU: free domain bitmap with its allocation order AMD IOMMU: simplify dma_mask_to_pages ... commit ec8deffa33757286ba59e71d3d98173c37638b37 Merge: 7cc4e87... 3dd392a... Author: Linus Torvalds Date: Sat Oct 11 10:59:00 2008 -0700 Merge phase #2 (PAT updates) of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-v28-for-linus-phase2-B' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (27 commits) x86, cpa: make the kernel physical mapping initialization a two pass sequence, fix x86, pat: cleanups x86: fix pagetable init 64-bit breakage x86: track memtype for RAM in page struct x86, cpa: srlz cpa(), global flush tlb after splitting big page and before doing cpa x86, cpa: remove cpa pool code x86, cpa: no need to check alias for __set_pages_p/__set_pages_np x86, cpa: dont use large pages for kernel identity mapping with DEBUG_PAGEALLOC x86, cpa: make the kernel physical mapping initialization a two pass sequence x86, cpa: remove USER permission from the very early identity mapping attribute x86, cpa: rename PTE attribute macros for kernel direct mapping in early boot x86: make sure the CPA test code's use of _PAGE_UNUSED1 is obvious linux-next: fix x86 tree build failure x86: have set_memory_array_{uc,wb} coalesce memtypes, fix agp: enable optimized agp_alloc_pages methods x86: have set_memory_array_{uc,wb} coalesce memtypes. x86: {reverve,free}_memtype() take a physical address x86: fix pageattr-test agp: add agp_generic_destroy_pages() agp: generic_alloc_pages() ... commit 7cc4e87f912bbefa440a51856b8d076e5d1f554a Merge: 5ba2f67... 69fc7ee... Author: Linus Torvalds Date: Sat Oct 11 10:09:45 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: (236 commits) [ARM] 5300/1: fixup spitz reset during boot [ARM] 5295/1: make ZONE_DMA optional [ARM] 5239/1: Palm Zire 72 power management support [ARM] 5298/1: Drop desc_handle_irq() [ARM] 5297/1: [KS8695] Fix two compile-time warnings [ARM] 5296/1: [KS8695] Replace macro's with trailing underscores. [ARM] pxa: allow multi-machine PCMCIA builds [ARM] pxa: add preliminary CPUFREQ support for PXA3xx [ARM] pxa: add missing ACCR bit definitions to pxa3xx-regs.h [ARM] pxa: rename cpu-pxa.c to cpufreq-pxa2xx.c [ARM] pxa/zylonite: add support for USB OHCI [ARM] ohci-pxa27x: use ioremap() and offset for register access [ARM] ohci-pxa27x: introduce pxa27x_clear_otgph() [ARM] ohci-pxa27x: use platform_get_{irq,resource} for the resource [ARM] ohci-pxa27x: move OHCI controller specific registers into the driver [ARM] ohci-pxa27x: introduce flags to avoid direct access to OHCI registers [ARM] pxa: move I2S register and bit definitions into pxa2xx-i2s.c [ARM] pxa: simplify DMA register definitions [ARM] pxa: make additional DCSR bits valid for PXA3xx [ARM] pxa: move i2c register and bit definitions into i2c-pxa.c ... Fixed up conflicts in arch/arm/mach-versatile/core.c sound/soc/pxa/pxa2xx-ac97.c sound/soc/pxa/pxa2xx-i2s.c manually. commit 5ba2f67afb02c5302b2898949ed6fc3b3d37dcf1 Author: Arjan van de Ven Date: Fri Oct 10 21:16:12 2008 -0700 security: avoid calling a NULL function pointer in drivers/video/tvaudio.c NULL function pointers are very bad security wise. This one got caught by kerneloops.org quite a few times, so it's happening in the field.... Fix is simple, check the function pointer for NULL, like 6 other places in the same function are already doing. Signed-off-by: Arjan van de Ven Signed-off-by: Linus Torvalds commit 5b16a2212f1840b63d6cc476b26ff9349dab185e Merge: b922df7... 5b7dba4... Author: Ingo Molnar Date: Sat Oct 11 18:50:45 2008 +0200 Merge branch 'sched/clock' into sched/urgent commit 64f1b65382054f8bfd528f2c4253297c232816eb Author: Linus Torvalds Date: Sat Oct 11 09:46:24 2008 -0700 net: fix dummy 'nf_conntrack_event_cache()' The dummy version of 'nf_conntrack_event_cache()' (used when the NF_CONNTRACK_EVENTS config option is not enabled) had not been updated when the calling convention changed. This was introduced by commit a71996fccce4b2086a26036aa3c915365ca36926 ("netfilter: netns nf_conntrack: pass conntrack to nf_conntrack_event_cache() not skb") Tssk. Cc: Alexey Dobriyan Cc: Patrick McHardy Cc: David Miller Signed-off-by: Linus Torvalds commit 4dd9ec4946b4651a295d3bc8df9c15ac692a8f4e Merge: 86ed5a9... 6861ff3... Author: Linus Torvalds Date: Sat Oct 11 09:33:18 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1075 commits) myri10ge: update driver version number to 1.4.3-1.369 r8169: add shutdown handler r8169: preliminary 8168d support r8169: support additional 8168cp chipset r8169: change default behavior for mildly identified 8168c chipsets r8169: add a new 8168cp flavor r8169: add a new 8168c flavor (bis) r8169: add a new 8168c flavor r8169: sync existing 8168 device hardware start sequences with vendor driver r8169: 8168b Tx performance tweak r8169: make room for more specific 8168 hardware start procedure r8169: shuffle some registers handling around (8168 operation only) r8169: new phy init parameters for the 8168b r8169: update phy init parameters r8169: wake up the PHY of the 8168 af_key: fix SADB_X_SPDDELETE response ath9k: Fix return code when ath9k_hw_setpower() fails on reset ath9k: remove nasty FAIL macro from ath9k_hw_reset() gre: minor cleanups in netlink interface gre: fix copy and paste error ... commit 86ed5a93b8b56e4e0877b914af0e10883a196384 Merge: 835a1c0... b77d753... Author: Linus Torvalds Date: Sat Oct 11 09:31:53 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: [CIFS] Check that last search entry resume key is valid [CIFS] make sure we have the right resume info before calling CIFSFindNext [CIFS] clean up error handling in cifs_unlink [CIFS] fix some settings of cifsAttrs after calling SetFileInfo and SetPathInfo cifs: explicitly revoke SPNEGO key after session setup cifs: Convert cifs to new aops. [CIFS] update DOS attributes in cifsInode if we successfully changed them cifs: remove NULL termination from rename target in CIFSSMBRenameOpenFIle cifs: work around samba returning -ENOENT on SetFileDisposition call cifs: fix inverted NULL check after kmalloc [CIFS] clean up upcall handling for dns_resolver keys [CIFS] fix busy-file renames and refactor cifs_rename logic cifs: add function to set file disposition [CIFS] add constants for string lengths of keynames in SPNEGO upcall string cifs: move rename and delete-on-close logic into helper function cifs: have find_writeable_file prefer filehandles opened by same task cifs: don't use GFP_KERNEL with GFP_NOFS [CIFS] use common code for turning off ATTR_READONLY in cifs_unlink cifs: clean up variables in cifs_unlink commit 835a1c092432b3293ba6c4dec45ee6869c6f61fd Merge: d3570a5... 9609e74... Author: Linus Torvalds Date: Sat Oct 11 09:19:02 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: (49 commits) MIPS: RB532: provide GPIO_BUILTIN_NR and irq_to_gpio/gpio_to_irq MIPS: Move ptrace prototypes to ptrace.h MIPS: Ptrace support for HARDWARE_WATCHPOINTS MIPS: Scheduler support for HARDWARE_WATCHPOINTS. MIPS: Watch exception handling for HARDWARE_WATCHPOINTS. MIPS: Probe watch registers and report configuration. MIPS: Add HARDWARE_WATCHPOINTS definitions and support code. MIPS: Add HARDWARE_WATCHPOINTS configure option. MIPS: Replace use of with native implementations. MIPS: TXx9: Add TX4939 ATA support (v2) MIPS: Rewrite spinlocks to ticket locks. MIPS: IP checksums: Optimize adjust of sum on buffers of odd alignment. MIPS: IP checksums: Remove unncessary .set pseudos MIPS: IP checksums: Remove unncessary folding of sum to 16 bit. MIPS: Move headfiles to new location below arch/mips/include MIPS: Alchemy: rename directory MIPS: Optimize get_user and put_user for 64-bit MIPS: TXx9: Implement prom_free_prom_memory MIPS: TXx9: Add RBTX4939 board support MIPS: TXx9: Add TX4939 SoC support ... commit d3570a5a7b8d0604fa012129f92637dc1534f62c Merge: 37d9869... 72474be... Author: Linus Torvalds Date: Sat Oct 11 09:16:54 2008 -0700 Merge branch 'for-linus' of git://git.alsa-project.org/alsa-kernel * 'for-linus' of git://git.alsa-project.org/alsa-kernel: (258 commits) ALSA: hda: VREF powerdown for headphones ALSA: hda: STAC_HP_M4 ALSA: ASoC: Check for machine type in GTA01 machine driver ALSA: mtpav - Fix race in probe ALSA: usb-audio: dynamic detection of MIDI interfaces in uaxx-quirk ALSA: Add a note on dependency of RTC stuff ALSA: ASoC: add new param mux to dapm_mux_update_power ALSA: Increase components array size ALSA: ASoC: Correct inverted Mic PGA Switch control in wm8510 driver ALSA: hda: comment typo fix ALSA: hda: comment typo fix ALSA: hda - Fix PCI SSID for ASROCK K18N78FullHD-hSLI ALSA: snd-usb-audio: support for Edirol UA-4FX device ALSA: usb - Fix possible Oops at USB-MIDI disconnection ALSA: hda - Fix another ALC889A (rev 0x100101) ALSA: hda: add more board-specific information for Realtek ALC662 rev1 ALSA: Correct Vladimir Barinov's e-mail address ALSA: cs46xx: Add PCI IDs for TerraTec and Hercules cards ALSA: hda: SPDIF stream muting support ALSA: hda: appletv support ... commit 37d9869ed928268409b48f52c57449918c0fd307 Merge: 098ef21... 89d4984... Author: Linus Torvalds Date: Sat Oct 11 08:50:01 2008 -0700 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: (27 commits) [S390] Fix checkstack for s390 [S390] fix initialization of stp [S390] 3215: Remove tasklet. [S390] console flush on panic / reboot [S390] introduce dirty bit for kvm live migration [S390] Add ioctl support for EMC Symmetrix Subsystem Control I/O [S390] xpram: per device block request queues. [S390] dasd: fix message flood for unsolicited interrupts [S390] Move private simple udelay function to arch/s390/lib/delay.c. [S390] dcssblk: add >2G DCSSs support and stacked contiguous DCSSs support. [S390] ptrace changes [S390] s390: use sys_pause for 31bit pause entry point [S390] qdio enhanced SIGA (iqdio) support. [S390] cio: fix cio_tpi. [S390] cio: Correct use of ! and & [S390] cio: inline assembly cleanup [S390] bus_id -> dev_set_name() for css and ccw busses [S390] bus_id ->dev_name() conversions in qdio [S390] Use s390_root_dev_* in kvm_virtio. [S390] more bus_id -> dev_name conversions ... commit 098ef215b1e87cff51f983bae4e4e1358b932ec9 Merge: b922df7... 4f6e6b9... Author: Linus Torvalds Date: Sat Oct 11 08:49:34 2008 -0700 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] Fix BUG: using smp_processor_id() in preemptible code [CPUFREQ] Don't export governors for default governor [CPUFREQ][6/6] cpufreq: Add idle microaccounting in ondemand governor [CPUFREQ][5/6] cpufreq: Changes to get_cpu_idle_time_us(), used by ondemand governor [CPUFREQ][4/6] cpufreq_ondemand: Parameterize down differential [CPUFREQ][3/6] cpufreq: get_cpu_idle_time() changes in ondemand for idle-microaccounting [CPUFREQ][2/6] cpufreq: Change load calculation in ondemand for software coordination [CPUFREQ][1/6] cpufreq: Add cpu number parameter to __cpufreq_driver_getavg() [CPUFREQ] use deferrable delayed work init in conservative governor [CPUFREQ] drivers/cpufreq/cpufreq.c: Adjust error handling code involving cpufreq_cpu_put [CPUFREQ] add error handling for cpufreq_register_governor() error [CPUFREQ] acpi-cpufreq: add error handling for cpufreq_register_driver() error [CPUFREQ] Coding style fixes to arch/x86/kernel/cpu/cpufreq/powernow-k6.c [CPUFREQ] Coding style fixes to arch/x86/kernel/cpu/cpufreq/elanfreq.c commit 9609e74093abd9f61fb1d20a8915a8ea87c77d5a Author: Florian Fainelli Date: Thu Sep 11 17:48:00 2008 +0200 MIPS: RB532: provide GPIO_BUILTIN_NR and irq_to_gpio/gpio_to_irq This patchs defines the number of built-in the GPIOs present on the SoC as Documentation/gpio.txt recommends to do. Define irq_to_gpio/gpio_to_irq to return the right values so that it fixes a compilation error on drivers/gpio/gpiolib.c when enabling debugfs. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit d302d05cf4d25f4fbbec0f9338fac13ee0c0ad89 Author: Ralf Baechle Date: Sat Oct 11 16:18:57 2008 +0100 MIPS: Move ptrace prototypes to ptrace.h Signed-off-by: Ralf Baechle commit 0926bf953ee79b8f139741b442e5a18520f81705 Author: David Daney Date: Tue Sep 23 00:11:26 2008 -0700 MIPS: Ptrace support for HARDWARE_WATCHPOINTS This is the final part of the watch register patch. Here we hook up ptrace so that the user space debugger (gdb), can set and read the registers. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 2c708cbaa6031b73be6b992adb3ec1811f91cdb1 Author: David Daney Date: Tue Sep 23 00:09:51 2008 -0700 MIPS: Scheduler support for HARDWARE_WATCHPOINTS. Here we hook up the scheduler. Whenever we switch to a new process, we check to see if the watch registers should be installed, and do it if needed. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit b67b2b703047bfaf62687ca64c9486599b609ef0 Author: David Daney Date: Tue Sep 23 00:08:45 2008 -0700 MIPS: Watch exception handling for HARDWARE_WATCHPOINTS. Here we hook up the watch exception handler so that it sends SIGTRAP when the hardware watch registers are triggered. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 654f57bfb467996fb730eae96dc30ea4de989fdc Author: David Daney Date: Tue Sep 23 00:07:16 2008 -0700 MIPS: Probe watch registers and report configuration. Probe for watch register characteristics, and report them in /proc/cpuinfo. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 6aa3524c182c01b8b8b7c21c4da20c742a9b4d86 Author: David Daney Date: Tue Sep 23 00:05:54 2008 -0700 MIPS: Add HARDWARE_WATCHPOINTS definitions and support code. This is the main support code for the patch. Here we just add the code, the following patches hook it up. Signed-off-by: David Daney Signed-off-by: Ralf Baechle create mode 100644 arch/mips/include/asm/watch.h create mode 100644 arch/mips/kernel/watch.c commit 8192c9ea9ac44213d1266ecb64615519443979b3 Author: David Daney Date: Tue Sep 23 00:04:26 2008 -0700 MIPS: Add HARDWARE_WATCHPOINTS configure option. This is automatically set for all MIPS32 and MIPS64 processors. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 71ec6ccfdc2706e767189d40016fc802305067bb Author: Ralf Baechle Date: Tue Oct 31 02:52:56 2006 +0000 MIPS: Replace use of with native implementations. Signed-off-by: Ralf Baechle commit 4bacc68766b11c191ee1567f54103f109c002f4f Author: Atsushi Nemoto Date: Thu Sep 18 00:13:58 2008 +0900 MIPS: TXx9: Add TX4939 ATA support (v2) Add a helper routine to register tx4939ide driver and use it on RBTX4939 board. Signed-off-by: Atsushi Nemoto Acked-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit 2a31b03335e570dce5fdd082e0d71d48b2cb4290 Author: Ralf Baechle Date: Thu Aug 28 15:17:49 2008 +0100 MIPS: Rewrite spinlocks to ticket locks. Based on patch by Chad Reese of Cavium Networks. Signed-off-by: Ralf Baechle commit b65a75b8c91c0f05047399401407371678fe9549 Author: Ralf Baechle Date: Sat Oct 11 16:18:53 2008 +0100 MIPS: IP checksums: Optimize adjust of sum on buffers of odd alignment. Signed-off-by: Ralf Baechle commit 60724ca59eda766a30be57aec6b49bc3e2bead91 Author: Ralf Baechle Date: Sat Oct 11 16:18:53 2008 +0100 MIPS: IP checksums: Remove unncessary .set pseudos They possibly silence meaningful warnings ... Signed-off-by: Ralf Baechle commit d86a8123b11a9a40d850f6e88b89c948c2477da3 Author: Ralf Baechle Date: Sat Oct 11 16:18:53 2008 +0100 MIPS: IP checksums: Remove unncessary folding of sum to 16 bit. Signed-off-by: Ralf Baechle commit 384740dc49ea651ba350704d13ff6be9976e37fe Author: Ralf Baechle Date: Tue Sep 16 19:48:51 2008 +0200 MIPS: Move headfiles to new location below arch/mips/include Signed-off-by: Ralf Baechle commit e8c7c482347574ecdd45c43e32c332d5fc2ece61 Author: Ralf Baechle Date: Tue Sep 16 19:12:16 2008 +0200 MIPS: Alchemy: rename directory It's more than the au1000 these days. Signed-off-by: Ralf Baechle commit 8d2d91e86b4153cc2305ec86fe908048f459ff7f Author: Ralf Baechle Date: Sat Oct 11 16:18:50 2008 +0100 MIPS: Optimize get_user and put_user for 64-bit A long for the error value leads to unnecessary sign extensions. This patch shrinks an ip27_defconfig kernel build with gcc 4.3.0 by 2256 bytes. Signed-off-by: Ralf Baechle commit b6263ff2d6e58cc2fe615219ab2a06778b5e6cef Author: Atsushi Nemoto Date: Mon Sep 1 22:22:41 2008 +0900 MIPS: TXx9: Implement prom_free_prom_memory Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit b27311e1cace4e296ace786c886d22f7a8ec78d6 Author: Atsushi Nemoto Date: Mon Sep 1 22:22:40 2008 +0900 MIPS: TXx9: Add RBTX4939 board support Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle create mode 100644 arch/mips/txx9/rbtx4939/Makefile create mode 100644 arch/mips/txx9/rbtx4939/irq.c create mode 100644 arch/mips/txx9/rbtx4939/prom.c create mode 100644 arch/mips/txx9/rbtx4939/setup.c create mode 100644 include/asm-mips/txx9/rbtx4939.h commit 0dcdbe6add26719e956299eb519542f7d2f7d0a8 Author: Atsushi Nemoto Date: Mon Sep 1 22:22:39 2008 +0900 MIPS: TXx9: Add TX4939 SoC support Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle create mode 100644 arch/mips/pci/pci-tx4939.c create mode 100644 arch/mips/txx9/generic/irq_tx4939.c create mode 100644 arch/mips/txx9/generic/setup_tx4939.c create mode 100644 include/asm-mips/txx9/tx4939.h commit ae027ead87b13cff99b4f48da7696aa4fe75393b Author: Atsushi Nemoto Date: Mon Sep 1 22:22:38 2008 +0900 MIPS: TXx9: IOC LED support Add leds-gpio platform device for controlling LEDs connected to IOC on RBTX49XX and JMR3927 board. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 21e77df215e58523a755b5dd006cb17610616f20 Author: Atsushi Nemoto Date: Mon Sep 1 22:22:37 2008 +0900 MIPS: TXx9: Microoptimize interrupt handlers The IOC interrupt status register on RBTX49XX only have 8 bits. Use 8-bit version of __fls() to optimize interrupt handlers. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit f6d9831bb11eb465f95fb1736b866d405d9c7cbf Author: Atsushi Nemoto Date: Mon Sep 1 22:22:36 2008 +0900 MIPS: TXx9: stop_unused_modules TXx9 SoCs have pin multiplex. Stop some controller modules which can not be used due to pin configurations. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 9bed90c6a46f10c2d3052c0585057a5cb7392b92 Author: Florian Fainelli Date: Sat Aug 23 18:54:37 2008 +0200 Documentation: Document the RB532 specific kmac tag The Routerboard 532 bootloader passes the korina ethernet MAC adapter address to the kernel on the command line. Document this in the kernel-parameters file. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit d888e25b8dd1b501ac75b0c6587c043a394319c3 Author: Florian Fainelli Date: Sat Aug 23 18:54:34 2008 +0200 MIPS: RB532: Convert to GPIO lib This patch converts the rb532 code to use gpio library and register its gpio chip. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 09b7dcf220a37245b16fd4a716923d75bf6edf8b Author: Florian Fainelli Date: Sat Aug 23 18:54:04 2008 +0200 MIPS: RB532: Remove unused rc32434_sync_delay and rc32434_sync_udelay This patch removes these two unused functions : rc32434_sync_delay and rc32434_sync_udelay Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 606a083b1e1a357cb66454e4581b80f1a67d8368 Author: Florian Fainelli Date: Sat Aug 23 18:53:50 2008 +0200 MIPS: RB532: Cleanup the headers again This patch cleans up headers and regroups informations to where they should reside. While moving, try to have a consistant naming for defines. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit deeb45ac4a32c8271b022ecba73913bc1112e8e6 Author: Florian Fainelli Date: Sat Aug 23 18:53:24 2008 +0200 MIPS: RB532: Remove obsolute reference to setup_serial_port We are no longer using setup_serial_port. So just remove it from the prom code. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit b6e2f58a503b56e154f90dc516647c93c5fe873d Author: Florian Fainelli Date: Fri Aug 22 17:03:03 2008 +0200 MIPS: RB532: Fix id usage in platform devices When there is only platform device of the same type, id = -1 should be used, fix this. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit c76befc3429354909d3242d11b8d3bcb3bea4b03 Author: Florian Fainelli Date: Fri Aug 22 17:02:03 2008 +0200 MIPS: RB532: replace raw volatile read with a readl This patch replaces a raw read using volatiles with a readl. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 49afa0a15180c22c8836ef36edd6aa48ab7b2915 Author: Florian Fainelli Date: Fri Aug 22 17:01:31 2008 +0200 MIPS: RB532: Remove gpio bootup state We are no longer using gpio bootup state, so do not export it and do not parse the kernel command line tag for it. Instead we provide gpio-keys for the button the gpio bootup state was checking. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 3c8cf8caa5b217fbb17d0dce7f6bbec1d7da7249 Author: Florian Fainelli Date: Fri Aug 22 17:01:03 2008 +0200 MIPS: RB532: Use physical addresses for gpio and device controller registers This patch fixes the misuse of virtual addresses for the GPIO and third device controller which would lead to problems while accessing ioremap'd registers. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 3cd4e067a3e548a56a8b5e202552dcd18a2783a9 Author: Florian Fainelli Date: Fri Aug 22 17:00:22 2008 +0200 MIPS: RB532: Cleanup and group definitions to their right places This patch moves GPIO related definitions to gpio.h and IRQ related to irq.h Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 021635280d4572b9d9bb5481b00afea8a66b295f Author: Atsushi Nemoto Date: Tue Aug 19 22:55:18 2008 +0900 MIPS: TXx9: Declare smsc_fdc37m81x_config_get() in smsc_fdc37m81x.h Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit ee25d33f87348fd9e0ea148c4a25a3e7415fb5ba Author: Atsushi Nemoto Date: Tue Aug 19 22:55:17 2008 +0900 MIPS: TXx9: Add __init tag for tx4938_pcic1_map_irq. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit ce8e74112b1b1215aa5bbe261ed751498ce65434 Author: Atsushi Nemoto Date: Tue Aug 19 22:55:16 2008 +0900 MIPS: TXx9: Add board_be_init for TX4927/TX4938 Setup default board_be_handler for TX4927/TX4938. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 496a3b5c2c188e8af07261792b3d4e6cf1c1dab9 Author: Atsushi Nemoto Date: Tue Aug 19 22:55:15 2008 +0900 MIPS: TXx9: Default machine_restart using watchdog reset Add default machine_restart routine using watchdog reset of TX4927 and TX4938. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit d75a40e90e9eb08c2159e719a90a7922dab231d3 Author: Atsushi Nemoto Date: Tue Aug 19 22:55:14 2008 +0900 MIPS: TXx9: Make spi_eeprom.c more generic Helper routines in txx9/rbtx4938/spi_eeprom.c is not TX4938 specific. Move it to txx9/generic/ directory and make it works with SPI bus number other than 0. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle create mode 100644 arch/mips/txx9/generic/spi_eeprom.c delete mode 100644 arch/mips/txx9/rbtx4938/spi_eeprom.c commit e6332374770ae5aa370af5792115261edbad05c1 Author: Atsushi Nemoto Date: Tue Aug 19 22:55:13 2008 +0900 MIPS: RBTX4938: Add TOSHIBA_RBTX4938_MPLEX_KEEP Add TOSHIBA_RBTX4938_MPLEX_KEEP to keep MPLEX settings by firmware. Also replace some printk with pr_info. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 74894363499942a76f2c20e41e8bfebc9fdc267a Author: Atsushi Nemoto Date: Tue Aug 19 22:55:12 2008 +0900 MIPS: TXx9: Raise priority of interrupts for errors, timers, SIO Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 51f607c76e1e7bd089dcad97b6b0a58649be06a3 Author: Atsushi Nemoto Date: Tue Aug 19 22:55:11 2008 +0900 MIPS: TXx9: Add mtd support Add helper routines to register physmap-flash platform devices for NOR flashes. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit c7b95bcb38ea492fd025008ef99501a2b90aa237 Author: Atsushi Nemoto Date: Tue Aug 19 22:55:10 2008 +0900 MIPS: TXx9: Runtime configuration of timeout-error Add kernel options to control bus timeout error. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit d10e025f0e4ba4b96d7b5786d232ac5b0b232b11 Author: Atsushi Nemoto Date: Tue Aug 19 22:55:09 2008 +0900 MIPS: TXx9: Cache fixup TX39/TX49 can enable/disable I/D cache at runtime. Add kernel options to control them. This is useful to debug some cache-related issues, such as aliasing or I/D coherency. Also enable CWF bit for TX49 SoCs. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 860e546c19d88c21819c7f0861c505debd2d6eed Author: Atsushi Nemoto Date: Tue Aug 19 22:55:08 2008 +0900 MIPS: TXx9: Early command-line preprocessing * Select board by command-line option or firmware environment variable. * Handle "masterclk=" option. * Add boards.h to centerize board_vec declaration. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle create mode 100644 include/asm-mips/txx9/boards.h commit 265b89db1058124ddbf0091ba3f8c020e3a5ae9d Author: Atsushi Nemoto Date: Tue Aug 19 22:55:07 2008 +0900 MIPS: TXx9: Add prom_getenv Add prom_getenv() which can be used for YAMON. This assumes other firmware should pass NULL for fw_arg2. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit e0dfb20c2b77c6626a24578240266ace928cd2e7 Author: Atsushi Nemoto Date: Tue Aug 19 22:55:06 2008 +0900 MIPS: TXx9: Improve handling of built-in and command-line args * Make prom_init_cmdline() static and be called from prom_init. * Append built-in args if the first character was '+'. * Drop command-line args if the first character of built-in was '-'. * Enclose args include spaces by quotes. * TX4938_NAND_BOOT is no longer needed. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit f96a3383cfede841cdf80a5927f14478981ed78c Author: Atsushi Nemoto Date: Tue Aug 19 22:55:05 2008 +0900 MIPS: RBTX4927: More explicit initialization * Make sure all interrupts cleared on startup * Initialize some GPIOs Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 9fa32c6b0275ab1e8b19f74fbfa3ed8411345db6 Author: Patrick Glass Date: Mon Aug 18 14:41:30 2008 -0700 MIPS: PMC MSP71XX gpio drivers This new gpio driver for PMC-Sierra's MSP71xx SoC allows standard api calls for access to the general and extended gpio's. Signed-off-by: Patrick Glass Signed-off-by: Ralf Baechle create mode 100755 arch/mips/pmc-sierra/msp71xx/gpio.c create mode 100755 arch/mips/pmc-sierra/msp71xx/gpio_extended.c create mode 100755 include/asm-mips/pmc-sierra/msp71xx/gpio.h commit 5d9a76cd0ed367d01b0b237253adb7607e86a277 Author: Thomas Bogendoerfer Date: Sun Aug 17 16:49:25 2008 +0200 MIPS: Use compat_sys_ptrace This replaces mips's sys_ptrace32 with a compat_arch_ptrace and enables the new generic definition of compat_sys_ptrace instead. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 69fc7eed5f56bce15b239e5110de2575a6970df4 Author: Dmitry Baryshkov Date: Thu Oct 9 16:58:13 2008 +0100 [ARM] 5300/1: fixup spitz reset during boot Some machines don't have the pullup/down on their reset pin, so configuring the reset generating pin as input makes them reset immediately. Fix that by making reset pin direction configurable. Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit f9da8d157b60d8c5bfc5a21fc50538fdb754a65b Author: Atsushi Nemoto Date: Fri Oct 10 23:14:14 2008 -0400 Input: move map_to_7segment.h to include/linux The map_to_7segment.h provides generic 7segment LED mappings and is designed to be used by other drivers. Moving it to common area will make it more usable. Also exporting it to userspace will help users of sysfs interface. Signed-off-by: Atsushi Nemoto Acked-by: Henk Vergonet Signed-off-by: Dmitry Torokhov commit 5bf5683a33f3584da6eced480967c4f7e11515a8 Author: Hidehiro Kawai Date: Fri Oct 10 22:12:43 2008 -0400 ext4: add an option to control error handling on file data If the journal doesn't abort when it gets an IO error in file data blocks, the file data corruption will spread silently. Because most of applications and commands do buffered writes without fsync(), they don't notice the IO error. It's scary for mission critical systems. On the other hand, if the journal aborts whenever it gets an IO error in file data blocks, the system will easily become inoperable. So this patch introduces a filesystem option to determine whether it aborts the journal or just call printk() when it gets an IO error in file data. If you mount an ext4 fs with data_err=abort option, it aborts on file data write error. If you mount it with data_err=ignore, it doesn't abort, just call printk(). data_err=ignore is the default. Here is the corresponding patch of the ext3 version: http://kerneltrap.org/mailarchive/linux-kernel/2008/9/9/3239374 Signed-off-by: Hidehiro Kawai Signed-off-by: Theodore Ts'o commit 7ad7445f60fe4d46c4c9d2a9463db180d2a3b270 Author: Hidehiro Kawai Date: Fri Oct 10 20:29:31 2008 -0400 jbd2: don't dirty original metadata buffer on abort Currently, original metadata buffers are dirtied when they are unfiled whether the journal has aborted or not. Eventually these buffers will be written-back to the filesystem by pdflush. This means some metadata buffers are written to the filesystem without journaling if the journal aborts. So if both journal abort and system crash happen at the same time, the filesystem would become inconsistent state. Additionally, replaying journaled metadata can overwrite the latest metadata on the filesystem partly. Because, if the journal gets aborted, journaled metadata are preserved and replayed during the next mount not to lose uncheckpointed metadata. This would also break the consistency of the filesystem. This patch prevents original metadata buffers from being dirtied on abort by clearing BH_JBDDirty flag from those buffers. Thus, no metadata buffers are written to the filesystem without journaling. Signed-off-by: Hidehiro Kawai Signed-off-by: Theodore Ts'o commit 7ffe1ea8949c75ecffb7a4d988bb881a9fa62fbe Author: Hidehiro Kawai Date: Fri Oct 10 20:29:21 2008 -0400 ext4: add checks for errors from jbd2 If the journal has aborted due to a checkpointing failure, we have to keep the contents of the journal space. Otherwise, the filesystem will lose uncheckpointed metadata completely and become inconsistent. To avoid this, we need to keep needs_recovery flag if checkpoint has failed. With this patch, ext4_put_super() detects a checkpointing failure from the return value of journal_destroy(), then it invokes ext4_abort() to make the filesystem read only and keep needs_recovery flag. Errors from jbd2_journal_flush() are also handled by this patch in some places. Signed-off-by: Hidehiro Kawai Signed-off-by: Theodore Ts'o commit 44519faf22ad6ce924ad0352d3dc200d9e0b66e8 Author: Hidehiro Kawai Date: Fri Oct 10 20:29:13 2008 -0400 jbd2: fix error handling for checkpoint io When a checkpointing IO fails, current JBD2 code doesn't check the error and continue journaling. This means latest metadata can be lost from both the journal and filesystem. This patch leaves the failed metadata blocks in the journal space and aborts journaling in the case of jbd2_log_do_checkpoint(). To achieve this, we need to do: 1. don't remove the failed buffer from the checkpoint list where in the case of __try_to_free_cp_buf() because it may be released or overwritten by a later transaction 2. jbd2_log_do_checkpoint() is the last chance, remove the failed buffer from the checkpoint list and abort the journal 3. when checkpointing fails, don't update the journal super block to prevent the journaled contents from being cleaned. For safety, don't update j_tail and j_tail_sequence either 4. when checkpointing fails, notify this error to the ext4 layer so that ext4 don't clear the needs_recovery flag, otherwise the journaled contents are ignored and cleaned in the recovery phase 5. if the recovery fails, keep the needs_recovery flag 6. prevent jbd2_cleanup_journal_tail() from being called between __jbd2_journal_drop_transaction() and jbd2_journal_abort() (a possible race issue between jbd2_log_do_checkpoint()s called by jbd2_journal_flush() and __jbd2_log_wait_for_space()) Signed-off-by: Hidehiro Kawai Signed-off-by: Theodore Ts'o commit 77e841de8abac4755cc83ca224fdf71418d65380 Author: Hidehiro Kawai Date: Sun Oct 12 16:39:16 2008 -0400 jbd2: abort when failed to log metadata buffers If we failed to write metadata buffers to the journal space and succeeded to write the commit record, stale data can be written back to the filesystem as metadata in the recovery phase. To avoid this, when we failed to write out metadata buffers, abort the journal before writing the commit record. We can also avoid this kind of corruption by using the journal checksum feature because it can detect invalid metadata blocks in the journal and avoid them from being replayed. So we don't need to care about asynchronous commit record writeout with a checksum. Signed-off-by: Hidehiro Kawai Signed-off-by: Theodore Ts'o commit 03010a3350301baac2154fa66de925ae2981b7e3 Author: Theodore Ts'o Date: Fri Oct 10 20:02:48 2008 -0400 ext4: Rename ext4dev to ext4 The ext4 filesystem is getting stable enough that it's time to drop the "dev" prefix. Also remove the requirement for the TEST_FILESYS flag. Signed-off-by: "Theodore Ts'o" commit 0da939b0058742ad2d8580b7db6b966d0fc72252 Merge: 4bdec11... d91d407... Author: James Morris Date: Sat Oct 11 09:26:14 2008 +1100 Merge branch 'master' of git://git.infradead.org/users/pcmoore/lblnet-2.6_next into next commit 59aaade72544ad1be4183c1066c20b5883a78717 Merge: 8e5bdc4... 99b3075... Author: Russell King Date: Fri Oct 10 23:10:10 2008 +0100 Merge branch 'omap3-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 into omap-all commit 4bdec11f560b8f405a011288a50e65b1a81b3654 Author: Rajiv Andrade Date: Sat Oct 11 09:05:20 2008 +1100 As pointed out by Jonathan Corbet, the timer must be deleted before flushing the work queue in order to avoid a job being submitted after the chip had been released. Signed-off-by: Rajiv Andrade Signed-off-by: Mimi Zohar Cc: Jonathan Corbet Cc: "Serge E. Hallyn" Signed-off-by: Andrew Morton Signed-off-by: James Morris commit 15c220d003f7914aab99cdb71cd7834a0c9b4557 Author: Andrew Morton Date: Sat Oct 11 09:04:48 2008 +1100 ERROR: code indent should use tabs where possible #32: FILE: drivers/char/tpm/tpm.c:1148: +^I ^Ichip->vendor.release(chip->dev);$ total: 1 errors, 0 warnings, 86 lines checked ./patches/tpm-addition-of-pnp_remove.patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. Please run checkpatch prior to sending patches Cc: "Serge E. Hallyn" Cc: Bjorn Helgaas Cc: Mimi Zohar Cc: Rajiv Andrade Signed-off-by: Andrew Morton Signed-off-by: James Morris commit 253115b71fa06330bd58afbe01ccaf763a8a0cf1 Author: Rajiv Andrade Date: Sat Oct 11 09:04:39 2008 +1100 The tpm_dev_release function is only called for platform devices, not pnp devices, so we implemented the .remove function for pnp ones. Since it's code is very similar to the one inside tpm_dev_release, we've created a helper function tpm_dev_vendor_release, which is called by both. Signed-off-by: Mimi Zohar Signed-off-by: Rajiv Andrade Cc: "Serge E. Hallyn" Cc: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: James Morris commit f02a93645e6200a9da0f26dac8ced28c612f5e86 Author: Rajiv Andrade Date: Sat Oct 11 09:04:23 2008 +1100 Protect tpm_chip_list when transversing it. Signed-off-by: Mimi Zohar Signed-off-by: Rajiv Andrade Acked-by: Serge E. Hallyn Cc: "Paul E. McKenney" Signed-off-by: Andrew Morton Signed-off-by: James Morris commit dc36d32cc5bea5e985294c79995e10a159c3019a Author: Rajiv Andrade Date: Sat Oct 11 09:04:02 2008 +1100 Renames num_open to is_open, as only one process can open the file at a time. Signed-off-by: Mimi Zohar Signed-off-by: Rajiv Andrade Cc: "Serge E. Hallyn" Signed-off-by: Andrew Morton Signed-off-by: James Morris commit f89c5edb86abfac4c914f4eb808b07684164eca0 Author: Rajiv Andrade Date: Sat Oct 11 09:03:39 2008 +1100 Remove the BKL calls from the TPM driver, which were added in the overall misc-char-dev-BKL-pushdown.patch, as they are not needed. Signed-off-by: Mimi Zohar Signed-off-by: Rajiv Andrade Cc: "Serge E. Hallyn" Signed-off-by: Andrew Morton Signed-off-by: James Morris commit 6861ff35ec5b60fafaf8651754c9a75142bfa9a4 Merge: 2ef3783... 1765f95... Author: David S. Miller Date: Fri Oct 10 14:43:54 2008 -0700 Merge branch 'r8169' of git://git.kernel.org/pub/scm/linux/kernel/git/romieu/netdev-2.6 commit 2ef3783608668a32e497a16cb8696cee9b0aa47c Author: Brice Goglin Date: Fri Oct 10 14:33:37 2008 -0700 myri10ge: update driver version number to 1.4.3-1.369 Update myri10ge driver version number to 1.4.3-1.369. Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit 1765f95d2db0a516b5816e016fdf459c4bb5affb Author: Francois Romieu Date: Sat Sep 13 17:21:40 2008 +0200 r8169: add shutdown handler Signed-off-by: Francois Romieu Cc: Edward Hsu commit 5b538df9dedb3469b688b93ffab2a7efb64c88e3 Author: Francois Romieu Date: Sun Jul 20 16:22:45 2008 +0200 r8169: preliminary 8168d support Taken from Realtek's 8.007.00 r8168 driver. Signed-off-by: Francois Romieu Fixed-by: Ivan Vecera Cc: Edward Hsu commit 7f3e3d3a69da262016db6eec803881603c61ddf6 Author: Francois Romieu Date: Sun Jul 20 18:53:20 2008 +0200 r8169: support additional 8168cp chipset Taken from Realtek's 8.007.00 r8168 driver. Signed-off-by: Francois Romieu Fixed-by: Ivan Vecera Cc: Edward Hsu commit ef808d502cc3b18b2d823bbe8c03c0b8ea0df1b5 Author: Francois Romieu Date: Sun Jun 29 13:10:54 2008 +0200 r8169: change default behavior for mildly identified 8168c chipsets The addition of a new device has so far implied a specialization of these masks. While they identify 8168c devices, they can be expected to be further refined as they have been by Realtek so far. The change should bring the driver closer to the version 8.006.00 of Realtek's 8168 driver. Signed-off-by: Francois Romieu Cc: Edward Hsu commit ef3386f00fcd18a40343047329ec7ed2eb98bbe8 Author: Francois Romieu Date: Sun Jun 29 12:24:30 2008 +0200 r8169: add a new 8168cp flavor Taken from Realtek's 8.006.00 r8168 driver. I have left some bits related to jumbo frame aside for now. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 6fb07058d2b6c748c308e4ee453035433d34ca93 Author: Francois Romieu Date: Sun Jun 29 11:54:28 2008 +0200 r8169: add a new 8168c flavor (bis) Taken from Realtek's 8.006.00 r8168 driver. I have left some bits related to jumbo frame aside for now. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 197ff761dbf9fa5de9a4684a51ee5cb534cbb852 Author: Francois Romieu Date: Sat Jun 28 13:16:02 2008 +0200 r8169: add a new 8168c flavor Taken from Realtek's 8.006.00 r8168 driver. Signed-off-by: Francois Romieu Cc: Edward Hsu commit b726e493e8dc13537d1d7f8cd66bcd28516606c3 Author: Francois Romieu Date: Sat Jun 28 12:22:59 2008 +0200 r8169: sync existing 8168 device hardware start sequences with vendor driver This part of the driver should be reasonably in line with Realtek's 8.006.00 driver. I have left some bits related to jumbo frame and optional features aside for now. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 2e68ae44309bfadccdb5ddd68b9c38d2a1efeb94 Author: Francois Romieu Date: Sat Jun 28 12:00:55 2008 +0200 r8169: 8168b Tx performance tweak Signed-off-by: Francois Romieu Cc: Edward Hsu commit 219a1e9d46dcc21f279c428941ded2328f1a5ee5 Author: Francois Romieu Date: Sat Jun 28 11:58:39 2008 +0200 r8169: make room for more specific 8168 hardware start procedure Broadly speaking the 8168c* share some common code which will be factored in __rtl_hw_start_8168cp. The 8168b* share some code too but it will be a bit different. Any change of behavior should be confined to the currently unidentified 8168 chipsets. They will not be applied the Tx performance tweak and will emit a warning instead. Signed-off-by: Francois Romieu Cc: Edward Hsu commit b8363901596f64ef74db906df0c4a95daea47464 Author: Francois Romieu Date: Sun Jun 1 12:31:57 2008 +0200 r8169: shuffle some registers handling around (8168 operation only) I can not argue strongly for (or against) a specific ordering on a purely technical ground but the patch avoids to swallow Realtek's changes in one big, hard-to-read gulp. Let aside the way the RxConfig register is written (see rtl_set_rx_tx_config_registers / RxConfig / rtl_set_rx_mode), this change brings the registers write ordering closer with Realtek's driver one (version 8.006.00) for the 8168 chipsets. More 8168 specific code which touches the Configx registers will be added in the section covered by Cfg9346_UnLock / Cfg9346_Lock. This code should not be the cause of regression for 810x and 8110 users. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 236b8082aa239e91c3cd9cb466d0527a735e54db Author: Francois Romieu Date: Fri May 30 16:11:48 2008 +0200 r8169: new phy init parameters for the 8168b The new parameters are synced with Realtek's driver version 8.006.00. Signed-off-by: Francois Romieu Cc: Edward Hsu commit f50d4275422415cfb2a5b94bad3b2b229d0ec1aa Author: Francois Romieu Date: Fri May 30 16:07:07 2008 +0200 r8169: update phy init parameters The modified parameters are synced with Realtek's driver version 8.006.00. The change should only be noticeable with some 8168c. Signed-off-by: Francois Romieu Cc: Edward Hsu commit a2de6b89b74b28052e293fdb39975a5a03c432e0 Author: Francois Romieu Date: Thu Sep 4 00:17:12 2008 +0200 r8169: wake up the PHY of the 8168 This is typically needed when some other OS puts the PHY to sleep due to the disabling of WOL options in the BIOS of the system. Signed-off-by: Francois Romieu Tested-by: Chiaki Ishikawa Cc: Edward Hsu Cc: RyanKao commit 1839faab9a2747bcd30ee14e50575a39bf6735d4 Author: Tobias Brunner Date: Fri Oct 10 14:07:03 2008 -0700 af_key: fix SADB_X_SPDDELETE response When deleting an SPD entry using SADB_X_SPDDELETE, c.data.byid is not initialized to zero in pfkey_spddelete(). Thus, key_notify_policy() responds with a PF_KEY message of type SADB_X_SPDDELETE2 instead of SADB_X_SPDDELETE. Signed-off-by: Tobias Brunner Signed-off-by: David S. Miller commit 92f1f8fd8040e7b50a67a850a935509bb01201bb Author: Elias Oltmanns Date: Fri Oct 10 22:39:40 2008 +0200 ide: Remove ide_spin_wait_hwgroup() and use special requests instead Use a special request for serialisation purposes and get rid of the awkward ide_spin_wait_hwgroup(). This also involves converting the ide_devset structure so it can be shared by the /proc and the ioctl code. Signed-off-by: Elias Oltmanns [bart: use rq->cmd[] directly] Signed-off-by: Bartlomiej Zolnierkiewicz commit d6e2955a6b82d2312b5ff885ce13c8ab54d59d96 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:39 2008 +0200 ide: move IDE{FLOPPY,TAPE}_WAIT_CMD defines to While at it: * IDE{FLOPPY,TAPE}_WAIT_CMD -> WAIT_{FLOPPY,TAPE}_CMD * Use enum for WAIT_* defines. There should be no functional changes caused by this patch. Acked-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit de699ad595fb45022d1b049ed91ffd06fdd16c13 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:39 2008 +0200 ide: add ide_do_test_unit_ready() helper * Add ide_do_test_unit_ready() helper and convert ide-{floppy,tape}.c to use it. * Remove no longer used idetape_create_test_unit_ready_cmd(). There should be no functional changes caused by this patch. Acked-by: Borislav Petkov Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 0c8a6c7aead1d3be85ce53e3aaacd52e38ede03e Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:39 2008 +0200 ide: add ide_do_start_stop() helper * Add ide_do_start_stop() helper and convert ide-{floppy,tape}.c to use it. * Remove no longer used idefloppy_create_start_stop_cmd() and idetape_create_load_unload_cmd(). There should be no functional changes caused by this patch. Acked-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 0578042db3191e1ac76b53d213f2a691c3e1eaed Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:38 2008 +0200 ide: add ide_set_media_lock() helper * Set IDE_AFLAG_NO_DOORLOCK in idetape_get_mode_sense_result(), check it in ide_tape_set_media_lock() and cleanup idetape_create_prevent_cmd(). * Set IDE_AFLAG_NO_DOORLOCK in ide_floppy_create_read_capacity_cmd() and check it instead of IDE_AFLAG_CLIK_DRIVE in ide_floppy_set_media_lock(). * Add ide_set_media_lock() helper and convert ide-{floppy,tape}.c to use it. * Remove no longer used ide*_create_prevent_cmd()/ide*_set_media_lock(). * Update comment in accordingly. Acked-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 0127854d7c96612a454bed6de242e28f8021fa7f Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:38 2008 +0200 ide-floppy: move floppy ioctls handling to ide-floppy_ioctl.c While at it: - idefloppy_create_read_capacity_cmd() -> ide_floppy_create_read_capacity_cmd() - idefloppy_create_mode_sense_cmd() -> ide_floppy_create_mode_sense_cmd() - idefloppy_create_request_sense_cmd() -> ide_floppy_create_request_sense_cmd() - idefloppy_create_format_unit_cmd() -> ide_floppy_create_format_unit_cmd() - idefloppy_get_sfrp_bit() -> ide_floppy_get_sfrp_bit() Acked-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 49cac39e71bd6bbcf934c6ba837e21503902c088 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:38 2008 +0200 ide-floppy: ->{srfp,wp} -> IDE_AFLAG_{SRFP,WP} Add IDE_AFLAG_{SRFP,WP} drive->atapi_flags and use them instead of ->{srfp,wp} struct ide_floppy_obj fields. There should be no functional changes caused by this patch. Acked-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2ac07d920604eeee8966d52e70161f9b31fe90a3 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:38 2008 +0200 ide: add ide_queue_pc_tail() helper * Add ide_queue_pc_tail() and convert ide-{floppy,tape}.c to use it instead of ide*_queue_pc_tail(). * Remove no longer used ide*_queue_pc_tail(). There should be no functional changes caused by this patch. Acked-by: Borislav Petkov Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7645c1514c7d34ebdf3ea0e8ee3a935c08abceb2 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:37 2008 +0200 ide: add ide_queue_pc_head() helper * Move REQ_IDETAPE_* enums to . * Add ide_queue_pc_head() and convert ide-{floppy,tape}.c to use it instead of ide*_queue_pc_head(). * Remove no longer used ide*_queue_pc_head(). There should be no functional changes caused by this patch. Acked-by: Borislav Petkov Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7bf7420a318978cd6042e5a5da34b7cfa18ae559 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:37 2008 +0200 ide: add ide_init_pc() helper * Add IDE_PC_BUFFER_SIZE define. * Add ide_init_pc() and convert ide-{floppy,tape}.c to use it instead of ide*_init_pc(). * Remove no longer used IDE*_PC_BUFFER_SIZE and ide*_init_pc(). There should be no functional changes caused by this patch. Acked-by: Borislav Petkov Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 385a4b8787c70b708688bee65139f15b0f79f144 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:37 2008 +0200 ide-tape: add ide_tape_set_media_lock() helper Add ide_tape_set_media_lock() helper and convert idetape_mtioctop(), idetape_chrdev_open() and idetape_chrdev_release() to use it. There should be no functional changes caused by this patch (it is OK to modify ->door_locked if idetape_create_prevent_cmd() fails). Acked-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit e996fc8ae96a822f037e25463cb8dac5b93839f7 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:37 2008 +0200 ide-floppy: add ide_floppy_set_media_lock() helper Add ide_floppy_set_media_lock() helper and convert idefloppy_open(), idefloppy_release() and ide_floppy_lockdoor() to use it. There should be no functional changes caused by this patch. Acked-by: Borislav Petkov Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit acaa0f5f675ccf6b8a3a11a933419068b1ea1f46 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:36 2008 +0200 ide: add ide_io_buffers() helper * Make ->io_buffers method return number of bytes transferred. * Use ide_end_request() instead of idefloppy_end_request() in ide_floppy_io_buffers() and then move the call out to ide_pc_intr(). * Add ide_io_buffers() helper and convert ide-{floppy,scsi}.c to use it instead of ide*_io_buffers(). There should be no functional changes caused by this patch. Acked-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit c860f955681ebd83df4a03089f1910fc4b54651f Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:36 2008 +0200 ide-scsi: cleanup ide_scsi_io_buffers() Preparation for ide_{floppy,scsi}_io_buffers() unification. Acked-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4de4b9e1405aef41d199dd20dbce7e9a5dbbf7bf Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:36 2008 +0200 ide-floppy: remove MODE_SENSE_* defines Only MODE_SENSE_CURRENT (0x00) is ever used so just remove these defines and then drop no longer needed 'type' argument from idefloppy_create_mode_sense_cmd(). Cc: Borislav Petkov Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2e8a6f89de69d149bde135c2dc89daa9127984a9 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:36 2008 +0200 ide-{floppy,tape}: remove packet command stack * Add 'struct ide_atapi_pc queued_pc' to struct ide_{floppy,tape}_obj and switch ide*_do_request() to use it (there can be only one active request for a given device). * Add 'struct ide_atapi_pc request_sense_pc' to struct ide_*_obj and switch ide*_retry_pc() to use it. * Remove needless {floppy,tape}->pc assignment from ide*_setup(). * Remove no longer needed ide*_next_pc_storage(), pc_stack[], rq_stack_index, IDE*_PC_STACK and DBG_PC_STACK. There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 394a4c2101f43bfb5fea7b5d1f5789a14ac018d7 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:35 2008 +0200 ide-{floppy,tape}: remove request stack * Add 'struct request request_sense_rq' to struct ide_{floppy,tape}_obj and switch ide*_retry_pc() to use it (there can be only one REQUEST SENSE request active for a given device). * Remove no longer needed ide*_next_rq_storage(), rq_stack[] and rq_stack_index. * DBG_PCRQ_STACK -> DBG_PC_STACK * Update comments for IDE*_PC_STACK and idetape_queue_pc_{head,tail}(). There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 20df429dd6671804999493baf2952f82582869fa Author: Borislav Petkov Date: Fri Oct 10 22:39:35 2008 +0200 ide-generic: handle probing of legacy io-ports v5 Avoid probing the io-ports in case an IDE PCI controller is present and it uses the legacy iobases. If we still want to enforce the probing, we do ide_generic.probe_mask=0x3f on the kernel command line. The iobase checking code is adapted from drivers/ata/pata_legacy.c after converting hex pci ids into their corresponding macros in . Also, check only BAR0/2 resources since those are guaranteed by the workaround in drivers/pci/probe.c:pci_setup_device(). Signed-off-by: Borislav Petkov Acked-by: Sergei Shtylyov Cc: Alan Cox [bart: trivial printk() fixups] Signed-off-by: Bartlomiej Zolnierkiewicz commit b98b3409abb697321d1b53e3e96a14243fe9fc79 Author: Borislav Petkov Date: Fri Oct 10 22:39:35 2008 +0200 ide-floppy: use scatterlists for pio transfers Use hwif->sg_table for pio transfers instead of fumbling with block layer internals in the driver. Also, make debug statements more informative in .._do_request() while at it. Signed-off-by: Borislav Petkov [bart: fixup pc->b_count in idefloppy_blockpc_cmd()] [bart: add missing include (noticed by Stephen Rothwell)] [bart: map hwif->sg_{table,nents} on pc->{sg,sg_cnt} (multi-IRQs-per-sg fix)] Signed-off-by: Bartlomiej Zolnierkiewicz commit f025ffdcc3450ae66c9d5df368d97f07e7fcf489 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:34 2008 +0200 ide-tape: remove idetape_init_rq() idetape_init_rq() is only used in idetape_queue_pc_head() so inline it there. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit d56c99e26b0ff45009bdf85556abee60591507cb Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:34 2008 +0200 ide-floppy: add ide_floppy_format_ioctl() helper * Factor out IDEFLOPPY_IOCTL_FORMAT_* ioctls handling from idefloppy_ioctl() to ide_floppy_format_ioctl(). While at it: * Pass 'drive' instead of 'floppy' to ide_floppy_format_unit(). * idefloppy_get_format_progress() -> ide_floppy_get_format_progress() There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit e3faa2481e832568d13dfa3a52d17525b322cb8f Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:34 2008 +0200 ide-floppy: remove needless parens Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 51509eec34debffec3c6f481f7371c9aeb6c63c1 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:34 2008 +0200 ide: add ide_check_atapi_device() helper * Add ide_check_atapi_device() to ide-atapi.c and convert ide-{floppy,tape}.c to use it instead of ide*_identify_device(). While at it: * Add DRV_NAME defines to ide-{floppy,tape}.c. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 05236ea6df7419f0f37cf9603cfee265cfce5832 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:33 2008 +0200 ide: move ioctls handling to ide-ioctls.c * Move ioctls handling to ide-ioctls.c (except HDIO_DRIVE_TASKFILE for now). * Make ide_{cmd,task}() static. Signed-off-by: Bartlomiej Zolnierkiewicz commit 170dc5b085e688639aa2b7acd1b907e2e1c7a48a Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:33 2008 +0200 ide: cleanup generic_ide_ioctl() * Fix intendation for the main 'switch ()'. * 'switch ()' -> 'if ()' for HDIO_DRIVE_TASKFILE case. * Move HDIO_SET_NICE case under HDIO_GET_NICE one. Signed-off-by: Bartlomiej Zolnierkiewicz commit aa7687738af3332470e02ac1060f6c046d83c9a3 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:33 2008 +0200 ide: add ide_setting_ioctl() helper * Add struct ide_ioctl_devset representing ioctl device setting. * Add ide_setting_ioctl() helper for matching given ioctl and its parameters against table of ioctl device settings. * Convert ide_setting_ioctl() and idedisk_ioctl() to use ide_setting_ioctl(). * Un-export ide_setting_mtx. While at it: * {get,set}_lba_addressing() -> {get,set}_addressing() There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 9232c14bff36d65de254f34386c00b732c5b6099 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:33 2008 +0200 ide: remove ->bus_state field from ide_hwif_t It is always set to BUSSTATE_ON. Signed-off-by: Bartlomiej Zolnierkiewicz commit feb22b7f8e62b1b987a3a1dbad95af767a1df832 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:32 2008 +0200 ide: add proper PCI PM support (v2) * Keep pointer to ->init_chipset method also in struct ide_host and set it in ide_host_alloc_all(). * Add ide_pci_suspend() and ide_pci_resume() helpers (default ->suspend and ->resume implementations). * ->init_chipset can no longer be marked __devinit. * Add proper PCI PM support to IDE PCI host drivers (rz1000.c and tc86c001.c are skipped for now since they need to be converted from using ->init_hwif to use ->init_chipset instead). v2: * Cleanup CONFIG_PM #ifdef-s per akpm's suggestion. Cc: Andrew Morton Cc: "Rafael J. Wysocki" Signed-off-by: Bartlomiej Zolnierkiewicz commit 1785192b5310ee25165768f5bb80f13146788e3e Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:32 2008 +0200 hpt366: add hpt3xx_disable_fast_irq() helper * Factor out disabling of "fast interrupt" prediction from init_hwif_hpt366() to hpt3xx_disable_fast_irq() helper. * Use hpt3xx_disable_fast_irq() in ->init_chipset instead of ->init_hwif method. This is a preparation for adding proper PCI PM support. While at it: * Cache chip type in chip_type variable in hpt3xx_disable_fast_irq(). There should be no functional changes caused by this patch. Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit a02227c9774b3bff08c7f557d06247e0a03ac435 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:31 2008 +0200 ide: lba_capacity_is_ok() -> ata_id_is_lba_capacity_ok() Rename lba_capacity_is_ok() to ata_id_is_lba_capacity_ok() and move it to (remove needless parens while at it). Cc: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz commit 93734a234447a3c091f76d76f7351af9d4dde518 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:31 2008 +0200 ide: ide_id_to_hd_driveid() -> ata_id_to_hd_driveid() Rename ide_id_to_hd_driveid() to ata_id_to_hd_driveid() and move it to . Cc: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz commit 718c72e83da295efc9c8625b6f380ef10352d955 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:31 2008 +0200 ide: use ata_id_is_cfa() Use ata_id_is_cfa() in do_identify() instead of open-coding check for CompactFlash devices (the inline helper also takes care of detecting CFs advertising themselves as ATA disks). Signed-off-by: Bartlomiej Zolnierkiewicz commit ff2779b568e70822e0ef2cc7afeeefbe7c607652 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:31 2008 +0200 ide: ide_id_has_flush_cache_ext() -> ata_id_flush_ext_enabled() * Add ata_id_flush_ext_enabled() inline helper to . * ide_id_has_flush_cache_ext() -> ata_id_flush_ext_enabled() The latter one also checks if the command is marked as supported in word 83 and validity of words 83 & 86. Cc: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz commit 4b58f17d7c45a8e5f4acda641bec388398b9c0fa Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:30 2008 +0200 ide: ide_id_has_flush_cache() -> ata_id_flush_enabled() * Add ata_id_flush_enabled() inline helper to . * ide_id_has_flush_cache() -> ata_id_flush_enabled() The latter one also checks if the command is marked as supported in word 83 and validity of words 83 & 86. Cc: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz commit 1a4e4d4d2cceb72be70526a485914abd638c7de1 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:30 2008 +0200 ide: check only for CACHE FLUSH command support in ide_id_has_flush_cache() All devices supporting CACHE FLUSH EXT command should also support CACHE FLUSH command so it is sufficient to check only for CACHE FLUSH in ide_id_has_flush_cache(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 942dcd85bf8edf38cdc3745306ca250684d99a61 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:30 2008 +0200 ide: idedisk_supports_lba48() -> ata_id_lba48_enabled() * Add ata_id_lba48_enabled() inline helper to . * idedisk_supports_lba48() -> ata_id_lba48_enabled() The latter one also checks validity of words 83 & 86. Cc: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz commit 367d7e78dd48cf6ad35182a99d97abb5486e040e Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:30 2008 +0200 ide: ide_dev_is_sata() -> ata_id_is_sata() * Use optimized ATA version check from Sergei in ata_id_is_sata(). * ide_dev_is_sata() -> ata_id_is_sata() Cc: Jeff Garzik Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5d5870f0a26e2304c4a82592870c5bc88017f7c9 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:29 2008 +0200 ide: ide_dev_has_iordy() -> ata_id_has_iordy() * Remove (id[ATA_ID_FIELD_VALID] & 2) check from ide_dev_has_iordy() (it is for validity of words 64-70, IORDY is in word 49). * ide_dev_has_iordy() -> ata_id_has_iordy() Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9fa295e12d490fd571c614b221defaa9212c20dc Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:29 2008 +0200 ide: factor out HDIO_*_NICE ioctl handling to ide_*_nice_ioctl() Factor out HDIO_{GET,SET}_NICE ioctl handling from generic_ide_ioctl() to ide_{get,set}_nice_ioctl(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 02d599a365d04658bc9ea71762ed17c895079927 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:29 2008 +0200 ide: remove ->supports_dsc_overlap field from ide_driver_t * Use drive->media and drive->scsi to check if ->dsc_overlap can be set by HDIO_SET_NICE ioctl in generic_ide_ioctl(). * Remove unused ->supports_dsc_overlap field from ide_driver_t. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit ebc6be520673f65aef188abde43972f9cd2162e9 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:29 2008 +0200 ide: remove read-only ->atapi_overlap field from ide_drive_t Signed-off-by: Bartlomiej Zolnierkiewicz commit af5dfe8cf07b6f4fbd6b7d8ff1aeda718fdd0166 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:28 2008 +0200 cmd640: add __set_prefetch_mode() Factor out the common code from check_prefetch() and set_prefetch_mode() to __set_prefetch_mode(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 151a670186a0f8441798f90c8701647adb7a1589 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:28 2008 +0200 ide: remove SECTOR_WORDS define Just use SECTOR_SIZE instead. Signed-off-by: Bartlomiej Zolnierkiewicz commit 8185d5aa93e0a5c111adc4952a5b87193a68ae5b Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:28 2008 +0200 ide: /proc/ide/hd*/settings rework * Add struct ide_devset, S_* flags, *DEVSET() & ide*_devset_*() macros. * Add 'const struct ide_devset **settings' to ide_driver_t. * Use 'const struct ide_devset **settings' in ide_drive_t instead of 'struct ide_settings_s *settings'. Then convert core code and device drivers to use struct ide_devset and co.: - device settings are no longer allocated dynamically for each device but instead there is an unique struct ide_devset instance per setting - device driver keeps the pointer to the table of pointers to its settings in ide_driver_t.settings - generic settings are kept in ide_generic_setting[] - ide_proc_[un]register_driver(), ide_find_setting_by_name(), ide_{read,write}_setting() and proc_ide_{read,write}_settings() are updated accordingly - ide*_add_settings() are removed * Remove no longer used __ide_add_setting(), ide_add_setting(), __ide_remove_setting() and auto_remove_settings(). * Remove no longer used TYPE_*, SETTING_*, ide_procset_t and ide_settings_t. * ->keep_settings, ->using_dma, ->unmask, ->noflush, ->dsc_overlap, ->nice1, ->addressing, ->wcache and ->nowerr ide_drive_t fields can now be bitfield flags. While at it: * Rename ide_find_setting_by_name() to ide_find_setting(). * Rename write_wcache() to set_wcache(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 263138a0ad6e38de7f6526b7de037ed4511308ef Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:27 2008 +0200 ide: preparations for /proc/ide/hd*/settings rework After rework settings will be no longer created dynamically for each device so we need to make some fixups first. * Use set_[ksettings,unmaskirq]() as a set function for ["keepsettings","unmaskirq"] setting. * Allow writes to ["io_32bit","unmaskirq"] settings also when drive->no_[io_32bit,unmask] is set (this is checked later inside set_[io_32bit,unmaskirq]() anywyay and keeps consistency with the corresponding HDIO_SET_[32BIT,UNMASKINTR] ioctls). * Use max possible multi sectors value (16) as an allowed max for "multcount" setting. set_multcount() set function checks against device's max possbile value anyway and it makes the proc setting consistent with the corresponding HDIO_SET_MULTCOUNT ioctl. Signed-off-by: Bartlomiej Zolnierkiewicz commit 1e874f448365b80e69b8a60b8b575b17f00811f3 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:27 2008 +0200 ide: call ide_proc_register_driver() later Call ide_proc_register_driver() in ide*_setup() (just before ide*_add_settings() call) instead of in ->probe method. Despite being basically a preparation for /proc/ide/hd*/settings rework this is a nice cleanup in itself. Signed-off-by: Bartlomiej Zolnierkiewicz commit 3ceca727fe3a38dd8d7a3adf938fefda83eee8af Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:27 2008 +0200 ide: include only when needed * Include directly in instead of through . * Include only when needed. Cc: Christoph Hellwig Signed-off-by: Bartlomiej Zolnierkiewicz commit 7c51c17e0431d2f26bc23ee07de12eafb125ce83 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:26 2008 +0200 ide: remove CONFIG_IDEDISK_MULTI_MODE Use multi PIO by default when available and remove no longer needed CONFIG_IDEDISK_MULTI_MODE (it should be safe nowadays, despite to what help entry has been saying). Signed-off-by: Bartlomiej Zolnierkiewicz commit 7e59ea21aab1a91ca31bc64c7d3035ebdbd336d1 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:26 2008 +0200 ide: check drive->present in ide_get_paired_drive() * Change ide_get_paired_drive() to return NULL if peer device is not present and update all users accordingly. While at it: * ide_get_paired_drive() -> ide_get_pair_dev() * Use ide_get_pair_dev() in cs5530.c, sc1200.c and via82cxxx.c. There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2a924662b646fa25cb491d50aa1202a94aa4ac55 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:24 2008 +0200 ide: remove needless drive->present checks from device drivers Remove needless drive->present checks from ->probe methods (device model takes care of that). Signed-off-by: Bartlomiej Zolnierkiewicz commit 3cd5f1eae093a7d6ff8a63c746eba9d6f689ba91 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:24 2008 +0200 ide: remove unused _IDE_C and _IDE_DISK defines Signed-off-by: Bartlomiej Zolnierkiewicz commit a2cdee5a9a93360165d0576bbc7e9ccb3127afee Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:24 2008 +0200 ide: remove IDE_CHIPSET_* macros They just obfuscate the code. Signed-off-by: Bartlomiej Zolnierkiewicz commit 7c199a5496d0579d388636ee34a954e2e566d2fb Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:23 2008 +0200 ide: remove no longer needed BUG_ON()-s from init_irq() init_irq() is now called only during initial host registration so these BUG_ON()-s are no loner needed (+ the last one was done too late anyway). Signed-off-by: Bartlomiej Zolnierkiewicz commit b163f46d5ecf48d883ce156e5e5a21a1a9a125c7 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:23 2008 +0200 ide: enhance ide_busy_sleep() * Make ide_busy_sleep() take timeout value as a parameter and also allow use of AltStatus Register if requested with altstatus parameter. Update existing users accordingly. * Convert ide_driveid_update() and actual_try_to_identify() to use ide_busy_sleep(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit c36a7e98846a7a4a1c09b7f148395089bce512d8 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:23 2008 +0200 ide: fix EXABYTENEST handling in probe_for_drive() Fix EXABYTENEST handling in probe_for_drive() (so drive->present is checked for "nested" device) and cleanup enable_nest(). Signed-off-by: Bartlomiej Zolnierkiewicz commit efa402d59e99b7940501ead18a11b3d6604ad720 Author: FUJITA Tomonori Date: Fri Oct 10 22:39:22 2008 +0200 ide-cd: use the new object_is_in_stack() helper Signed-off-by: FUJITA Tomonori Cc: Borislav Petkov Cc: Thomas Bogendoerfer Cc: Tejun Heo Cc: Jens Axboe Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit 1a7809e3499921a016d203b9ee51a77d3cc1dc98 Author: Linus Torvalds Date: Fri Oct 10 22:39:22 2008 +0200 ide: re-code ide_fixstring() loop to be less evil On Friday 25 July 2008, Linus Torvalds wrote: > > On Fri, 25 Jul 2008, Ben Dooks wrote: > > > > personally, i would much prefer to see the loop being less evil > > like: > > > > for (p = s; p < end; p += 2) > > be16_to_cpus((u16 *)p); > > Well, in this case, the code actually depends on 'p' being back at the > start of the buffer by the end of it all, so it would need some more > changes than that. > > But yes, I applied David's patch, but I _also_ suspect that we would be > better off without code that does horrid things like casts and assignments > inside the function arguments. > > So it would be nice to re-code that loop to be more readable. But due to > the reliance of 'p' being 's' after the loop, the minimal patch would be > something like the appended. > > Bartlomiej - take this or not, I'm not going to commit it - I haven't > tested it, nor do I even have any machines that would trigger it. So this > is more a "maybe something like this" than anything else. From: Linus Torvalds CC: Ben Dooks Cc: David Miller Cc: harvey.harrison@gmail.com Signed-off-by: Bartlomiej Zolnierkiewicz commit 3c619ffd48d7fdb3b17f0df67c4eb4b0bd80e253 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:22 2008 +0200 ide: remove no longer needed ide_drive_t fields Remove ->remap_0_to_1 and ->sect0 (they are always zero now). Signed-off-by: Bartlomiej Zolnierkiewicz commit 3a7d24841ad794ae64c90d7d00d62a83741912aa Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:21 2008 +0200 ide: use ATA_* defines instead of *_STAT and *_ERR ones * ERR_STAT -> ATA_ERR * INDEX_STAT -> ATA_IDX * ECC_STAT -> ATA_CORR * DRQ_STAT -> ATA_DRQ * SEEK_STAT -> ATA_DSC * WRERR_STAT -> ATA_DF * READY_STAT -> ATA_DRDY * BUSY_STAT -> ATA_BUSY * MARK_ERR -> ATA_AMNF * TRK0_ERR -> ATA_TRK0NF * ABRT_ERR -> ATA_ABORTED * MCR_ERR -> ATA_MCR * ID_ERR -> ATA_IDNF * MC_ERR -> ATA_MC * ECC_ERR -> ATA_UNC * ICRC_ERR -> ATA_ICRC * BBD_ERR -> ATA_BBK Also: * ILI_ERR -> ATAPI_ILI * EOM_ERR -> ATAPI_EOM * LFS_ERR -> ATAPI_LFS * CD -> ATAPI_COD * IO -> ATAPI_IO Signed-off-by: Bartlomiej Zolnierkiewicz commit f26b3d75959e9a0e43a2e1e1148c075592746c3d Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:21 2008 +0200 hd: WIN_* -> ATA_CMD_* * Use ATA_CMD_* defines instead of WIN_* ones. * Include directly instead of through . Signed-off-by: Bartlomiej Zolnierkiewicz commit aaaade3f059fa1b57283d4a7c8351a42ec747bf0 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:21 2008 +0200 ide: WIN_* -> ATA_CMD_* * Use ATA_CMD_* defines instead of WIN_* ones. While at it: * EXABYTE_ENABLE_NEXT -> ATA_EXABYTE_ENABLE_NEST * SETFEATURES_{EN,DIS}_WCACHE -> SETFEATURES_WC_{ON,OFF} * SETFEATURES_{EN,DIS}_AAM -> SETFEATURES_AAM_{ON,OFF} * SMART_* -> ATA_SMART_* * Remove stale comment from ide-proc.c. Partially based on earlier work by Chris Wedgwood. Acked-by: Chris Wedgwood Signed-off-by: Bartlomiej Zolnierkiewicz commit a4f19040a3a6cd431efe0a10b9d2e8d5e3904865 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:20 2008 +0200 libata: WIN_* -> ATA_CMD_* Acked-by: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz commit f41891c134ccdd07583ebd8d4af7fed883375672 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:20 2008 +0200 ide-disk: use ata_id_hpa_enabled() idedisk_supports_hpa() -> ata_id_hpa_enabled(). The latter one also checks validity of words 82 & 85. Signed-off-by: Bartlomiej Zolnierkiewicz commit 8a089c6679a9f1c0a00b7e08554e90b507ec527a Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:20 2008 +0200 ide-disk: use ata_id_wcache_enabled() Replace open-coded check by ata_id_wcache_enabled() (which also checks validity of word 85). Signed-off-by: Bartlomiej Zolnierkiewicz commit dd8f46f64ae66659df3358fad73ed7699aa729dd Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:19 2008 +0200 ide: use ata_id_current_chs_valid() Replace open-coded checks by ata_id_current_chs_valid(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 48fb2688aa67baba373531cc4ed2d9e695983c3f Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:19 2008 +0200 ide: remove drive->driveid * Factor out HDIO_[OBSOLETE,GET]_IDENTITY ioctls handling to ide_get_identity_ioctl(). * Use temporary buffer in ide_get_identity_ioctl() instead of accessing drive->id directly. * Add ide_id_to_hd_driveid() inline to convert raw id into struct hd_driveid format (needed on big-endian). * Use ide_id_to_hd_driveid() in ide_get_identity_ioctl(), cleanup ide_fix_driveid() and switch ide to use use raw id. * Remove no longer needed drive->driveid. This leaves us with 3 users of struct hd_driveid in tree: - arch/um/drivers/ubd_kern.c - drivers/block/xsysace.c - drivers/usb/storage/isd200.c While at it: * Use ata_id_u{32,64}() and ata_id_has_{dma,lba,iordy}() macros. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 4dde4492d850a4c9bcaa92e5bd7f4eebe3e2f5ab Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:19 2008 +0200 ide: make drive->id an union (take 2) Make drive->id an unnamed union so id can be accessed either by using 'u16 *id' or 'struct hd_driveid *driveid'. Then convert all existing drive->id users accordingly (using 'u16 *id' when possible). This is an intermediate step to make ide 'struct hd_driveid'-free. While at it: - Add missing KERN_CONTs in it821x.c. - Use ATA_ID_WORDS and ATA_ID_*_LEN defines. - Remove unnecessary checks for drive->id. - s/drive_table/table/ in ide_in_drive_list(). - Cleanup ide_config_drive_speed() a bit. - s/drive1/dev1/ & s/drive0/dev0/ in ide_undecoded_slave(). v2: Fix typo in drivers/ide/ppc/pmac.c. (From Stephen Rothwell) There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 5b90e990928919ae411a68b865e8a6ecac09a603 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:18 2008 +0200 ide: cleanup ide_fix_driveid() Do all __le16_to_cpu() swapping in one loop. Signed-off-by: Bartlomiej Zolnierkiewicz commit df1f8378c2fd898fa08be5d72283d68c77f519e9 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:18 2008 +0200 ide: cleanup ide_disk_init_mult_count() * Remove superfluous checks for drive->mult_req. * No need to zero drive's fields. * Move the common code out of #ifdef scope. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit f8881000d7cc6b8b520e8fcba95177d2cde1ae36 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:18 2008 +0200 ide: remove superfluous check from ide_disk_special() This condition is checked by both ide_disk_init_mult_count() and set_multcount() so no need to do it again in ide_disk_special(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 730616b2026838c4535c1daf9b91b118fd7caecf Author: Mark de Wever Date: Fri Oct 10 22:39:17 2008 +0200 ide-tape: Buildfix when IDETAPE_DEBUG_LOG is set to 1. The format specifier for rq->sector didn't specify the proper size and signedness. Borislav Petkov discovered that the signedness for rq->nr_sectors and rq->current_nr_sectors also were incorrect. Signed-off-by: Mark de Wever Acked-by: Borislav Petkov [bart: remove trailing whitespace] Signed-off-by: Bartlomiej Zolnierkiewicz commit b922df7383749a1c0b7ea64c50fa839263d3816b Merge: c54dcd8... cdbb92b... Author: Linus Torvalds Date: Fri Oct 10 13:10:51 2008 -0700 Merge branch 'rcu-v28-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'rcu-v28-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (21 commits) rcu: RCU-based detection of stalled CPUs for Classic RCU, fix rcu: RCU-based detection of stalled CPUs for Classic RCU rcu: add rcu_read_lock_sched() / rcu_read_unlock_sched() rcu: fix sparse shadowed variable warning doc/RCU: fix pseudocode in rcuref.txt rcuclassic: fix compiler warning rcu: use irq-safe locks rcuclassic: fix compilation NG rcu: fix locking cleanup fallout rcu: remove redundant ACCESS_ONCE definition from rcupreempt.c rcu: fix classic RCU locking cleanup lockdep problem rcu: trace fix possible mem-leak rcu: just rename call_rcu_bh instead of making it a macro rcu: remove list_for_each_rcu() rcu: fixes to include/linux/rcupreempt.h rcu: classic RCU locking and memory-barrier cleanups rcu: prevent console flood when one CPU sees another AWOL via RCU rcu, debug: detect stalled grace periods, cleanups rcu, debug: detect stalled grace periods rcu classic: new algorithm for callbacks-processing(v2) ... commit c54dcd8ec9f05c8951d1e622e90904aef95379f9 Merge: b11ce8a... 9ac684f... Author: Linus Torvalds Date: Fri Oct 10 12:44:43 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: selinux: Fix an uninitialized variable BUG/panic in selinux_secattr_to_sid() selinux: use default proc sid on symlinks file capabilities: uninline cap_safe_nice Update selinux info in MAINTAINERS and Kconfig help text SELinux: add gitignore file for mdp script SELinux: add boundary support and thread context assignment securityfs: do not depend on CONFIG_SECURITY selinux: add support for installing a dummy policy (v2) security: add/fix security kernel-doc selinux: Unify for- and while-loop style selinux: conditional expression type validation was off-by-one smack: limit privilege by label SELinux: Fix a potentially uninitialised variable in SELinux hooks SELinux: trivial, remove unneeded local variable SELinux: Trivial minor fixes that change C null character style make selinux_write_opts() static commit b11ce8a26d26ed9019a8803aa90d580b52f23e79 Merge: f6bccf6... a5d8c34... Author: Linus Torvalds Date: Fri Oct 10 12:42:31 2008 -0700 Merge branch 'sched-v28-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-v28-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (38 commits) sched debug: add name to sched_domain sysctl entries sched: sync wakeups vs avg_overlap sched: remove redundant code in cpu_cgroup_create() sched_rt.c: resch needed in rt_rq_enqueue() for the root rt_rq cpusets: scan_for_empty_cpusets(), cpuset doesn't seem to be so const sched: minor optimizations in wake_affine and select_task_rq_fair sched: maintain only task entities in cfs_rq->tasks list sched: fixup buddy selection sched: more sanity checks on the bandwidth settings sched: add some comments to the bandwidth code sched: fixlet for group load balance sched: rework wakeup preemption CFS scheduler: documentation about scheduling policies sched: clarify ifdef tangle sched: fix list traversal to use _rcu variant sched: turn off WAKEUP_OVERLAP sched: wakeup preempt when small overlap kernel/cpu.c: create a CPU_STARTING cpu_chain notifier kernel/cpu.c: Move the CPU_DYING notifiers sched: fix __load_balance_iterator() for cfq with only one task ... commit 89d49841e9e7a90b04b036b7dbe7521b55edbe24 Author: Christian Borntraeger Date: Fri Oct 10 21:33:30 2008 +0200 [S390] Fix checkstack for s390 With -march=z990 and later gcc can use the long displacement facility insruction lay for stack register handling. This patch adopts checkstack to catch lay in addition to ahi and aghi. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit 4a672cfa3a7fcbc6f2adc558f34148be1096c561 Author: Martin Schwidefsky Date: Fri Oct 10 21:33:29 2008 +0200 [S390] fix initialization of stp chsc_sstpc returns -EIO on error and 0 on success but stp_reset checks against 1 instead of 0. chsc_sstpc used to return 1 on success, one call location has not been updated .. Signed-off-by: Martin Schwidefsky commit 408aec3c6c3cb5b4774f96ea7a35cd15ee91a56f Author: Heiko Carstens Date: Fri Oct 10 21:33:28 2008 +0200 [S390] 3215: Remove tasklet. The 3215 console irq handler used to schedule a tasklet. However the console irq handler also gets called from the infamous cio_tpi() function. Which in turn does something like local_bh_disable() [call console irq handler] _local_bh_enable() _local_bh_enable() prevents execution of softirqs, which is intended within cio_tpi(). However there might be a new softirq pending because irq handler scheduled a tasklet. In order to prevent this behaviour we just get rid of the tasklet. It's not doing much anyway. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 2332ce1a97963b7769e0c2d40492a10a124efba5 Author: Holger Smolinski Date: Fri Oct 10 21:33:27 2008 +0200 [S390] console flush on panic / reboot The s390 console drivers use the unblank callback of the console structure to flush the console buffer. In case of a panic or a reboot the CPU doing the callback can block on the console i/o. The other CPUs in the system continue to work. For panic this is not a good idea. Replace the unblank callback with proper panic/reboot notifier. These get called after all but one CPU have been stopped. Signed-off-by: Holger Smolinski Signed-off-by: Martin Schwidefsky commit 15e86b0c752d50e910b2cca6e83ce74c4440d06c Author: Florian Funke Date: Fri Oct 10 21:33:26 2008 +0200 [S390] introduce dirty bit for kvm live migration This patch defines a dirty bit in the PGSTE that can be used to implement dirty pages logging for KVM's live migration. The bit is set in the ptep_rcp_copy function, which is called to save dirty and referenced information from the storage key in the PGSTE. The bit can be tested and reset by KVM using the kvm_s390_test_and_clear_page_dirty function that is introduced by this patch. Acked-by: Carsten Otte Signed-off-by: Florian Funke Signed-off-by: Martin Schwidefsky commit ab1d848fd6a9151b02c6cbf4bddce6e24707b094 Author: Nigel Hislop Date: Fri Oct 10 21:33:25 2008 +0200 [S390] Add ioctl support for EMC Symmetrix Subsystem Control I/O EMC Symmetrix Subsystem Control I/O through CKD dasd requires a specific parameter list sent to the array via a Perform Subsystem Function CCW. The Symmetrix response is retrieved from the array via a Read Subsystem Data CCW. Signed-off-by: Nigel Hislop Signed-off-by: Hannes Reinecke Signed-off-by: Martin Schwidefsky commit 3ce66093f5ec5a6ae0ca90c79d81eee15e842293 Author: Martin Schwidefsky Date: Fri Oct 10 21:33:24 2008 +0200 [S390] xpram: per device block request queues. The xpram driver uses a single block device queue for all of its devices so far. With recent kernels removing xpram module fails to clean up all sysfs files. The next time the xpram module is loaded you'll get warnings: WARNING: at fs/sysfs/dir.c:463 sysfs_add_one+0x5e/0x64() sysfs: duplicate filename '35:0' can not be created Modules linked in: xpram(+) [last unloaded: xpram] Followed by the usual WARN_ON output, followed by an error message from kobject_add_internal, followed by a badness in genhd. Allocating a block queue per device fixes this. Signed-off-by: Martin Schwidefsky commit ada3df9171e48b2a5f1e9c828337b61746e19ff0 Author: Stefan Haberland Date: Fri Oct 10 21:33:23 2008 +0200 [S390] dasd: fix message flood for unsolicited interrupts In the unsolicited interupt handler fake IRBs from CIO have to be ignored because there is nothing to do. The function dump_sense should not be called if there is no sense data available. Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit 5a0d0e65379256b4da2c9092e197a2c761f51c01 Author: Heiko Carstens Date: Fri Oct 10 21:33:22 2008 +0200 [S390] Move private simple udelay function to arch/s390/lib/delay.c. Move cio's private simple udelay function to lib/delay.c and turn it into something much more readable. So we have all implementations at one place. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit b2300b9efe1b8174833e17f37e975c9da00c388a Author: Hongjie Yang Date: Fri Oct 10 21:33:21 2008 +0200 [S390] dcssblk: add >2G DCSSs support and stacked contiguous DCSSs support. The DCSS block device driver is modified to add >2G DCSSs support and allow a DCSS block device to map to a set of contiguous DCSSs. The extmem code is also modified to use new Diagnose x'64' subcodes for >2G DCSSs. Signed-off-by: Hongjie Yang Signed-off-by: Martin Schwidefsky commit 753c4dd6a2fa2af81f5d809d610d29f2d9dd9bc1 Author: Martin Schwidefsky Date: Fri Oct 10 21:33:20 2008 +0200 [S390] ptrace changes * System call parameter and result access functions * Add tracehook calls * Split syscall_trace into two functions do_syscall_trace_enter and do_syscall_trace_exit Signed-off-by: Martin Schwidefsky commit d86730bb9597b02bff59a3a5a01c0094d71a265f Author: Christoph Hellwig Date: Fri Oct 10 21:33:19 2008 +0200 [S390] s390: use sys_pause for 31bit pause entry point sys32_pause is a useless copy of the generic sys_pause. (and it's certainly not there for old sparc32 binaries..) Signed-off-by: Christoph Hellwig Signed-off-by: Martin Schwidefsky commit 7a0f475513fa573bc8e072021960313da32f0ee3 Author: Klaus-Dieter Wacker Date: Fri Oct 10 21:33:18 2008 +0200 [S390] qdio enhanced SIGA (iqdio) support. Add support for z10 HiperSockets multiwrite SBALs on output queues. This is used on LPAR with EDDP enabled devices. Signed-off-by: Klaus-Dieter Wacker Signed-off-by: Martin Schwidefsky commit b1e766137fe2462fd110e2930f74ef5636adb436 Author: Heiko Carstens Date: Fri Oct 10 21:33:17 2008 +0200 [S390] cio: fix cio_tpi. In cio_tpi only disable bottom halves when not in interrupt context. Otherwise a WARN_ON gets triggered. Besides that, when we are in interrupt context bottom halves are disabled anyway. Fixes this one: Badness at kernel/softirq.c:77 Modules linked in: CPU: 2 Not tainted 2.6.26 #4 Process swapper (pid: 0, task: 000000003fe83db0, ksp: 000000003fea7d28) Krnl PSW : 0404c00180000000 0000000000053f4e (__local_bh_disable+0xbe/0xcc) R:0 T:1 IO:0 EX:0 Key:0 M:1 W:0 P:0 AS:3 CC:0 PM:0 EA:3 Krnl GPRS: 0000000000008ee0 00000000005f95e0 0000000000000000 0000000000000001 000000000020be92 0000000000000000 0000000000000210 00000000005d36c0 000000003fb5f4d8 0000000000000000 000000000020bed0 000000003fb5f3c8 00000000009be920 0000000000364898 000000003fb5f408 000000003fb5f3c8 Krnl Code: 0000000000053f42: bf2f1000 icm %r2,15,0(%r1) 0000000000053f46: a774ffc5 brc 7,53ed0 0000000000053f4a: a7f40001 brc 15,53f4c >0000000000053f4e: a7280001 lhi %r2,1 0000000000053f52: 50201000 st %r2,0(%r1) 0000000000053f56: a7f4ffbd brc 15,53ed0 0000000000053f5a: 0707 bcr 0,%r7 0000000000053f5c: a7f13fc0 tmll %r15,16320 Call Trace: ([<0000000000000210>] 0x210) [<0000000000053f86>] local_bh_disable+0x2a/0x38 [<000000000020bed0>] wait_cons_dev+0xd4/0x154 [<0000000000247cb2>] raw3215_make_room+0x6a/0x1a8 [<000000000024861a>] raw3215_write+0x86/0x28c [<00000000002488a0>] con3215_write+0x80/0x110 [<000000000004c3e0>] __call_console_drivers+0xc8/0xe4 [<000000000004c47e>] _call_console_drivers+0x82/0xc4 [<000000000004c744>] release_console_sem+0x218/0x2c0 [<000000000004cf64>] vprintk+0x3c0/0x504 [<0000000000354a4a>] printk+0x52/0x64 [<0000000000088004>] __print_symbol+0x40/0x50 [<0000000000071dbc>] print_stack_trace+0x78/0xac [<0000000000079e78>] print_lock_dependencies+0x148/0x208 [<000000000007a050>] print_irq_inversion_bug+0x118/0x15c [<000000000007a106>] check_usage_forwards+0x72/0x84 [<000000000007a36e>] mark_lock+0x1d2/0x594 [<000000000007baca>] __lock_acquire+0x886/0xf48 [<000000000007c234>] lock_acquire+0xa8/0xe0 [<0000000000350316>] _write_lock+0x56/0x98 [<000000000026cd92>] zfcp_erp_adapter_reopen+0x4e/0x8c [<000000000026f1e8>] zfcp_qdio_int_resp+0x2e4/0x2f4 [<00000000002210f4>] qdio_int_handler+0x274/0x888 [<00000000002177b6>] ccw_device_call_handler+0x6e/0xd8 [<0000000000215336>] ccw_device_irq+0xd6/0x160 [<0000000000212f88>] io_subchannel_irq+0x8c/0x118 [<000000000020c120>] do_IRQ+0x1d0/0x1fc [<00000000000270b2>] io_return+0x0/0x8 [<000000000001c8a4>] cpu_idle+0x178/0x21c ([<000000000001c884>] cpu_idle+0x158/0x21c) [<00000000003483a2>] start_secondary+0xb6/0xc8 INFO: lockdep is turned off. Last Breaking-Event-Address: [<0000000000053f4a>] __local_bh_disable+0xba/0xcc Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit b2bbb642ac2829006a81ae164e2f06ebc22f81dd Author: Julia Lawall Date: Fri Oct 10 21:33:16 2008 +0200 [S390] cio: Correct use of ! and & In commit e6bafba5b4765a5a252f1b8d31cbf6d2459da337, a bug was fixed that involved converting !x & y to !(x & y). The code below shows the same pattern, and thus should perhaps be fixed in the same way. In particular, the result of !scsw_stctl(&request->irb.scsw) & SCSW_STCTL_STATUS_PEND is always just !scsw_stctl(&request->irb.scsw). The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression E; constant C; @@ ( !E & !C | - !E & C + !(E & C) ) // Signed-off-by: Julia Lawall Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit f9c9fe3ecfc0c5ff17728d0c5ee95a4e269ec190 Author: Peter Oberparleiter Date: Fri Oct 10 21:33:15 2008 +0200 [S390] cio: inline assembly cleanup Fix incorrect in- and output constraints, remove volatile declaration of inline assembly parameters and reformat constraint declarations to be more consistent. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 1f4e7edabc4071cdff0133e7e04db2d7287d0e36 Author: Cornelia Huck Date: Fri Oct 10 21:33:14 2008 +0200 [S390] bus_id -> dev_set_name() for css and ccw busses Convert remaining s390 users setting bus_id to dev_set_name() or init_name. Signed-off-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman Signed-off-by: Martin Schwidefsky commit 9286b7ed682615c1508210f85d26e4c9a5cbf126 Author: Martin Schwidefsky Date: Fri Oct 10 21:33:13 2008 +0200 [S390] bus_id ->dev_name() conversions in qdio Use dev_name() in the new qdio driver. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 37f1c012f0f23b52df3a0d7850212b336fc9e595 Author: Cornelia Huck Date: Fri Oct 10 21:33:12 2008 +0200 [S390] Use s390_root_dev_* in kvm_virtio. No need to define a static device for the kvm_s390 root device, just use s390_root_dev_register(). This is needed for the bus_id rework Acked-by: Carsten Otte Cc: Kay Sievers Signed-off-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman Signed-off-by: Martin Schwidefsky commit b9d3aed7e1e50183085fcd2af643bf42d6b4bd95 Author: Cornelia Huck Date: Fri Oct 10 21:33:11 2008 +0200 [S390] more bus_id -> dev_name conversions Some further bus_id -> dev_name() conversions in s390 code. Cc: Kay Sievers Signed-off-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman Signed-off-by: Martin Schwidefsky commit 1bf5b2853925cf92bfc5f0eddb68a8ed18782845 Author: Cornelia Huck Date: Fri Oct 10 21:33:10 2008 +0200 [S390] bus_id -> dev_set_name() changes Convert most s390 users setting bus_id to dev_set_name(). css and ccw busses are deferred since they need some special treatment. Signed-off-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman Signed-off-by: Martin Schwidefsky commit 2a0217d5c7d22d6dd28f8ae5d20b06d24dc426b8 Author: Kay Sievers Date: Fri Oct 10 21:33:09 2008 +0200 [S390] bus_id -> dev_name conversions bus_id -> dev_name() conversions in s390 code. [cornelia.huck@de.ibm.com: minor adaptions] Signed-off-by: Kay Sievers Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman Signed-off-by: Martin Schwidefsky commit e4a1afaeb1d9ebc09f46d8b229ac96116974b1b8 Author: Cornelia Huck Date: Fri Oct 10 21:33:08 2008 +0200 [S390] cio: Exorcise cio_msg= from documentation. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit d45387d8bce2674fd21369a394933a02b8125878 Author: Cornelia Huck Date: Fri Oct 10 21:33:07 2008 +0200 [S390] cio: Update cio_ignore documentation. Add documentation for the new "purge" cio_ignore parameter. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit ecf5d9ef68b868b293b40b89615a92de7310d065 Author: Peter Oberparleiter Date: Fri Oct 10 21:33:06 2008 +0200 [S390] cio: introduce purge function for /proc/cio_ignore Allow users to remove blacklisted ccw devices by using the /proc/cio_ignore interface: echo purge > /proc/cio_ignore will remove all devices which are offline and blacklisted. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 46fbe4e46ddb88805245a24f684400b50ead68a7 Author: Peter Oberparleiter Date: Fri Oct 10 21:33:05 2008 +0200 [S390] cio: move device unregistration to dedicated work queue Use dedicated slow path work queue when unregistering a device due to a user action. This ensures serialialization of other register/ unregister requests. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 4bcb3a37180ee4dffaef8298f373b334a7bedabb Author: Ursula Braun Date: Fri Oct 10 21:33:04 2008 +0200 [S390] qdio: speed up multicast traffic on full HiperSocket queue If an asynchronous HiperSockets queue runs full, no further packet can be sent. In this case the next initiative to give transmitted skbs back to the stack is triggered only by a 10-seconds qdio timer. This timer has been introduced for low multicast traffic scenarios to guarantee freeing of skbs in a limited amount of time. For high HiperSocket multicast traffic scenarios progress checking on the outbound queue should be enforced by tasklet rescheduling. Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky commit d2a3b222cf976bc44bb9aed13f7b17feea28f633 Author: Luis R. Rodriguez Date: Fri Oct 10 12:26:24 2008 -0700 ath9k: Fix return code when ath9k_hw_setpower() fails on reset We were not reporting a status code back ath9k_hw_setpower() failed during reset so lets correct this. Reported-by: Jiri Slaby Signed-off-by: Luis R. Rodriguez Signed-off-by: David S. Miller commit 1cf69cfbe117d645640a9230d6deb07c9db46c5f Author: Luis R. Rodriguez Date: Fri Oct 10 12:25:45 2008 -0700 ath9k: remove nasty FAIL macro from ath9k_hw_reset() This is fucking horribe crap code so nuke it. There I cursed too in a commit log. Signed-off-by: Luis R. Rodriguez Signed-off-by: David S. Miller commit c055551e97e1ca00781bc41523f829e05a8afed7 Author: Tom Talpey Date: Fri Oct 10 11:32:45 2008 -0400 RPC/RDMA: ensure connection attempt is complete before signalling. The RPC/RDMA connection logic could return early from reconnection attempts, leading to additional spurious retries. Signed-off-by: Tom Talpey Signed-off-by: Trond Myklebust commit 08ca0dce1eafa419059ac4cad9ed522af7052526 Author: Tom Talpey Date: Fri Oct 10 11:32:34 2008 -0400 RPC/RDMA: correct the reconnect timer backoff The RPC/RDMA code had a constant 5-second reconnect backoff, and always performed it, even when re-establishing a connection to a server after the RPC layer closed it due to being idle. Make it an geometric backoff (up to 30 seconds), and don't delay idle reconnect. Signed-off-by: Tom Talpey Signed-off-by: Trond Myklebust commit b3cd8d45a764e6edb06e7bd386faf99a879569b8 Author: Tom Talpey Date: Thu Oct 9 15:02:02 2008 -0400 RPC/RDMA: optionally emit useful transport info upon connect/disconnect. Signed-off-by: Tom Talpey Signed-off-by: Trond Myklebust commit 5f37d561e0f0cd98017c389cbc22080290f11c3c Author: Tom Talpey Date: Thu Oct 9 15:01:52 2008 -0400 RPC/RDMA: reformat a debug printk to keep lines together. The send marshaling code split a particular dprintk across two lines, which makes it hard to extract from logfiles. Signed-off-by: Tom Talpey Signed-off-by: Trond Myklebust commit 5675add36e76b9487e7f9e689f854cb8d6afd9b4 Author: Tom Talpey Date: Thu Oct 9 15:01:41 2008 -0400 RPC/RDMA: harden connection logic against missing/late rdma_cm upcalls. Add defensive timeouts to wait_for_completion() calls in RDMA address resolution, and make them interruptible. Fix the timeout units to milliseconds (formerly jiffies) and move to private header. Signed-off-by: Tom Talpey Signed-off-by: Trond Myklebust commit 4dd95b63ae25c5cad6986829b5e8788e9faa0330 Author: Robert Reif Date: Fri Oct 10 12:13:22 2008 -0700 leo: disable cursor when leaving graphics mode On sparc32 debian etch, the cursor is not disabled when leaving X windows. This patch disables the cursor when leaving graphics mode just like the ffb driver. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit 1a954051b0cf79bd67e5f9db40333e3a9b1d05d2 Author: Tom Talpey Date: Thu Oct 9 15:01:31 2008 -0400 RPC/RDMA: fix connect/reconnect resource leak. The RPC/RDMA code can leak RDMA connection manager endpoints in certain error cases on connect. Don't signal unwanted events, and be certain to destroy any allocated qp. Signed-off-by: Tom Talpey Signed-off-by: Trond Myklebust commit 926449ba66ce2a45c619bbe755b00d6bdbf0d83e Author: Tom Talpey Date: Thu Oct 9 15:01:21 2008 -0400 RPC/RDMA: return a consistent error, when connect fails. The xprt_connect call path does not expect such errors as ECONNREFUSED to be returned from failed transport connection attempts, otherwise it translates them to EIO and signals fatal errors. For example, mount.nfs prints simply "internal error". Translate all such errors to ENOTCONN from RPC/RDMA to match sockets behavior. Signed-off-by: Tom Talpey Signed-off-by: Trond Myklebust commit 291d5f30399c258344c71069552b82b694bb2b34 Author: Robert Reif Date: Fri Oct 10 12:12:41 2008 -0700 cg6: disable cursor when leaving graphics mode On sparc32 debian etch, the cursor is not disabled when leaving X windows. This patch disables the cursor when leaving graphics mode just like the ffb driver. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit 9191ca3b381b15b9a88785a8ae2fa4db8e553b0c Author: Tom Talpey Date: Thu Oct 9 15:01:11 2008 -0400 RPC/RDMA: adhere to protocol for unpadded client trailing write chunks. The RPC/RDMA protocol allows clients and servers to avoid RDMA operations for data which is purely the result of XDR padding. On the client, automatically insert the necessary padding for such server replies, and optionally don't marshal such chunks. Signed-off-by: Tom Talpey Signed-off-by: Trond Myklebust commit fee08caf943e8ed3446ce42fa085b5e7e5f08d92 Author: Tom Talpey Date: Thu Oct 9 15:01:00 2008 -0400 RPC/RDMA: avoid an oops due to disconnect racing with async upcalls. RDMA disconnects yield an upcall from the RDMA connection manager, which can race with rpc transport close, e.g. on ^C of a mount. Ensure any rdma cm_id and qp are fully destroyed before continuing. Signed-off-by: Tom Talpey Signed-off-by: Trond Myklebust commit 4d74f8ba1fb152ae07eb858abb713e094e77b7d5 Author: Patrick McHardy Date: Fri Oct 10 12:11:06 2008 -0700 gre: minor cleanups in netlink interface - use typeful helpers for IFLA_GRE_LOCAL/IFLA_GRE_REMOTE - replace magic value by FIELD_SIZEOF - use MODULE_ALIAS_RTNL_LINK macro Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ad0e9e01da4ece70ff524b49c77c5e850d5dd53e Author: Tom Talpey Date: Thu Oct 9 15:00:50 2008 -0400 RPC/RDMA: maintain the RPC task bytes-sent statistic. Signed-off-by: Tom Talpey Signed-off-by: Trond Myklebust commit 575448bd36208f99fe0dd554a43518d798966740 Author: Tom Talpey Date: Thu Oct 9 15:00:40 2008 -0400 RPC/RDMA: suppress retransmit on RPC/RDMA clients. An RPC/RDMA client cannot retransmit on an unbroken connection, doing so violates its flow control with the server. Signed-off-by: Tom Talpey Signed-off-by: Trond Myklebust commit ba9e64b1c23f1dd22fea14c310f739d84ac8b748 Author: Patrick McHardy Date: Fri Oct 10 12:10:30 2008 -0700 gre: fix copy and paste error The flags are dumped twice, the keys not at all. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b334eaabf4f92226d2df13c613888a507f03da99 Author: Tom Tucker Date: Thu Oct 9 15:00:30 2008 -0400 RPC/RDMA: fix connection IRD/ORD setting This logic sets the connection parameter that configures the local device and informs the remote peer how many concurrent incoming RDMA_READ requests are supported. The original logic didn't really do what was intended for two reasons: - The max number supported by the device is typically smaller than any one factor in the calculation used, and - The field in the connection parameter structure where the value is stored is a u8 and always overflows for the default settings. So what really happens is the value requested for responder resources is the left over 8 bits from the "desired value". If the desired value happened to be a multiple of 256, the result was zero and it wouldn't connect at all. Given the above and the fact that max_requests is almost always larger than the max responder resources supported by the adapter, this patch simplifies this logic and simply requests the max supported by the device, subject to a reasonable limit. This bug was found by Jim Schutt at Sandia. Signed-off-by: Tom Tucker Acked-by: Tom Talpey Signed-off-by: Trond Myklebust commit 3197d309f5fb042499b2c4c8f2fcb67372df5201 Author: Tom Talpey Date: Thu Oct 9 15:00:20 2008 -0400 RPC/RDMA: support FRMR client memory registration. Configure, detect and use "fastreg" support from IB/iWARP verbs layer to perform RPC/RDMA memory registration. Make FRMR the default memreg mode (will fall back if not supported by the selected RDMA adapter). This allows full and optimal operation over the cxgb3 adapter, and others. Signed-off-by: Tom Talpey Acked-by: Tom Tucker Signed-off-by: Trond Myklebust commit bd7ed1d13304d914648dacec4dbb9145aaae614e Author: Tom Talpey Date: Thu Oct 9 15:00:09 2008 -0400 RPC/RDMA: check selected memory registration mode at runtime. At transport creation, check for, and use, any local dma lkey. Then, check that the selected memory registration mode is in fact supported by the RDMA adapter selected for the mount. Fall back to best alternative if not. Signed-off-by: Tom Talpey Acked-by: Tom Tucker Signed-off-by: Trond Myklebust commit fe9053b30bb48b99f7b45541249f5cfe96bdf7f7 Author: Tom Talpey Date: Thu Oct 9 14:59:59 2008 -0400 RPC/RDMA: add data types and new FRMR memory registration enum. Internal RPC/RDMA structure updates in preparation for FRMR support. Signed-off-by: Tom Talpey Acked-by: Tom Tucker Signed-off-by: Trond Myklebust commit 8d4ba0347ccfea4f12e56e2484954b891411b74d Author: Tom Talpey Date: Thu Oct 9 14:59:49 2008 -0400 RPC/RDMA: refactor the inline memory registration code. Refactor the memory registration and deregistration routines. This saves stack space, makes the code more readable and prepares to add the new FRMR registration methods. Signed-off-by: Tom Talpey Signed-off-by: Trond Myklebust commit 5e2e7721f04c11e6dc4a74b33f05a0e1c0381e2e Author: Chuck Lever Date: Wed Oct 8 15:38:10 2008 -0400 NFS: fix nfs_parse_ip_address() corner case Bruce observed that nfs_parse_ip_address() will successfully parse an IPv6 address that looks like this: "::1%" A scope delimiter is present, but there is no scope ID following it. This is harmless, as it would simply set the scope ID to zero. However, in some cases we would like to flag this as an improperly formed address. We are now also careful to reject addresses where garbage follows the address (up to the length of the string), instead of ignoring the non-address characters; and where the scope ID is nonsense (not a valid device name, but also not numeric). Before, both of these cases would result in a harmless zero scope ID. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 456018d791ff4ef03d610f72486c637056bcd749 Author: J. Bruce Fields Date: Wed Oct 8 15:31:14 2008 -0400 NFS: Cleanup nfs_set_port Signed-off-by: "J. Bruce Fields" Signed-off-by: Trond Myklebust commit f6bccf695431da0e9bd773550ae91b8cb9ffb227 Merge: 3af73d3... a0f000e... Author: Linus Torvalds Date: Fri Oct 10 11:20:42 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: skcipher - Use RNG interface instead of get_random_bytes crypto: rng - RNG interface and implementation crypto: api - Add fips_enable flag crypto: skcipher - Move IV generators into their own modules crypto: cryptomgr - Test ciphers using ECB crypto: api - Use test infrastructure crypto: cryptomgr - Add test infrastructure crypto: tcrypt - Add alg_test interface crypto: tcrypt - Abort and only log if there is an error crypto: crc32c - Use Intel CRC32 instruction crypto: tcrypt - Avoid using contiguous pages crypto: api - Display larval objects properly crypto: api - Export crypto_alg_lookup instead of __crypto_alg_lookup crypto: Kconfig - Replace leading spaces with tabs commit 3af73d392c9c414ca527bab9c5d4c2a97698acbd Merge: 13dd7f8... eedd5d0... Author: Linus Torvalds Date: Fri Oct 10 11:16:33 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (29 commits) RDMA/nes: Fix slab corruption IB/mlx4: Set RLKEY bit for kernel QPs RDMA/nes: Correct error_module bit mask RDMA/nes: Fix routed RDMA connections RDMA/nes: Enhanced PFT management scheme RDMA/nes: Handle AE bounds violation RDMA/nes: Limit critical error interrupts RDMA/nes: Stop spurious MAC interrupts RDMA/nes: Correct tso_wqe_length RDMA/nes: Fill in firmware version for ethtool RDMA/nes: Use ethtool timer value RDMA/nes: Correct MAX TSO frags value RDMA/nes: Enable MC/UC after changing MTU RDMA/nes: Free NIC TX buffers when destroying NIC QP RDMA/nes: Fix MDC setting RDMA/nes: Add wqm_quanta module option RDMA/nes: Module parameter permissions RDMA/cxgb3: Set active_mtu in ib_port_attr RDMA/nes: Add support for 4-port 1G HP blade card RDMA/nes: Make mini_cm_connect() static ... commit 13dd7f876dffb44088c5435c3df1986e33cff960 Merge: b0af205... 27eccf4... Author: Linus Torvalds Date: Fri Oct 10 11:13:55 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm: dlm: choose better identifiers dlm: remove bkl dlm: fix address compare dlm: fix locking of lockspace list in dlm_scand dlm: detect available userspace daemon dlm: allow multiple lockspace creates commit b0af205afb111e17ac8db64c3b9c4f2c332de92a Merge: 73f6aa4... 0c2322e... Author: Linus Torvalds Date: Fri Oct 10 11:11:47 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm * git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm: dm: detect lost queue dm: publish dm_vcalloc dm: publish dm_table_unplug_all dm: publish dm_get_mapinfo dm: export struct dm_dev dm crypt: avoid unnecessary wait when splitting bio dm crypt: tidy ctx pending dm crypt: fix async inc_pending dm crypt: move dec_pending on error into write_io_submit dm crypt: remove inc_pending from write_io_submit dm crypt: tidy write loop pending dm crypt: tidy crypt alloc dm crypt: tidy inc pending dm exception store: use chunk_t for_areas dm exception store: introduce area_location function dm raid1: kcopyd should stop on error if errors handled dm mpath: remove is_active from struct dm_path dm mpath: use more error codes Fixed up trivial conflict in drivers/md/dm-mpath.c manually. commit 73f6aa4d44ab6157badc456ddfa05b31e58de5f0 Author: Christoph Hellwig Date: Fri Oct 10 17:28:29 2008 +1100 Fix barrier fail detection in XFS Currently we disable barriers as soon as we get a buffer in xlog_iodone that has the XBF_ORDERED flag cleared. But this can be the case not only for buffers where the barrier failed, but also the first buffer of a split log write in case of a log wraparound. Due to the disabled barriers we can easily get directory corruption on unclean shutdowns. So instead of using this check add a new buffer flag for failed barrier writes. This is a regression vs 2.6.26 caused by patch to use the right macro to check for the ORDERED flag, as we previously got true returned for every buffer. Thanks to Toei Rei for reporting the bug. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Reviewed-by: David Chinner Signed-off-by: Tim Shimmin Signed-off-by: Linus Torvalds commit 445e1ceda377a681c6f53595311b0d654ca21003 Merge: ef5bef3... 254db57... Author: Linus Torvalds Date: Fri Oct 10 11:02:22 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: GFS2: Support for I/O barriers GFS2: Add UUID to GFS2 sb GFS2: high time to take some time over atime GFS2: The war on bloat GFS2: GFS2 will panic if you misspell any mount options GFS2: Direct IO write at end of file error GFS2: Use an IS_ERR test rather than a NULL test GFS2: Fix race relating to glock min-hold time GFS2: Fix & clean up GFS2 rename GFS2: rm on multiple nodes causes panic GFS2: Fix metafs mounts GFS2: Fix debugfs glock file iterator commit ef5bef357cdf49f3a386c7102dbf3be5f7e5c913 Merge: e26feff... 41bfcf9... Author: Linus Torvalds Date: Fri Oct 10 10:53:26 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (37 commits) [SCSI] zfcp: fix double dbf id usage [SCSI] zfcp: wait on SCSI work to be finished before proceeding with init dev [SCSI] zfcp: fix erp list usage without using locks [SCSI] zfcp: prevent fc_remote_port_delete calls for unregistered rport [SCSI] zfcp: fix deadlock caused by shared work queue tasks [SCSI] zfcp: put threshold data in hba trace [SCSI] zfcp: Simplify zfcp data structures [SCSI] zfcp: Simplify get_adapter_by_busid [SCSI] zfcp: remove all typedefs and replace them with standards [SCSI] zfcp: attach and release SAN nameserver port on demand [SCSI] zfcp: remove unused references, declarations and flags [SCSI] zfcp: Update message with input from review [SCSI] zfcp: add queue_full sysfs attribute [SCSI] scsi_dh: suppress comparison warning [SCSI] scsi_dh: add Dell product information into rdac device handler [SCSI] qla2xxx: remove the unused SCSI_QLOGIC_FC_FIRMWARE option [SCSI] qla2xxx: fix printk format warnings [SCSI] qla2xxx: Update version number to 8.02.01-k8. [SCSI] qla2xxx: Ignore payload reserved-bits during RSCN processing. [SCSI] qla2xxx: Additional residual-count corrections during UNDERRUN handling. ... commit e26feff647ef34423b048b940540a0059001ddb0 Merge: d403a64... b911e47... Author: Linus Torvalds Date: Fri Oct 10 10:52:45 2008 -0700 Merge branch 'for-2.6.28' of git://git.kernel.dk/linux-2.6-block * 'for-2.6.28' of git://git.kernel.dk/linux-2.6-block: (132 commits) doc/cdrom: Trvial documentation error, file not present block_dev: fix kernel-doc in new functions block: add some comments around the bio read-write flags block: mark bio_split_pool static block: Find bio sector offset given idx and offset block: gendisk integrity wrapper block: Switch blk_integrity_compare from bdev to gendisk block: Fix double put in blk_integrity_unregister block: Introduce integrity data ownership flag block: revert part of d7533ad0e132f92e75c1b2eb7c26387b25a583c1 bio.h: Remove unused conditional code block: remove end_{queued|dequeued}_request() block: change elevator to use __blk_end_request() gdrom: change to use __blk_end_request() memstick: change to use __blk_end_request() virtio_blk: change to use __blk_end_request() blktrace: use BLKTRACE_BDEV_SIZE as the name size for setup structure block: add lld busy state exporting interface block: Fix blk_start_queueing() to not kick a stopped queue include blktrace_api.h in headers_install ... commit 725c25819e4a0dafdcf42a5f31bc569341919c7c Merge: 3dd392a... 72d3105... 129d6ab... 1e19b16... Author: Ingo Molnar Date: Fri Oct 10 19:47:12 2008 +0200 Merge branches 'core/iommu', 'x86/amd-iommu' and 'x86/iommu' into x86-v28-for-linus-phase3-B Conflicts: arch/x86/kernel/pci-gart_64.c include/asm-x86/dma-mapping.h commit 3dd392a407d15250a501fa109cc1f93fee95ef85 Merge: b27a43c... d403a64... Author: Ingo Molnar Date: Fri Oct 10 19:30:08 2008 +0200 Merge branch 'linus' into x86/pat2 Conflicts: arch/x86/mm/init_64.c commit b27a43c1e90582facad44de67d02bc9e9f900289 Author: Suresh Siddha Date: Tue Oct 7 13:58:46 2008 -0700 x86, cpa: make the kernel physical mapping initialization a two pass sequence, fix Jeremy Fitzhardinge wrote: > I'd noticed that current tip/master hasn't been booting under Xen, and I > just got around to bisecting it down to this change. > > commit 065ae73c5462d42e9761afb76f2b52965ff45bd6 > Author: Suresh Siddha > > x86, cpa: make the kernel physical mapping initialization a two pass sequence > > This patch is causing Xen to fail various pagetable updates because it > ends up remapping pagetables to RW, which Xen explicitly prohibits (as > that would allow guests to make arbitrary changes to pagetables, rather > than have them mediated by the hypervisor). Instead of making init a two pass sequence, to satisfy the Intel's TLB Application note (developer.intel.com/design/processor/applnots/317080.pdf Section 6 page 26), we preserve the original page permissions when fragmenting the large mappings and don't touch the existing memory mapping (which satisfies Xen's requirements). Only open issue is: on a native linux kernel, we will go back to mapping the first 0-1GB kernel identity mapping as executable (because of the static mapping setup in head_64.S). We can fix this in a different patch if needed. Signed-off-by: Suresh Siddha Acked-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit ad2cde16a21985cdc4302e4a4b0fc373d666fdf7 Author: Ingo Molnar Date: Tue Sep 30 13:20:45 2008 +0200 x86, pat: cleanups clean up recently added code to be more consistent with other x86 code. Signed-off-by: Ingo Molnar commit 28dd033f43ca957cd751e02652b36c6fa364ca18 Author: Suresh Siddha Date: Mon Sep 29 12:13:26 2008 -0700 x86: fix pagetable init 64-bit breakage Fix _end alignment check - can trigger a crash if _end happens to be on a page boundary. Signed-off-by: Ingo Molnar commit 9542ada803198e6eba29d3289abb39ea82047b92 Author: Suresh Siddha Date: Wed Sep 24 08:53:33 2008 -0700 x86: track memtype for RAM in page struct Track the memtype for RAM pages in page struct instead of using the memtype list. This avoids the explosion in the number of entries in memtype list (of the order of 20,000 with AGP) and makes the PAT tracking simpler. We are using PG_arch_1 bit in page->flags. We still use the memtype list for non RAM pages. Signed-off-by: Suresh Siddha Signed-off-by: Venkatesh Pallipadi Signed-off-by: Ingo Molnar commit ad5ca55f6bdb47c957b681c7358bb3719ba4ee82 Author: Suresh Siddha Date: Tue Sep 23 14:00:42 2008 -0700 x86, cpa: srlz cpa(), global flush tlb after splitting big page and before doing cpa Do a global flush tlb after splitting the large page and before we do the actual change page attribute in the PTE. With out this, we violate the TLB application note, which says "The TLBs may contain both ordinary and large-page translations for a 4-KByte range of linear addresses. This may occur if software modifies the paging structures so that the page size used for the address range changes. If the two translations differ with respect to page frame or attributes (e.g., permissions), processor behavior is undefined and may be implementation-specific." And also serialize cpa() (for !DEBUG_PAGEALLOC which uses large identity mappings) using cpa_lock. So that we don't allow any other cpu, with stale large tlb entries change the page attribute in parallel to some other cpu splitting a large page entry along with changing the attribute. Signed-off-by: Suresh Siddha Cc: Suresh Siddha Cc: arjan@linux.intel.com Cc: venkatesh.pallipadi@intel.com Cc: jeremy@goop.org Signed-off-by: Ingo Molnar commit 8311eb84bf842d345f543f4c62ca2b6ea26f638c Author: Suresh Siddha Date: Tue Sep 23 14:00:41 2008 -0700 x86, cpa: remove cpa pool code Interrupt context no longer splits large page in cpa(). So we can do away with cpa memory pool code. Signed-off-by: Suresh Siddha Cc: Suresh Siddha Cc: arjan@linux.intel.com Cc: venkatesh.pallipadi@intel.com Cc: jeremy@goop.org Signed-off-by: Ingo Molnar commit 55121b4369ced87863bf04da1f762a37e58aee4d Author: Suresh Siddha Date: Tue Sep 23 14:00:40 2008 -0700 x86, cpa: no need to check alias for __set_pages_p/__set_pages_np No alias checking needed for setting present/not-present mapping. Otherwise, we may need to break large pages for 64-bit kernel text mappings (this adds to complexity if we want to do this from atomic context especially, for ex: with CONFIG_DEBUG_PAGEALLOC). Let's keep it simple! Signed-off-by: Suresh Siddha Cc: Suresh Siddha Cc: arjan@linux.intel.com Cc: venkatesh.pallipadi@intel.com Cc: jeremy@goop.org Signed-off-by: Ingo Molnar commit 0b8fdcbcd287a1fbe66817491e6149841ae25705 Author: Suresh Siddha Date: Tue Sep 23 14:00:39 2008 -0700 x86, cpa: dont use large pages for kernel identity mapping with DEBUG_PAGEALLOC Don't use large pages for kernel identity mapping with DEBUG_PAGEALLOC. This will remove the need to split the large page for the allocated kernel page in the interrupt context. This will simplify cpa code(as we don't do the split any more from the interrupt context). cpa code simplication in the subsequent patches. Signed-off-by: Suresh Siddha Cc: Suresh Siddha Cc: arjan@linux.intel.com Cc: venkatesh.pallipadi@intel.com Cc: jeremy@goop.org Signed-off-by: Ingo Molnar commit a2699e477b8e6b17d4da64916f766dd5a2576c9c Author: Suresh Siddha Date: Tue Sep 23 14:00:38 2008 -0700 x86, cpa: make the kernel physical mapping initialization a two pass sequence In the first pass, kernel physical mapping will be setup using large or small pages but uses the same PTE attributes as that of the early PTE attributes setup by early boot code in head_[32|64].S After flushing TLB's, we go through the second pass, which setups the direct mapped PTE's with the appropriate attributes (like NX, GLOBAL etc) which are runtime detectable. This two pass mechanism conforms to the TLB app note which says: "Software should not write to a paging-structure entry in a way that would change, for any linear address, both the page size and either the page frame or attributes." Signed-off-by: Suresh Siddha Cc: Suresh Siddha Cc: arjan@linux.intel.com Cc: venkatesh.pallipadi@intel.com Cc: jeremy@goop.org Signed-off-by: Ingo Molnar commit 3a85e770aa77e4f1a4096275c97b64c10cd7323e Author: Suresh Siddha Date: Tue Sep 23 14:00:37 2008 -0700 x86, cpa: remove USER permission from the very early identity mapping attribute remove USER from the PTE/PDE attributes for the very early identity mapping. We overwrite these mappings with KERNEL attribute later in the boot. Just being paranoid here as there is no need for USER bit to be set. If this breaks something(don't know the history), then we can simply drop this change. Signed-off-by: Suresh Siddha Cc: Suresh Siddha Cc: arjan@linux.intel.com Cc: venkatesh.pallipadi@intel.com Cc: jeremy@goop.org Signed-off-by: Ingo Molnar commit b2bc27314664c4d1a2f02e6f4cd0c32e4681d61e Author: Suresh Siddha Date: Tue Sep 23 14:00:36 2008 -0700 x86, cpa: rename PTE attribute macros for kernel direct mapping in early boot Signed-off-by: Suresh Siddha Cc: Suresh Siddha Cc: arjan@linux.intel.com Cc: venkatesh.pallipadi@intel.com Cc: jeremy@goop.org Signed-off-by: Ingo Molnar commit d403a6484f0341bf0624d17ece46f24f741b6a92 Merge: ed458df... e496e3d... Author: Linus Torvalds Date: Fri Oct 10 08:07:53 2008 -0700 Merge phase #1 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip This merges phase 1 of the x86 tree, which is a collection of branches: x86/alternatives, x86/cleanups, x86/commandline, x86/crashdump, x86/debug, x86/defconfig, x86/doc, x86/exports, x86/fpu, x86/gart, x86/idle, x86/mm, x86/mtrr, x86/nmi-watchdog, x86/oprofile, x86/paravirt, x86/reboot, x86/sparse-fixes, x86/tsc, x86/urgent and x86/vmalloc and as Ingo says: "these are the easiest, purely independent x86 topics with no conflicts, in one nice Octopus merge". * 'x86-v28-for-linus-phase1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (147 commits) x86: mtrr_cleanup: treat WRPROT as UNCACHEABLE x86: mtrr_cleanup: first 1M may be covered in var mtrrs x86: mtrr_cleanup: print out correct type v2 x86: trivial printk fix in efi.c x86, debug: mtrr_cleanup print out var mtrr before change it x86: mtrr_cleanup try gran_size to less than 1M, v3 x86: mtrr_cleanup try gran_size to less than 1M, cleanup x86: change MTRR_SANITIZER to def_bool y x86, debug printouts: IOMMU setup failures should not be KERN_ERR x86: export set_memory_ro and set_memory_rw x86: mtrr_cleanup try gran_size to less than 1M x86: mtrr_cleanup prepare to make gran_size to less 1M x86: mtrr_cleanup safe to get more spare regs now x86_64: be less annoying on boot, v2 x86: mtrr_cleanup hole size should be less than half of chunk_size, v2 x86: add mtrr_cleanup_debug command line x86: mtrr_cleanup optimization, v2 x86: don't need to go to chunksize to 4G x86_64: be less annoying on boot x86, olpc: fix endian bug in openfirmware workaround ... commit 43603c8df97f246e8be7b9cc92a8f968a85108bd Author: Hans Schou Date: Thu Oct 9 20:47:24 2008 +0200 x86, debug: print more information about unknown CPUs Write the name of the unknown vendor_id to output instead of just "unknown". Tag changed to 'vendor_id' as used in /proc/cpuinfo Signed-off-by: Hans Schou Signed-off-by: Ingo Molnar commit ed458df4d2470adc02762a87a9ad665d0b1a2bd4 Author: Linus Torvalds Date: Fri Oct 10 08:00:17 2008 -0700 PnP: move pnpacpi/pnpbios_init to after PCI init We already did that a long time ago for pnp_system_init, but pnpacpi_init and pnpbios_init remained as subsys_initcalls, and get linked into the kernel before the arch-specific routines that finalize the PCI resources (pci_subsys_init). This means that the PnP routines would either register their resources before the PCI layer could, or would be unable to check whether a PCI resource had already been registered. Both are problematic. I wanted to do this before 2.6.27, but every time we change something like this, something breaks. That said, _every_ single time we trust some firmware (like PnP tables) more than we trust the hardware itself (like PCI probing), the problems have been worse. Signed-off-by: Linus Torvalds commit 82219fceeb654789a9dd7cd3c6cce12dbf659342 Merge: 3fa8749... 0395e61... Author: Linus Torvalds Date: Fri Oct 10 07:46:45 2008 -0700 Merge branch 'upstream-2.6.28' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-2.6.28' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: ata_piix: IDE Mode SATA patch for Intel Ibex Peak DeviceIDs libata-eh: clear UNIT ATTENTION after reset ata_piix: add Hercules EC-900 mini-notebook to ich_laptop short cable list libata: reorder ata_device to remove 8 bytes of padding on 64 bits [libata] pata_bf54x: Add proper PM operation pata_sil680: convert CONFIG_PPC_MERGE to CONFIG_PPC libata: Implement disk shock protection support [libata] Introduce ata_id_has_unload() PATA: RPC now selects HAVE_PATA_PLATFORM for pata platform driver ata_piix: drop merged SCR access and use slave_link instead libata: implement slave_link libata: misc updates to prepare for slave link libata: reimplement link iterator libata: make SCR access ops per-link commit d91d40799165b0c84c97e7c71fb8039494ff07dc Author: Paul Moore Date: Fri Oct 10 10:16:34 2008 -0400 netlabel: Add configuration support for local labeling Add the necessary NetLabel support for the new CIPSO mapping, CIPSO_V4_MAP_LOCAL, which allows full LSM label/context support. Signed-off-by: Paul Moore Reviewed-by: James Morris commit 15c45f7b2e81655f6eb500ec949c8bd70a04325a Author: Paul Moore Date: Fri Oct 10 10:16:34 2008 -0400 cipso: Add support for native local labeling and fixup mapping names This patch accomplishes three minor tasks: add a new tag type for local labeling, rename the CIPSO_V4_MAP_STD define to CIPSO_V4_MAP_TRANS and replace some of the CIPSO "magic numbers" with constants from the header file. The first change allows CIPSO to support full LSM labels/contexts, not just MLS attributes. The second change brings the mapping names inline with what userspace is using, compatibility is preserved since we don't actually change the value. The last change is to aid readability and help prevent mistakes. Signed-off-by: Paul Moore commit 8d75899d033617316e06296b7c0729612f56aba0 Author: Paul Moore Date: Fri Oct 10 10:16:33 2008 -0400 netlabel: Changes to the NetLabel security attributes to allow LSMs to pass full contexts This patch provides support for including the LSM's secid in addition to the LSM's MLS information in the NetLabel security attributes structure. Signed-off-by: Paul Moore Acked-by: James Morris commit 6c5b3fc0147f79d714d2fe748b5869d7892ef2e7 Author: Paul Moore Date: Fri Oct 10 10:16:33 2008 -0400 selinux: Cache NetLabel secattrs in the socket's security struct Previous work enabled the use of address based NetLabel selectors, which while highly useful, brought the potential for additional per-packet overhead when used. This patch attempts to mitigate some of that overhead by caching the NetLabel security attribute struct within the SELinux socket security structure. This should help eliminate the need to recreate the NetLabel secattr structure for each packet resulting in less overhead. Signed-off-by: Paul Moore Acked-by: James Morris commit 014ab19a69c325f52d7bae54ceeda73d6307ae0c Author: Paul Moore Date: Fri Oct 10 10:16:33 2008 -0400 selinux: Set socket NetLabel based on connection endpoint Previous work enabled the use of address based NetLabel selectors, which while highly useful, brought the potential for additional per-packet overhead when used. This patch attempts to solve that by applying NetLabel socket labels when sockets are connect()'d. This should alleviate the per-packet NetLabel labeling for all connected sockets (yes, it even works for connected DGRAM sockets). Signed-off-by: Paul Moore Reviewed-by: James Morris commit 948bf85c1bc9a84754786a9d5dd99b7ecc46451e Author: Paul Moore Date: Fri Oct 10 10:16:32 2008 -0400 netlabel: Add functionality to set the security attributes of a packet This patch builds upon the new NetLabel address selector functionality by providing the NetLabel KAPI and CIPSO engine support needed to enable the new packet-based labeling. The only new addition to the NetLabel KAPI at this point is shown below: * int netlbl_skbuff_setattr(skb, family, secattr) ... and is designed to be called from a Netfilter hook after the packet's IP header has been populated such as in the FORWARD or LOCAL_OUT hooks. This patch also provides the necessary SELinux hooks to support this new functionality. Smack support is not currently included due to uncertainty regarding the permissions needed to expand the Smack network access controls. Signed-off-by: Paul Moore Reviewed-by: James Morris commit 63c41688743760631188cf0f4ae986a6793ccb0a Author: Paul Moore Date: Fri Oct 10 10:16:32 2008 -0400 netlabel: Add network address selectors to the NetLabel/LSM domain mapping This patch extends the NetLabel traffic labeling capabilities to individual packets based not only on the LSM domain but the by the destination address as well. The changes here only affect the core NetLabel infrastructre, changes to the NetLabel KAPI and individial protocol engines are also required but are split out into a different patch to ease review. Signed-off-by: Paul Moore Reviewed-by: James Morris commit 61e1068219950c672ce979719ad2be3aadb00d7d Author: Paul Moore Date: Fri Oct 10 10:16:32 2008 -0400 netlabel: Add a generic way to create ordered linked lists of network addrs Create an ordered IP address linked list mechanism similar to the core kernel's linked list construct. The idea behind this list functionality is to create an extensibile linked list ordered by IP address mask to ease the matching of network addresses. The linked list is ordered with larger address masks at the front of the list and shorter address masks at the end to facilitate overriding network entries with individual host or subnet entries. Signed-off-by: Paul Moore Reviewed-by: James Morris commit b1edeb102397546438ab4624489c6ccd7b410d97 Author: Paul Moore Date: Fri Oct 10 10:16:31 2008 -0400 netlabel: Replace protocol/NetLabel linking with refrerence counts NetLabel has always had a list of backpointers in the CIPSO DOI definition structure which pointed to the NetLabel LSM domain mapping structures which referenced the CIPSO DOI struct. The rationale for this was that when an administrator removed a CIPSO DOI from the system all of the associated NetLabel LSM domain mappings should be removed as well; a list of backpointers made this a simple operation. Unfortunately, while the backpointers did make the removal easier they were a bit of a mess from an implementation point of view which was making further development difficult. Since the removal of a CIPSO DOI is a realtively rare event it seems to make sense to remove this backpointer list as the optimization was hurting us more then it was helping. However, we still need to be able to track when a CIPSO DOI definition is being used so replace the backpointer list with a reference count. In order to preserve the current functionality of removing the associated LSM domain mappings when a CIPSO DOI is removed we walk the LSM domain mapping table, removing the relevant entries. Signed-off-by: Paul Moore Reviewed-by: James Morris commit a8134296ba9940b5b271d908666e532d34430a3c Author: Paul Moore Date: Fri Oct 10 10:16:31 2008 -0400 smack: Fix missing calls to netlbl_skbuff_err() Smack needs to call netlbl_skbuff_err() to let NetLabel do the necessary protocol specific error handling. Signed-off-by: Paul Moore Acked-by: Casey Schaufler commit dfaebe9825ff34983778f287101bc5f3bce00640 Author: Paul Moore Date: Fri Oct 10 10:16:31 2008 -0400 selinux: Fix missing calls to netlbl_skbuff_err() At some point I think I messed up and dropped the calls to netlbl_skbuff_err() which are necessary for CIPSO to send error notifications to remote systems. This patch re-introduces the error handling calls into the SELinux code. Signed-off-by: Paul Moore Acked-by: James Morris commit 99d854d231ce141850b988bdc7e2e7c78f49b03a Author: Paul Moore Date: Fri Oct 10 10:16:30 2008 -0400 selinux: Fix a problem in security_netlbl_sid_to_secattr() Currently when SELinux fails to allocate memory in security_netlbl_sid_to_secattr() the NetLabel LSM domain field is set to NULL which triggers the default NetLabel LSM domain mapping which may not always be the desired mapping. This patch fixes this by returning an error when the kernel is unable to allocate memory. This could result in more failures on a system with heavy memory pressure but it is the "correct" thing to do. Signed-off-by: Paul Moore Acked-by: James Morris commit d8395c876bb8a560c8a032887e191b95499a25d6 Author: Paul Moore Date: Fri Oct 10 10:16:30 2008 -0400 selinux: Better local/forward check in selinux_ip_postroute() It turns out that checking to see if skb->sk is NULL is not a very good indicator of a forwarded packet as some locally generated packets also have skb->sk set to NULL. Fix this by not only checking the skb->sk field but also the IP[6]CB(skb)->flags field for the IP[6]SKB_FORWARDED flag. While we are at it, we are calling selinux_parse_skb() much earlier than we really should resulting in potentially wasted cycles parsing packets for information we might no use; so shuffle the code around a bit to fix this. Signed-off-by: Paul Moore Acked-by: James Morris commit 948a72438d4178d0728c4b0a38836d280b846939 Author: Paul Moore Date: Fri Oct 10 10:16:30 2008 -0400 netlabel: Remove unneeded in-kernel API functions After some discussions with the Smack folks, well just Casey, I now have a better idea of what Smack wants out of NetLabel in the future so I think it is now safe to do some API "pruning". If another LSM comes along that needs this functionality we can always add it back in, but I don't see any LSMs on the horizon which might make use of these functions. Thanks to Rami Rosen who suggested removing netlbl_cfg_cipsov4_del() back in February 2008. Signed-off-by: Paul Moore Reviewed-by: James Morris commit aa86290089a1e57b4bdbbb4720072233f66bd5b2 Author: Paul Moore Date: Fri Oct 10 10:16:29 2008 -0400 selinux: Correctly handle IPv4 packets on IPv6 sockets in all cases We did the right thing in a few cases but there were several areas where we determined a packet's address family based on the socket's address family which is not the right thing to do since we can get IPv4 packets on IPv6 sockets. This patch fixes these problems by either taking the address family directly from the packet. Signed-off-by: Paul Moore Acked-by: James Morris commit accc609322ef5ed44cba6d2d70c741afc76385fb Author: Paul Moore Date: Fri Oct 10 10:16:29 2008 -0400 selinux: Cleanup the NetLabel glue code We were doing a lot of extra work in selinux_netlbl_sock_graft() what wasn't necessary so this patch removes that code. It also removes the redundant second argument to selinux_netlbl_sock_setsid() which allows us to simplify a few other functions. Signed-off-by: Paul Moore Acked-by: James Morris commit 561967010edef40f539dacf2aa125e20773ab40b Author: Paul Moore Date: Fri Oct 10 10:16:29 2008 -0400 netlabel: Fix some sparse warnings Fix a few sparse warnings. One dealt with a RCU lock being held on error, another dealt with an improper type caused by a signed/unsigned mixup while the rest appeared to be caused by using rcu_dereference() in a list_for_each_entry_rcu() call. The latter probably isn't a big deal, but I derive a certain pleasure from knowing that the net/netlabel is nice and clean. Thanks to James Morris for pointing out the issues and demonstrating how to run sparse. Signed-off-by: Paul Moore commit 3094c981f2d567f0a442687ced24a5340aa10b6c Author: Bryan Wu Date: Fri Oct 10 21:22:01 2008 +0800 Blackfin arch: fix a typo in comments Signed-off-by: Bryan Wu commit fecc8d6d5611a6b1dce4a6cff4713f390056aa1c Author: Graf Yang Date: Fri Oct 10 21:23:29 2008 +0800 Blackfin arch: Remove useless head file Signed-off-by: Graf Yang Signed-off-by: Bryan Wu commit 6d0f0dfdbc8bdb0c52759224b0d423c35f828397 Author: Wim Van Sebroeck Date: Thu Oct 2 09:32:45 2008 +0000 [WATCHDOG] orion5x_wdt.c: add spinlocking Add spin_locking to orion5x_wdt.c to prevent races. Signed-off-by: Wim Van Sebroeck commit ad5dd977430216059d8344ccc516f11be4a37082 Author: Mike Frysinger Date: Fri Oct 10 21:17:11 2008 +0800 Blackfin arch: make sure L2 start and length are always defined (fixes building on BF542) Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit cdbf4c3c5f4909767c21f47f68f2ee57a8b36b3b Author: Mike Frysinger Date: Mon Oct 13 11:33:43 2008 +0800 Blackfin arch: use the Blackfin on-chip ROM to do software reset when possible Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 22ac92322c83334b562024414b770e48927ae963 Author: Sylver Bruneau Date: Thu Jun 26 10:47:45 2008 +0200 [WATCHDOG] Orion: add hardware watchdog support This patch allows the use of the hardware watchdog in the Marvell Orion series of ARM SoCs. Signed-off-by: Sylver Bruneau Signed-off-by: Lennert Buytenhek Signed-off-by: Wim Van Sebroeck commit b3112180fe0b8dd80053d1d83e6fc421a266e47a Author: Felipe Balbi Date: Sat Sep 20 04:14:03 2008 +0300 [WATCHDOG] omap_wdt.c: cleanup a bit omap_wdt.c Trivial cleanup patch. Signed-off-by: Felipe Balbi Signed-off-by: Wim Van Sebroeck commit 9f69e3b0c22200998caa73b23a39c03950b2752d Author: Felipe Balbi Date: Sat Sep 20 04:14:02 2008 +0300 [WATCHDOG] omap_wdt.c: another ioremap() fix convert to use ioremap() and __raw_{read/write} friends. Signed-off-by: Felipe Balbi Signed-off-by: George G. Davis Signed-off-by: Wim Van Sebroeck commit 2817142f31bfbf26c216bf4f9192540c81b2d071 Author: Felipe Balbi Date: Sat Sep 20 04:14:01 2008 +0300 [WATCHDOG] omap_wdt.c: sync linux-omap changes These are changes that have been sitting in linux-omap and were never sent upstream. Hopefully, it'll never happen again at least for this driver. Signed-off-by: Felipe Balbi Signed-off-by: Wim Van Sebroeck commit e6bb42e3d669afbeb4c971994614bcf241687666 Author: Renaud CERRATO Date: Mon Jun 23 17:05:49 2008 +0200 [WATCHDOG] Add AT91SAM9X watchdog Add a driver for the watchdog timer embedded into AT91SAM9X chips. Signed-off-by: Renaud Cerrato Signed-off-by: Wim Van Sebroeck commit 7d8b09066117e3023e55964ae4626c107f437b60 Author: Flemming Frandsen Date: Thu Apr 17 11:29:54 2008 +0200 [WATCHDOG] Add driver for winbond w83697ug/uf watchdog feature Adapted the w83627hf_wdt.c driver to work with the w83697ug/uf chip, found on MSI Fuzzy CX700 boards. The method used is taken directly from the winbond datasheet and surprisingly it differs slightly from all the other winbond watchdogs. So far it has only been tested on the CX700 board that I have, but it seems to work nicely. Signed-off-by: Flemming Frandsen Signed-off-by: Wim Van Sebroeck commit e1fee94f346387739e683b31815ab54dc0a30bd6 Author: Oliver Schuster Date: Wed Mar 5 16:48:45 2008 +0100 [WATCHDOG] add watchdog driver IT8716 IT8726 IT8712J/K Add it87xx watchdog driver IT8716 IT8718 IT8726 IT8712-J IT8712-K Signed-off-by: Oliver Schuster Signed-off-by: Wim Van Sebroeck commit 4e8086d65bd0a606434a4b16611653387f8c9698 Author: Mike Frysinger Date: Fri Oct 10 21:07:55 2008 +0800 Blackfin arch: update anomaly headers to match the latest sheet Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 0c2322e4ce144e130c03d813fe92de3798662c5e Author: Alasdair G Kergon Date: Fri Oct 10 13:37:13 2008 +0100 dm: detect lost queue Detect and report buggy drivers that destroy their request_queue. Signed-off-by: Alasdair G Kergon Cc: Stefan Raspl Cc: Jens Axboe Cc: Andrew Morton commit 54160904260fa764ba6e2dc738770be30fdf9553 Author: Mikulas Patocka Date: Fri Oct 10 13:37:12 2008 +0100 dm: publish dm_vcalloc Publish dm_vcalloc in include/linux/device-mapper.h because this function is used by targets. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit ea0ec640940c2ae3a8d71af3249fccf06a9997a3 Author: Mikulas Patocka Date: Fri Oct 10 13:37:11 2008 +0100 dm: publish dm_table_unplug_all Publish dm_table_unplug_all in include/linux/device-mapper.h because this function is used by targets. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 89343da077ad564ed130c46e5ea6a79388410fa5 Author: Mikulas Patocka Date: Fri Oct 10 13:37:10 2008 +0100 dm: publish dm_get_mapinfo Publish dm_get_mapinfo in include/linux/device-mapper.h because this function is used by targets. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 82b1519b345d61dcfae526e3fcb08128f39f9bcc Author: Mikulas Patocka Date: Fri Oct 10 13:37:09 2008 +0100 dm: export struct dm_dev Split struct dm_dev in two and publish the part that other targets need in include/linux/device-mapper.h. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 933f01d43326fb12a978a8e0bb062c28a2de4d5a Author: Milan Broz Date: Fri Oct 10 13:37:08 2008 +0100 dm crypt: avoid unnecessary wait when splitting bio Don't wait between submitting crypt requests for a bio unless we are short of memory. There are two situations when we must split an encrypted bio: 1) there are no free pages; 2) the new bio would violate underlying device restrictions (e.g. max hw segments). In case (2) we do not need to wait. Add output variable to crypt_alloc_buffer() to distinguish between these cases. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit c8081618a9f832fdf7ca81eb087f9f61f2bf07d5 Author: Milan Broz Date: Fri Oct 10 13:37:08 2008 +0100 dm crypt: tidy ctx pending Move the initialisation of ctx->pending into one place, at the start of crypt_convert(). Introduce crypt_finished to indicate whether or not the encryption is finished, for use in a later patch. No functional change. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 4e59409891c9cc30cb4d5d73250b0c968af8e39b Author: Milan Broz Date: Fri Oct 10 13:37:07 2008 +0100 dm crypt: fix async inc_pending The pending reference count must be incremented *before* the async work is queued to another thread, not after. Otherwise there's a race if the work completes and decrements the reference count before it gets incremented. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 6c031f41db15b6cb0cd33545cec28ca706cd3c7e Author: Milan Broz Date: Fri Oct 10 13:37:06 2008 +0100 dm crypt: move dec_pending on error into write_io_submit Make kcryptd_crypt_write_io_submit() responsible for decrementing the pending count after an error. Also fixes a bug in the async path that forgot to decrement it. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 1e37bb8e557a186d327eb4d1387953880ffc2cdd Author: Alasdair G Kergon Date: Fri Oct 10 13:37:05 2008 +0100 dm crypt: remove inc_pending from write_io_submit Make the caller reponsible for incrementing the pending count before calling kcryptd_crypt_write_io_submit() in the non-async case to bring it into line with the async case. Signed-off-by: Alasdair G Kergon commit fc5a5e9aa878f86642c962b309f793fb2db0727e Author: Milan Broz Date: Fri Oct 10 13:37:04 2008 +0100 dm crypt: tidy write loop pending Move kcryptd_crypt_write_convert_loop inside kcryptd_crypt_write_convert. This change is needed for a later patch. No functional change. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit dc440d1e56c481f80d5350daadc7d078a04ca729 Author: Milan Broz Date: Fri Oct 10 13:37:03 2008 +0100 dm crypt: tidy crypt alloc Factor out crypt io allocation code. Later patches will call it from another place. No functional change. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 3e1a8bdd05d6b1734a8ccf7af28042d72c447780 Author: Milan Broz Date: Fri Oct 10 13:37:02 2008 +0100 dm crypt: tidy inc pending Move io pending to one place. No functional change, usefull to simplify debugging. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit fd14acf6fc9f4635be201960004d847b14236a20 Author: Mikulas Patocka Date: Fri Oct 10 13:37:01 2008 +0100 dm exception store: use chunk_t for_areas Change uint32_t into chunk_t to remove 32-bit limitation on the number of chunks on systems with 64-bit sector numbers. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit a481db784682b33d078c7bf8a1d0581dc09946c1 Author: Mikulas Patocka Date: Fri Oct 10 13:37:00 2008 +0100 dm exception store: introduce area_location function Move this logic to a function, because it will be reused later. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit f7c83e2e4783c4f7abe6f3a85a8c5e210f98bc7b Author: Jonathan Brassow Date: Fri Oct 10 13:36:59 2008 +0100 dm raid1: kcopyd should stop on error if errors handled dm-raid1 is setting the 'DM_KCOPYD_IGNORE_ERROR' flag unconditionally when assigning kcopyd work. kcopyd is responsible for copying an assigned section of disk to one or more other disks. The 'DM_KCOPYD_IGNORE_ERROR' flag affects kcopyd in the following way: When not set: kcopyd will immediately stop the copy operation when an error is encountered. When set: kcopyd will try to proceed regardless of errors and try to continue copying any remaining amount. Since dm-raid1 tracks regions of the address space that are (or are not) in sync and it now has the ability to handle these errors, we can safely enable this optimization. This optimization is conditional on whether mirror error handling has been enabled. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit 6680073d3ec7c6dbdbf77870bf1fea869767d779 Author: Kiyoshi Ueda Date: Fri Oct 10 13:36:58 2008 +0100 dm mpath: remove is_active from struct dm_path This patch moves 'is_active' from struct dm_path to struct pgpath as it does not need exporting. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon commit 01460f3520c100010aacc8f8500cafcb17ce4665 Author: Benjamin Marzinski Date: Fri Oct 10 13:36:57 2008 +0100 dm mpath: use more error codes This patch allows path errors from the multipath ctr function to propagate up to userspace as errno values from the ioctl() call. This is in response to https://www.redhat.com/archives/dm-devel/2008-May/msg00000.html and https://bugzilla.redhat.com/show_bug.cgi?id=444421 The patch only lets through the errors that it needs to in order to get the path errors from parse_path(). Signed-off-by: Benjamin Marzinski Signed-off-by: Alasdair G Kergon commit 72474be62d6ec2e0337ff01ecbd737f9c5c242c7 Author: Matthew Ranostay Date: Thu Oct 9 09:32:17 2008 -0400 ALSA: hda: VREF powerdown for headphones Add support for powering down VREF on standard headphone insertion, also powers up the VREF on a headset insertion. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b9aea7150a84d037b6ca3c2506b0058cee4eb1d2 Author: Matthew Ranostay Date: Thu Oct 9 08:37:28 2008 -0400 ALSA: hda: STAC_HP_M4 Set the third microphone to a default config of a 'Line In' to be added the Input Source Mux's. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit fb2aa074d4eac4957f5717d261bc336f4a5f31c4 Author: Mark Brown Date: Wed Oct 8 13:02:20 2008 +0100 ALSA: ASoC: Check for machine type in GTA01 machine driver Since there are now multiple OpenMoko platforms it is more important to check that the machine driver is running on the correct system. This was orgininally generated as part of the initial GTA02 machine port. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 32fe61426373d85e797bf4f4dcbe4510487c3e00 Author: Takashi Iwai Date: Wed Oct 8 10:28:25 2008 +0200 ALSA: mtpav - Fix race in probe Ingo reported Oops at probing mtpav driver. It's a race between the irq handler and the rawmidi instance registration. This patch fixes the order of registration to avoid the race. Signed-off-by: Takashi Iwai Tested-by: Ingo Molnar Signed-off-by: Jaroslav Kysela commit 59b3db6c69ae9eeed1d8fc3aee6b88272ba38ba8 Author: Pedro Lopez-Cabanillas Date: Tue Oct 7 20:54:18 2008 +0200 ALSA: usb-audio: dynamic detection of MIDI interfaces in uaxx-quirk The MIDI interfaces have to be detected dynamically for Edirol devices ua-700, ua-25 and ua4-fx. This patch reverses the wrong changes made by my other patch in uaxx-quirk. Signed-off-by: Pedro Lopez-Cabanillas Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 52948b3f7c481be2cd3a68d1db42dd6906bf853a Author: Takashi Iwai Date: Tue Oct 7 16:13:59 2008 +0200 ALSA: Add a note on dependency of RTC stuff Added a note on the dependency of old RTC stuff, which is exclusive with the new RTC class drivers. http://bugme.linux-foundation.org/show_bug.cgi?id=11430 Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit cb01e2b99264d579085c63966744d91b87c6b35d Author: Richard Zhao Date: Tue Oct 7 08:05:20 2008 +0800 ALSA: ASoC: add new param mux to dapm_mux_update_power Function dapm_mux_update_power needs enum index mux and register mask value val as parameters, but it only has a parameter val, and uses it as both val and mux. snd_soc_test_bits(widget->codec, e->reg, mask, val) val is register mask here, e->texts[val] but val should be enum index mux here. This patch adds a new param mux to fix it. Signed-off-by: Richard Zhao Signed-off-by: Mark Brown Signed-off-by: Jaroslav Kysela commit ff33f2303b0ea8e5ac15af91de8d8538a5d58db1 Author: Takashi Iwai Date: Tue Oct 7 11:38:09 2008 +0200 ALSA: Increase components array size Increase the card components[] (and thus snd_card_info.components[], too) array size from 80 to 128 chars so that more strings can be stored. The 80 chars aren't enough for more than 2 HD-audio codecs, and this hits an ugly snd_BUG() as reported by Wu Fegguang for HP 2230s. The control protocol number is increased to 2.0.6 as well, in case it matters. Reported-by: Wu Fengguang Acked-by: Jaroslav Kysela Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8ae23ec3ab305b58140462234bddf2257af57bae Author: Mark Brown Date: Mon Oct 6 11:33:21 2008 +0100 ALSA: ASoC: Correct inverted Mic PGA Switch control in wm8510 driver Mic PGA Switch should be inverted in the WM8510 driver but isn't. Reported-by: ext-jukka.hynninen@vaisala.com Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6b34500c1ce9707b77ba1631bb21c8a1dea060bd Author: Wu Fengguang Date: Tue Oct 7 14:21:41 2008 +0800 ALSA: hda: comment typo fix fix a typo in comment for is_in_nid_list(). Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 5c1d1a98c5e20ba517369d15995464a10add9132 Author: Wu Fengguang Date: Tue Oct 7 14:17:53 2008 +0800 ALSA: hda: comment typo fix fix a typo in comment for process_unsol_events(). Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 238713d4891468f7942f7670d22ab44af0943a4b Author: Takashi Iwai Date: Sun Oct 5 10:57:39 2008 +0200 ALSA: hda - Fix PCI SSID for ASROCK K18N78FullHD-hSLI The PCI SSID for ASROCK mobo in commit ac56445dd6a38a36c2fa91989f5f6220a9bdf97c is wrong. This patch fixes to the correct one, 1849:3662. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 310e0dc01d15f6e792a54f971dc7b1e13d1c6e95 Author: Pedro Lopez-Cabanillas Date: Sat Oct 4 16:27:36 2008 +0200 ALSA: snd-usb-audio: support for Edirol UA-4FX device Renamed the old quirk function for ua-700/ua-25 to become more generic, moving the MIDI interfaces to the quirk data header. Added a new quirk for the Edirol UA-4FX. Signed-off-by: Pedro Lopez-Cabanillas Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7a17daae8ed71bf3259d905a4fc48a5b424fa935 Author: Takashi Iwai Date: Thu Oct 2 14:50:22 2008 +0200 ALSA: usb - Fix possible Oops at USB-MIDI disconnection The endpoints should be released immediately at disconnection rather than the delayed release. This could be a reason of Oops at USB-audio device disconnection being used. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 669faba27f2f7b04b9228d20e30e7f584f0becd5 Author: Clive Messer Date: Tue Sep 30 15:49:13 2008 +0200 ALSA: hda - Fix another ALC889A (rev 0x100101) ALC889A hardware (id 0x10ec0885 rev 0x100101) to use patch_alc883 Signed-off-by: Clive Messer Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 19c009aad0ddeaa6a4ba41577022301f18d43afa Author: Vedran Miletic Date: Mon Sep 29 20:29:25 2008 +0200 ALSA: hda: add more board-specific information for Realtek ALC662 rev1 I recently got a chance to play with two boards with ALC662 rev1: * BIOSTAR TA780G M2+ * ASROCK K10N78FullHD-hSLI R3.0 Both use 3 stack, 6ch mode with digital out. Since autodetection isn't able to figure that out from BIOS, we need to specify that manually. Signed-off-by: Vedran Miletic Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d6b52039c95556ade5c4f99592a0dc46473fbf93 Author: Vladimir Barinov Date: Mon Sep 29 23:14:11 2008 +0400 ALSA: Correct Vladimir Barinov's e-mail address Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b636a1d947c7f1bb0e0a157663e08ce3e49b2e52 Author: Vedran Miletic Date: Mon Sep 29 15:08:00 2008 +0200 ALSA: cs46xx: Add PCI IDs for TerraTec and Hercules cards This patch adds PCI IDs for: * TerraTec DMX XFire 1024 * Hercules Gamesurround Fortissimo II * Hercules Gamesurround Fortissimo III 7.1 All those cards were supported as generic CS46xx device, so they will work as before. I'm pretty sure that first two cards work, as they have same hardware design as reference card. Not sure about Fortissimo III, but this won't break it if it worked. Tested on TerraTec DMX XFire 1024. Signed-off-by: Vedran Miletic Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 00ef50c242f05381cd3fbf56bbda28155cbbb7c8 Author: Matthew Ranostay Date: Sat Sep 27 18:13:47 2008 -0400 ALSA: hda: SPDIF stream muting support Added support for muting S/DPIF outs using the 'Digital Playback Source' muxs on supporting codecs. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f3911c5ab93e4295938b2013104d2986ea601454 Author: Peter Korsgaard Date: Sat Sep 27 09:13:45 2008 +0200 ALSA: hda: appletv support The AppleTV needs the same handling as the 24" iMac. Signed-off-by: Peter Korsgaard Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 95fe5f2cec831d73ee93227810ab95d05ced3416 Author: Herton Ronaldo Krzesinski Date: Fri Sep 26 23:48:45 2008 -0300 ALSA: hda - Map ALC662 model for Foxconn 45CMX/45GMX/45CMX-K Use 3stack-6ch-dig ALC662 model for Foxconn 45CMX/45GMX/45CMX-K motherboard. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit cb55974cb461ff9c9c0675b2a8361d387212b64f Author: Herton Ronaldo Krzesinski Date: Fri Sep 26 23:47:45 2008 -0300 ALSA: hda - Map ALC662 model for Gigabyte 945GCM-S2L Use 3stack-6ch-dig ALC662 model for Gigabyte 945GCM-S2L motherboard. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 71dc525c5d480397ac7343a0a2808f8a23705d42 Author: Julien Brunel Date: Fri Sep 26 15:23:46 2008 +0200 ALSA: sound/soc/at32: Useless NULL test The test (ssc != NULL) can only be reached if the call to the function ssc_request, the result of which ssc is assigned, succeeds. Moreover, two statements assign NULL to ssc just before a return, which is useless since it is a local variable. So, we suggest to delete the test and the two assignments. A simplified version of the semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @bad_null_test@ expression x,E; @@ x = ssc_request(...) ... when != x = E * x != NULL // Signed-off-by: Julien Brunel Signed-off-by: Julia Lawall Acked-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9a9e2359f484402c620f9a3748037fea65fa5af4 Author: Matthew Ranostay Date: Fri Sep 26 10:37:03 2008 -0400 ALSA: hda: HP laptop quirk Added HP laptop SND_PCI_QUIRK for STAC_HP_M4. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b2c4f4d71f7a161630681678cbba84bd695bfd1e Author: Matthew Ranostay Date: Fri Sep 26 10:06:40 2008 -0400 ALSA: hda: 92xx S/PDIF In support Add support for S/PDIF IN on reference boards quirks. Also disable the IEC958 capture switch on boards with GPIO0 enabled. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 97c889a78b70f0ac0949967bf174d1a6a28bfb5c Author: Eran Tromer Date: Fri Sep 26 01:07:03 2008 -0400 ALSA: usb-audio: add support for E-Mu Tracker Pre Add support for the E-Mu "Tracker Pre" USB sound card, following the example of the (very similar) E-Mu 0202 and E-Mu 0404 USB. As with the 0202 and 0404 USB, functionality is very limited: just a couple of sample rates, no volume/mute control, etc. Signed-off-by: Eran Tromer Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit dc9c8e218da823008ce1572998902a4bdf46af37 Author: Wei Ni Date: Fri Sep 26 13:55:56 2008 +0800 ALSA: Fix for reading RIRB buffer on NVIDIA aza controller with AMD Phenom cpu When read RIRB buffer immediately after RIRB interrupt received, sometimes the data will be "0x0". If we wait for some time, the data in buffer will be correct. This issue only occurred with AMD Phenom cpu. So we set this "needs_damn_long_delay" flag. Signed-off-by: Wei Ni Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9a10eb21e1e1c389a8cea3016157a7f471512645 Author: Wei Ni Date: Fri Sep 26 13:45:46 2008 +0800 ALSA: Support NVIDIA MCP78/7A HDMI audio Add NVIDIA HDMI HD-audio codec support in snd-hda-intel driver, include NVIDIA MCP78/7A HDMI. Signed-off-by: Wei Ni Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 2f72853ca1ee1571377996471d05db51eb7c54c4 Author: Takashi Iwai Date: Thu Sep 25 16:32:41 2008 +0200 ALSA: hda - Fix / clean-up slave digital out codes The recent slave_dig_out addition has some rooms to clean up. Also it doesn't call snd_hda_cleanup_stream() properly for slaves at closing. The patch fixes both issues. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ddc0f38a62083a552d6acb792d9ce513cf4081df Author: Matthew Ranostay Date: Thu Sep 25 09:17:11 2008 -0400 ALSA: hda: slave_dig_outs code block in wrong location Removed invalid references to slave_dig_outs inside the S/PDIF IN capture switch control. Beforehand this was basically a mute switch for the S/PDIF outs as well. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 37c34ffb3a9a6051236a4ee1acb7752bcc3f50fd Author: Takashi Iwai Date: Wed Sep 24 09:59:44 2008 +0200 ALSA: intel8x0 - Add quirk for Fujitsu Lifebook P7010 Fujitsu Lifebook P7010 requires ac97_quirk=hp_only. http://bugzilla.kernel.org/show_bug.cgi?id=9100 Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a99606d25eb6981e13d332e18774e203ded66709 Author: Takashi Iwai Date: Wed Sep 24 09:44:18 2008 +0200 ALSA: Remove bitwise from snd_pcm_hw_param_t We have some arithmetic operations against snd_pcm_hw_param_t, thus bitwise isn't correct for it. Better to remove the flag to shut up sparse warnings. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit fedb7569100ac858bea7954d82c74e5561bf2c03 Author: Matthew Ranostay Date: Tue Sep 23 21:46:30 2008 -0400 ALSA: hda: use last DAC defined for hp_pin Patch allows the last DAC in the dac_nids for the hp_nid if there is an available one this isn't in use by a line_out entry or if hp_nid isn't already defined. This solves the issues with the 'Headphone Playback' mixer controls on the 92hd73xxx branch and possibly others. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 5dc64a3442b98eaa0e3730c35fcf00cf962a93e7 Author: Ian Campbell Date: Fri Oct 10 11:27:38 2008 +0100 xen: do not reserve 2 pages of padding between hypervisor and fixmap. When reserving space for the hypervisor the Xen paravirt backend adds an extra two pages (this was carried forward from the 2.6.18-xen tree which had them "for safety"). Depending on various CONFIG options this can cause the boot time fixmaps to span multiple PMDs which is not supported and triggers a WARN in early_ioremap_init(). This was exposed by 2216d199b1430d1c0affb1498a9ebdbd9c0de439 which moved the dmi table parsing earlier. x86: fix CONFIG_X86_RESERVE_LOW_64K=y The bad_bios_dmi_table() quirk never triggered because we do DMI setup too late. Move it a bit earlier. There is no real reason to reserve these two extra pages and the fixmap already incorporates FIX_HOLE which serves the same purpose. None of the other callers of reserve_top_address do this. Signed-off-by: Ian Campbell Signed-off-by: Ingo Molnar commit 9a6f5ae1f1f3c37aad938a1c82db248a3f95a629 Author: Mike Frysinger Date: Fri Oct 10 18:57:21 2008 +0800 Blackfin arch: bfin_reset() is an internal reboot function ... everyone should go through machine_restart() Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit e482cad241c0b7108cbc94959307a73d19ba17d5 Author: Robin Getz Date: Fri Oct 10 18:21:45 2008 +0800 Blackfin arch: print out error/warning if you are running on the incorrect CPU type Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 6d0b8c993dc0a26fe7a9ee8b839d1964bd0debd4 Author: Mike Frysinger Date: Fri Oct 10 18:05:02 2008 +0800 Blackfin arch: remove non-bf54x ifdef logic since this file is only compiled on bf54x parts Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit f5623a3cf27284f5121296dec847a8f75e5d0691 Author: Mike Frysinger Date: Fri Oct 10 17:51:15 2008 +0800 Blackfin arch: update board defconfigs Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 9f06c38fb230720371397a57faa24aa6e31b2c87 Author: Robin Getz Date: Fri Oct 10 18:13:21 2008 +0800 Blackfin arch: Add optional verbose debug Add optional verbose debug - which when turned off, quiets down userspace errors. Saves ~8k of code/data for production systems Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit a88c71e4367aada2065c5e247477c891d2ca952f Author: Mike Frysinger Date: Fri Oct 10 17:37:52 2008 +0800 Blackfin arch: emulate a TTY over the EMUDAT/JTAG interface Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 5b7dba4ff834259a5623e03a565748704a8fe449 Author: Dave Kleikamp Date: Thu Oct 9 13:21:30 2008 -0500 sched_clock: prevent scd->clock from moving backwards When sched_clock_cpu() couples the clocks between two cpus, it may increment scd->clock beyond the GTOD tick window that __update_sched_clock() uses to clamp the clock. A later call to __update_sched_clock() may move the clock back to scd->tick_gtod + TICK_NSEC, violating the clock's monotonic property. This patch ensures that scd->clock will not be set backward. Signed-off-by: Dave Kleikamp Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 3c08f1d122627c9559fb03a11f52ea37f960b61e Author: Mike Frysinger Date: Fri Oct 10 17:12:51 2008 +0800 Blackfin arch: have is_user_addr_valid() check for overflows (like when address is -1) Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit d207a8c7681f14302e9e80ef5b8202abe39060b5 Author: Mike Frysinger Date: Fri Oct 10 17:26:57 2008 +0800 Blackfin arch: ptrace - fix off-by-one check on end of memory regions Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 2043f3f7312cc7fbbc2acffb9d87265b0ad9a529 Author: Michael Hennerich Date: Mon Oct 13 14:46:30 2008 +0800 Blackfin arch: Enable framebuffer support for the BF526-EZkit TFT LCD display Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 99b3075b9095c23acf8d884bdc7fe33c8c3520f0 Author: Nishant Kamat Date: Fri Oct 10 11:48:56 2008 +0300 ARM: OMAP3: Add default kernel config for OMAP LDP This patch adds a default config for the OMAP LDP platform. Signed-off-by: Nishant Kamat Signed-off-by: Tony Lindgren commit 492656511b109b5f9ee64d05c90b5bd9043549fa Author: Nishant Kamat Date: Fri Oct 10 11:28:23 2008 +0300 ARM: OMAP3: Add basic board support for OMAP LDP This adds minimal board support for the OMAP3430 LDP development platform. Signed-off-by: Nishant Kamat Signed-off-by: Tony Lindgren commit 778e4875fb9ac8dcef654aaadb53a953cde96026 Author: Steve Sakoman Date: Thu Oct 9 17:51:43 2008 +0300 ARM: OMAP3: Defconfig for the Gumstix Overo board (rev 3) Add defconfig for the Gumstix Overo board Signed-off-by: Steve Sakoman Signed-off-by: Tony Lindgren commit f26ed116c0baa8f9cbbe3d5db84034d75f6250f8 Author: David John Date: Fri Oct 10 11:42:44 2008 +0530 HPET: Remove spurious HPET busy warning message. On x86 systems with CONFIG_HPET_TIMER enabled, when the HPET driver (drivers/char/hpet.c) is loaded, an incorrect busy message is printed when the driver initializes since the HPET has already been allocated by the core timer code. Remove the warning message. Signed-off-by: David John Acked-by: Venkatesh Pallipadi Signed-off-by: Ingo Molnar commit 8eb95f28f66b1a5461fdbcc9a1ee9068fb2cf2b6 Merge: d7451fc... 3fa8749... Author: Ingo Molnar Date: Fri Oct 10 09:25:29 2008 +0200 Merge commit 'v2.6.27' into timers/hpet commit b911e473d24633c19414b54b82b9ff0b1a2419d7 Author: Randy Dunlap Date: Fri Oct 10 08:22:44 2008 +0200 doc/cdrom: Trvial documentation error, file not present The sbpcd tester program is not included in the kernel source tree, so remove the reference to it. Signed-off-by: Randy Dunlap Reported-by: Nick Warne Signed-off-by: Jens Axboe commit 55ed31e62d18094337319b942b38cfc00360444b Author: David S. Miller Date: Thu Oct 9 22:13:53 2008 -0700 enic: Attempt to fix build in 32-bit such as i386. Such platforms lack readq/writeq but this driver want to call them. Noticed by Andrew Morton. Signed-off-by: David S. Miller commit bb3d55e2505d8de15b132a3f6a1d596c1e2a13ee Merge: 8f64e1f... 6747c2e... Author: Benjamin Herrenschmidt Date: Fri Oct 10 15:56:16 2008 +1100 Merge commit 'jk/jk-merge' commit 8f64e1f2d1e09267ac926e15090fd505c1c0cbcb Author: Jon Tollefson Date: Thu Oct 9 10:18:40 2008 +0000 powerpc: Reserve in bootmem lmb reserved regions that cross NUMA nodes If there are multiple reserved memory blocks via lmb_reserve() that are contiguous addresses and on different NUMA nodes we are losing track of which address ranges to reserve in bootmem on which node. I discovered this when I recently got to try 16GB huge pages on a system with more then 2 nodes. When scanning the device tree in early boot we call lmb_reserve() with the addresses of the 16G pages that we find so that the memory doesn't get used for something else. For example the addresses for the pages could be 4000000000, 4400000000, 4800000000, 4C00000000, etc - 8 pages, one on each of eight nodes. In the lmb after all the pages have been reserved it will look something like the following: lmb_dump_all: memory.cnt = 0x2 memory.size = 0x3e80000000 memory.region[0x0].base = 0x0 .size = 0x1e80000000 memory.region[0x1].base = 0x4000000000 .size = 0x2000000000 reserved.cnt = 0x5 reserved.size = 0x3e80000000 reserved.region[0x0].base = 0x0 .size = 0x7b5000 reserved.region[0x1].base = 0x2a00000 .size = 0x78c000 reserved.region[0x2].base = 0x328c000 .size = 0x43000 reserved.region[0x3].base = 0xf4e8000 .size = 0xb18000 reserved.region[0x4].base = 0x4000000000 .size = 0x2000000000 The reserved.region[0x4] contains the 16G pages. In arch/powerpc/mm/num.c: do_init_bootmem() we loop through each of the node numbers looking for the reserved regions that belong to the particular node. It is not able to identify region 0x4 as being a part of each of the 8 nodes. It is assuming that a reserved region is only on a single node. This patch takes out the reserved region loop from inside the loop that goes over each node. It looks up the active region containing the start of the reserved region. If it extends past that active region then it adjusts the size and gets the next active region containing it. Signed-off-by: Jon Tollefson Signed-off-by: Benjamin Herrenschmidt commit 91a00302959545a9ae423e99732b1e46eb19e877 Author: Paul Mackerras Date: Wed Oct 8 14:03:29 2008 +0000 powerpc: Sync RPA note in zImage with kernel's RPA note Commit 9b09c6d909dfd8de96b99b9b9c808b94b0a71614 ("powerpc: Change the default link address for pSeries zImage kernels") changed the real-base value in the CHRP note added by the addnote program from 12MB to 32MB to give more space for Open Firmware to load the zImage. (The real-base value says where we want OF to position itself in memory.) However, this change was ineffective on most pSeries machines, because the RPA note added by addnote has the "ignore me" flag set to 1. This was intended to tell OF to ignore just the RPA note, but has the side effect of also making OF ignore the CHRP note (at least on most pSeries machines). To solve this we have to set the "ignore me" flag to 0 in the RPA note. (We can't just omit the RPA note because that is equivalent to having an RPA note with default values, and the default values are not what we want.) However, then we have to make sure the values in the zImage's RPA note match up with the values that the kernel supplies later in prom_init.c with either the ibm,client-architecture-support call or the process-elf-header call in prom_send_capabilities(). So this sets the "ignore me" flag in the RPA note in addnote to 0, and adjusts the RPA note values in addnote.c and in prom_init.c to be consistent with each other and with the values in ibm_architecture_vec. However, since the wrapper is independent of the kernel, this doesn't ensure that the notes will stay consistent. To ensure that, this adds code to addnote.c so that it can extract the kernel's RPA note from the kernel binary and put that in the zImage. To that end, we put the kernel's fake ELF header (which contains the kernel's RPA note) into its own section, and arrange for wrapper to pull out that section with objcopy and pass it to addnote, which then extracts the RPA note from it and transfers it to the zImage. Signed-off-by: Paul Mackerras Signed-off-by: Benjamin Herrenschmidt commit 58f467ce1476f5b2a347cee3a32275b737fbd667 Author: Grant Likely Date: Wed Oct 8 05:05:29 2008 +0000 powerpc/of-bindings: Don't support linux, "compatible" values Compatible property values in the form linux, is not documented anywhere and using it leaks Linux implementation details into the device tree data (which is bad). Remove support for compatible values of this form. If any platforms exist which depended on this code (and I don't know of any), then they can be fixed up by adding legacy translations to the lookup table in this file. Signed-off-by: Grant Likely Signed-off-by: Benjamin Herrenschmidt commit 41c2e949cb7b80c5a6247c7df97759953b0f71b5 Author: Josh Poimboeuf Date: Tue Oct 7 06:10:03 2008 +0000 powerpc: Fix error path in kernel_thread function The powerpc 32-bit and 64-bit kernel_thread functions don't properly propagate errors being returned by the clone syscall. (In the case of error, the syscall exit code returns a positive errno in r3 and sets the CR0[SO] bit.) This patch fixes that by negating r3 if CR0[SO] is set after the syscall. Signed-off-by: Josh Poimboeuf Signed-off-by: Josh Boyer Acked-by: Paul Mackerras Signed-off-by: Benjamin Herrenschmidt commit 99c840668c23fa81ac642598c792926021329747 Author: Roel Kluin <12o3l@tiscali.nl> Date: Mon Oct 6 22:38:33 2008 +0000 powerpc/cell/oprofile: Fix test on overlay_tbl_offset in vma_map Offset is unsigned and when an address isn't found in the vma map vma_map_lookup() returns the vma physical address + 0x10000000. vma_map_lookup used to return 0xffffffff on a failed lookup, but a change was made to return the vma physical address + 0x10000000 There are two callers of vam_map_lookup: one of them correctly deals with this new return value, but the other (below) did not. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Acked-by: Maynard Johnson Signed-off-by: Arnd Bergmann Signed-off-by: Benjamin Herrenschmidt commit 4538d0ca71b4f8991c4c0f433d7d17805738326e Author: Anton Vorontsov Date: Mon Oct 6 07:26:54 2008 +0000 powerpc: Fix no interrupt handling in pata_of_platform When no interrupt is specified the pata_of_platform fills the irq_res resource with -1, which is wrong to do for two reasons: 1. By definition, 'no irq' should be IRQ 0, not some negative integer; 2. pata_platform checks for irq_res.start > 0, but since irq_res.start is unsigned type, the check will be true for `-1'. Reported-by: Steven A. Falco Signed-off-by: Anton Vorontsov Signed-off-by: Benjamin Herrenschmidt commit 9fd3f88cb67ac51bd5face8441472b91e042be67 Author: Nathan Fontenot Date: Wed Oct 1 09:44:02 2008 +0000 powerpc: Oops in pseries_lmb_remove() Testing hotplug memory remove has revealed that we can oops in pseries_lmb_remove(). The incorrect shift causes a NULL pointer dereference in the page_zone() inline routine. I have only been able to reproduce the oops on kernels with large pages enabled. Tested on Power5 and Power6 with and without large pages enabled. Signed-off-by: Nathan Fontenot Signed-off-by: Benjamin Herrenschmidt commit fa3e5b4eb8261ae6ee27922881093db973e9d640 Author: Guo-Fu Tseng Date: Thu Oct 9 21:11:56 2008 -0700 tcpv6: fix error with CONFIG_TCP_MD5SIG disabled This patch fix error with CONFIG_TCP_MD5SIG disabled. Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit bb21c95e2d3325fcb53c591686dbbf4068a165bc Author: Guo-Fu Tseng Date: Thu Oct 9 21:10:36 2008 -0700 nf_conntrack_ecache.h: Fix missing braces This patch add missing braces of today's net-next-2.6: include/net/netfilter/nf_conntrack_ecache.h Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit eedd5d0a707a8ad704e03bda5fbfe6b1a8e5f028 Merge: a7e80ce... c752c78... b9012e0... e441d63... 943c246... 7097228... cd86f42... d57f5f7... 208dde2... fbcffcc... Author: Roland Dreier Date: Thu Oct 9 17:41:15 2008 -0700 Merge branches 'cma', 'cxgb3', 'ehca', 'ipath', 'ipoib', 'mad', 'misc', 'mlx4', 'mthca' and 'nes' into for-next commit fbcffcc6a0536544fa53cd5bd5c4913efe1a5982 Author: Chien Tung Date: Thu Oct 9 17:41:05 2008 -0700 RDMA/nes: Fix slab corruption Referencing cm_node after it is freed via rem_ref_cm_node() causes a slab corruption. There is no need to set cm_node->cm_id to NULL in mini_cm_close(). Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit 3bbfe0596746e1590888a6e1e6a07583265238b7 Author: Alexey Dobriyan Date: Fri Oct 10 03:27:16 2008 +0400 proc: remove kernel.maps_protect After commit 831830b5a2b5d413407adf380ef62fe17d6fcbf2 aka "restrict reading from /proc//maps to those who share ->mm or can ptrace" sysctl stopped being relevant because commit moved security checks from ->show time to ->start time (mm_for_maps()). Signed-off-by: Alexey Dobriyan Acked-by: Kees Cook commit 45acb8db06bad529f0feaf89465ce33152640089 Author: Alexey Dobriyan Date: Tue Oct 7 01:58:45 2008 +0400 proc: remove now unneeded ADDBUF macro After local seq_file conversion it was forgotten. Signed-off-by: Alexey Dobriyan commit 478307230810d7e2a753ed220db9066dfdf88718 Author: Kees Cook Date: Mon Oct 6 03:11:58 2008 +0400 [PATCH] proc: show personality via /proc/pid/personality Make process personality flags visible in /proc. Since a process's personality is potentially sensitive (e.g. READ_IMPLIES_EXEC), make this file only readable by the process owner. Signed-off-by: Kees Cook Signed-off-by: Alexey Dobriyan commit a6bebbc87a8c16eabb6bd5c6fd2d994be0236fba Author: Lai Jiangshan Date: Sun Oct 5 00:51:15 2008 +0400 [PATCH] signal, procfs: some lock_task_sighand() users do not need rcu_read_lock() lock_task_sighand() make sure task->sighand is being protected, so we do not need rcu_read_lock(). [ exec() will get task->sighand->siglock before change task->sighand! ] But code using rcu_read_lock() _just_ to protect lock_task_sighand() only appear in procfs. (and some code in procfs use lock_task_sighand() without such redundant protection.) Other subsystem may put lock_task_sighand() into rcu_read_lock() critical region, but these rcu_read_lock() are used for protecting "for_each_process()", "find_task_by_vpid()" etc. , not for protecting lock_task_sighand(). Signed-off-by: Lai Jiangshan [ok from Oleg] Signed-off-by: Alexey Dobriyan commit 53167a3ef23df561d898dee636f3393e9fba937c Author: Alexey Dobriyan Date: Fri Oct 3 02:01:51 2008 +0400 proc: move PROC_PAGE_MONITOR to fs/proc/Kconfig Signed-off-by: Alexey Dobriyan commit 81324364b76eba592255d4b712e522f9fd8d25f4 Author: Adrian Bunk Date: Fri Oct 3 00:33:54 2008 +0400 proc: make grab_header() static Signed-off-by: Adrian Bunk Signed-off-by: Alexey Dobriyan commit a70973c2141f98e2046f7ce9a29774bf254cf70f Author: Alexey Dobriyan Date: Fri Oct 3 00:31:19 2008 +0400 proc: remove unused get_dma_list() Signed-off-by: Alexey Dobriyan commit a04f4de6412a4f0ababf9f665674414f26d4cb6e Author: Alexey Dobriyan Date: Fri Oct 3 00:26:49 2008 +0400 proc: remove dummy vmcore_open() Empty ->open is equivalent to always succeeding ->open. Signed-off-by: Alexey Dobriyan commit e1675231ceedf83f20943a26e5e346a52163dec8 Author: Alexey Dobriyan Date: Fri Oct 3 00:23:32 2008 +0400 proc: proc_sys_root tweak Signed-off-by: Alexey Dobriyan commit 300b994b74e75120dd1a48529552a44977e0a82a Author: Alexey Dobriyan Date: Fri Oct 3 00:18:52 2008 +0400 proc: fix return value of proc_reg_open() in "too late" case If ->open() wasn't called, returning 0 is misleading and, theoretically, oopsable: 1) remove_proc_entry clears ->proc_fops, drops lock, 2) ->open "succeeds", 3) ->release oopses, because it assumes ->open was called (single_release()). Signed-off-by: Alexey Dobriyan commit 9ac684fc38cf17fbd25c0c9e388713c5ddfa3b14 Merge: 3fa8749... 81990fb... Author: James Morris Date: Fri Oct 10 11:09:47 2008 +1100 Merge branch 'next' into for-linus commit 6747c2ee8abf749e63fee8cd01a9ee293e6a4247 Author: Kou Ishizaki Date: Thu Oct 9 10:45:49 2008 +1100 powerpc/spufs: add a missing mutex_unlock A mutex_unlock(&gang->aff_mutex) in spufs_create_context() is missing in case spufs_context_open() fails. As a result, spu_create syscall and spu_get_idle() may block. This patch adds the mutex_unlock. Signed-off-by: Kou Ishizaki Signed-off-by: Jeremy Kerr Acked-by: Andre Detsch commit ba0b996d01eaca4f3cc1f07dcc238fcad7e0d427 Author: Jeremy Kerr Date: Thu Oct 9 10:39:21 2008 +1100 powerpc/spufs: use inc_nlink Style change: use inc_nlink instead of incrementing i_nlink directly Signed-off-by: Jeremy Kerr commit e2ed6e4daa6f16f088600d98568cb5730b5238a6 Author: Jeremy Kerr Date: Tue Oct 7 18:26:55 2008 +1100 powerpc/spufs: set nlink count for spufs root correctly Currently, an empty spufs root inode has nlink count of 1. However, the directory has two links; / -> spu and /spu/ -> . This change increments the link count of the root inode in spufs. Signed-off-by: Jeremy Kerr commit 13c9821ea49be153ea74e5987cf6955871d7b124 Author: David S. Miller Date: Thu Oct 9 16:40:29 2008 -0700 ppp: Use skb_queue_walk() in ppp_mp_insert(). Instead of open-coded version. Signed-off-by: David S. Miller commit f24d43c07e208372aa3d3bff419afbf43ba87698 Author: Eric Dumazet Date: Thu Oct 9 14:51:27 2008 -0700 udp: complete port availability checking While looking at UDP port randomization, I noticed it was litle bit pessimistic, not looking at type of sockets (IPV6/IPV4) and not looking at bound addresses if any. We should perform same tests than when binding to a specific port. This permits a cleanup of udp_lib_get_port() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 626e264dd1989bdc98a5eaf2e059af4dba07ac4f Author: Ilpo Järvinen Date: Thu Oct 9 14:42:40 2008 -0700 tcpv6: combine tcp_v6_send_(reset|ack) $ codiff tcp_ipv6.o.old tcp_ipv6.o.new net/ipv6/tcp_ipv6.c: tcp_v6_md5_hash_hdr | -144 tcp_v6_send_ack | -585 tcp_v6_send_reset | -540 3 functions changed, 1269 bytes removed, diff: -1269 net/ipv6/tcp_ipv6.c: tcp_v6_send_response | +791 1 function changed, 791 bytes added, diff: +791 tcp_ipv6.o.new: 4 functions changed, 791 bytes added, 1269 bytes removed, diff: -478 I choose to leave the reset related netns comment in place (not the one that is killed) as I cannot understand its English so it's a bit hard for me to evaluate its usefulness :-). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 81ada62d70060023923f46ab666cdc2970e1e0ce Author: Ilpo Järvinen Date: Thu Oct 9 14:42:01 2008 -0700 tcpv6: convert opt[] -> topt in tcp_v6_send_reset after this I get: $ diff-funcs tcp_v6_send_reset tcp_ipv6.c tcp_ipv6.c tcp_v6_send_ack --- tcp_ipv6.c:tcp_v6_send_reset() +++ tcp_ipv6.c:tcp_v6_send_ack() @@ -1,4 +1,5 @@ -static void tcp_v6_send_reset(struct sock *sk, struct sk_buff *skb) +static void tcp_v6_send_ack(struct sk_buff *skb, u32 seq, u32 ack, u32 win, u32 ts, + struct tcp_md5sig_key *key) { struct tcphdr *th = tcp_hdr(skb), *t1; struct sk_buff *buff; @@ -7,31 +8,14 @@ struct sock *ctl_sk = net->ipv6.tcp_sk; unsigned int tot_len = sizeof(struct tcphdr); __be32 *topt; -#ifdef CONFIG_TCP_MD5SIG - struct tcp_md5sig_key *key; -#endif - - if (th->rst) - return; - - if (!ipv6_unicast_destination(skb)) - return; + if (ts) + tot_len += TCPOLEN_TSTAMP_ALIGNED; #ifdef CONFIG_TCP_MD5SIG - if (sk) - key = tcp_v6_md5_do_lookup(sk, &ipv6_hdr(skb)->daddr); - else - key = NULL; - if (key) tot_len += TCPOLEN_MD5SIG_ALIGNED; #endif - /* - * We need to grab some memory, and put together an RST, - * and then put it into the queue to be sent. - */ - buff = alloc_skb(MAX_HEADER + sizeof(struct ipv6hdr) + tot_len, GFP_ATOMIC); if (buff == NULL) @@ -46,18 +30,20 @@ t1->dest = th->source; t1->source = th->dest; t1->doff = tot_len / 4; - t1->rst = 1; - - if(th->ack) { - t1->seq = th->ack_seq; - } else { - t1->ack = 1; - t1->ack_seq = htonl(ntohl(th->seq) + th->syn + th->fin - + skb->len - (th->doff<<2)); - } + t1->seq = htonl(seq); + t1->ack_seq = htonl(ack); + t1->ack = 1; + t1->window = htons(win); topt = (__be32 *)(t1 + 1); + if (ts) { + *topt++ = htonl((TCPOPT_NOP << 24) | (TCPOPT_NOP << 16) | + (TCPOPT_TIMESTAMP << 8) | TCPOLEN_TIMESTAMP); + *topt++ = htonl(tcp_time_stamp); + *topt++ = htonl(ts); + } + #ifdef CONFIG_TCP_MD5SIG if (key) { *topt++ = htonl((TCPOPT_NOP << 24) | (TCPOPT_NOP << 16) | @@ -84,15 +70,10 @@ fl.fl_ip_sport = t1->source; security_skb_classify_flow(skb, &fl); - /* Pass a socket to ip6_dst_lookup either it is for RST - * Underlying function will use this to retrieve the network - * namespace - */ if (!ip6_dst_lookup(ctl_sk, &buff->dst, &fl)) { if (xfrm_lookup(&buff->dst, &fl, NULL, 0) >= 0) { ip6_xmit(ctl_sk, buff, &fl, NULL, 0); TCP_INC_STATS_BH(net, TCP_MIB_OUTSEGS); - TCP_INC_STATS_BH(net, TCP_MIB_OUTRSTS); return; } } ...which starts to be trivial to combine. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 77c676da1b717eed7239144fb539dfc4c7b78e04 Author: Ilpo Järvinen Date: Thu Oct 9 14:41:38 2008 -0700 tcpv6: trivial formatting changes to send_(ack|reset) Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 78e645cb890b0f32ea81a974e29427d9cd2f64f0 Author: Ilpo Järvinen Date: Thu Oct 9 14:37:47 2008 -0700 tcpv[46]: fix md5 pseudoheader address field ordering Maybe it's just me but I guess those md5 people made a mess out of it by having *_md5_hash_* to use daddr, saddr order instead of the one that is natural (and equal to what csum functions use). For the segment were sending, the original addresses are reversed so buff's saddr == skb's daddr and vice-versa. Maybe I can finally proceed with unification of some code after fixing it first... :-) Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit df58ef51caea073f4b45857c51f445f65267dac7 Author: Francois Romieu Date: Thu Oct 9 14:35:58 2008 -0700 r8169: fix early spinlock use rtl8169_init_one -> rtl_init_mac_address -> rtl_rar_set -> spin_lock_irq(&tp->lock); [...] -> spin_lock_init(&tp->lock); Signed-off-by: Francois Romieu Signed-off-by: David S. Miller commit 1d74a6bddf647285e7aa4e9ca4ec16eb071dfd95 Author: Steve Glendinning Date: Thu Oct 9 14:34:47 2008 -0700 smsc95xx: fix usb usage on big endian platforms Fix warnings caught by David Miller on sparc64 Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit a1080a8b0bc301c223c4bf0cea4c5e42f43dcf58 Author: Vlad Yasevich Date: Thu Oct 9 14:33:26 2008 -0700 sctp: update SNMP statiscts when T5 timer expired. The T5 timer is the timer for the over-all shutdown procedure. If this timer expires, then shutdown procedure has not completed and we ABORT the association. We should update SCTP_MIB_ABORTED and SCTP_MIB_CURRESTAB when aborting. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 56eb82bb8d2cdd8d9f4838eaa109df41d7164ca5 Author: Vlad Yasevich Date: Thu Oct 9 14:33:01 2008 -0700 sctp: Fix SNMP number of SCTP_MIB_ABORTED during violation handling. If ABORT chunks require authentication and a protocol violation is triggered, we do not tear down the association. Subsequently, we should not increment SCTP_MIB_ABORTED. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 3d5a019d5761a40465337711ae7d2beb1e9b43ec Author: Wei Yongjun Date: Thu Oct 9 14:32:24 2008 -0700 sctp: Fix the SNMP number of SCTP_MIB_CURRESTAB RFC3873 defined SCTP_MIB_CURRESTAB: sctpCurrEstab OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of associations for which the current state is either ESTABLISHED, SHUTDOWN-RECEIVED or SHUTDOWN-PENDING." REFERENCE "Section 4 in RFC2960 covers the SCTP Association state diagram." If the T4 RTO timer expires many times(timeout), the association will enter CLOSED state, so we should dec the number of SCTP_MIB_CURRESTAB, not inc the number of SCTP_MIB_CURRESTAB. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 5c714e238e5e0eb74cdc74201bf3d6296b3b3104 Author: Brice Goglin Date: Thu Oct 9 14:31:42 2008 -0700 myri10ge: remove over-paranoid queue number modulus No need to modulus the queue number in ->hard_start_xmit() since the core is going to do that for you modulus ->real_num_tx_queues. Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit 3ed30676f5bc9960c67644fa37c5fdc36ae47b5b Author: Dave Graham Date: Thu Oct 9 14:29:26 2008 -0700 e1000: don't generate bad checksums for tcp packets with 0 csum When offloading transmit checksums only, the driver was not correctly configuring the hardware to handle the case of a zero checksum. For UDP the correct behavior is to leave it alone, but for tcp the checksum must be changed from 0x0000 to 0xFFFF. The hardware takes care of this case but only if it is told the packet is tcp. same patch as e1000e Signed-off-by: Dave Graham Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit af807c82978ec1b8c5120b59b78ef951b3e4603b Author: Dave Graham Date: Thu Oct 9 14:28:58 2008 -0700 e1000e: don't generate bad checksums for tcp packets with 0 csum When offloading transmit checksums only, the driver was not correctly configuring the hardware to handle the case of a zero checksum. For UDP the correct behavior is to leave it alone, but for tcp the checksum must be changed from 0x0000 to 0xFFFF. The hardware takes care of this case but only if it is told the packet is tcp. Signed-off-by: Dave Graham Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 6defd90433729c2d795865165cb34d938d8ff07c Merge: c97f681... 99c6bb3... Author: Russell King Date: Thu Oct 9 21:33:07 2008 +0100 Merge branch 'for-rmk' of git://git.marvell.com/orion Merge branch 'orion-devel' into devel commit c97f68145e8067b3ac4b126a6faebf90f9ffc302 Merge: b1add04... 7bff3c4... Author: Russell King Date: Thu Oct 9 21:33:05 2008 +0100 Merge branch 'for-rmk' of git://source.mvista.com/git/linux-davinci-2.6.git Merge branch 'davinci' into devel commit b1add0480a95b6ceaece5caf6c50614771eae9b2 Merge: 3f30a09... 58a85f4... Author: Russell King Date: Thu Oct 9 21:33:03 2008 +0100 Merge branch 'for-rmk' of git://pasiphae.extern.pengutronix.de/git/imx/linux-2.6.git Merge branch 'imx-devel' into devel commit 3f30a09a612bac2b531a206c2a58a292dd7ff182 Merge: 9e165ac... fda50a1... Author: Russell King Date: Thu Oct 9 21:33:02 2008 +0100 Merge branch 'pxa-all' into devel Conflicts: arch/arm/mach-pxa/Kconfig arch/arm/mach-pxa/corgi.c arch/arm/mach-pxa/include/mach/hardware.h arch/arm/mach-pxa/spitz.c commit 9e165acf1b9e37af7c0fa39399b43d0bd8600039 Merge: 6a4690c... 791ccf2... Author: Russell King Date: Thu Oct 9 21:31:58 2008 +0100 Merge branch 'at91' into devel commit 6a4690c22f5da1eb1c898b61b6a80da52fbd976f Merge: 90bb28b... 8ec5366... Author: Russell King Date: Thu Oct 9 21:31:56 2008 +0100 Merge branch 'ptebits' into devel Conflicts: arch/arm/Kconfig commit 90bb28b0644f7324f8bd1feb27b35146e6785ba2 Merge: b4ffb0e... 3bca103... 446b097... 8e6c81f... 0ac4ed9... bda0308... Author: Russell King Date: Thu Oct 9 21:31:54 2008 +0100 Merge branches 'machtypes', 'core', 'ep93xx', 'ks8695', 'netdev' and 'sa1100' into devel commit 3bca103a1e658d23737d20e1989139d9ca8973bf Author: Nicolas Pitre Date: Tue Oct 7 20:14:55 2008 +0100 [ARM] 5295/1: make ZONE_DMA optional Most ARM machines don't need a special "DMA" memory zone, and when configured out, the kernel becomes a bit smaller: | text data bss dec hex filename |3826182 102384 111700 4040266 3da64a vmlinux |3823593 101616 111700 4036909 3d992d vmlinux.nodmazone This is because the system now has only one zone total which effect is to optimize away many conditionals in page allocation paths. So let's configure this zone only on machines that need split zones. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit ec7e6fabbe72f1fe65eed14c106a0fbc00f6c2f1 Author: Michael Chan Date: Thu Oct 9 12:27:06 2008 -0700 bnx2: Update version to 1.8.1. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 3d16af8665504c89f9ef3aae56f54fb93e48da61 Author: Benjamin Li Date: Thu Oct 9 12:26:41 2008 -0700 bnx2: Handle DMA mapping errors. Before, the driver would not care about the return codes from pci_map_* functions. This could be potentially dangerous if a mapping failed. Now, we will check all pci_map_* calls. On the transmit side, we switch to use the new function skb_dma_map(). On the receive side, we add pci_dma_mapping_error(). Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit a1efb4b686babf38e5e63add8b990f18e38becc4 Author: Michael Chan Date: Thu Oct 9 12:24:39 2008 -0700 bnx2: Eliminate TSO header modifications. This is now possible with updated firmware. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit d5321e309c2fd1a1d534fc7bb674a1fff9f25d94 Author: Michael Chan Date: Thu Oct 9 12:22:38 2008 -0700 bnx2: Update 5706/5708 firmware. With this new firmware, the driver no longer has to modify the TCP/IP header fields when transmitting TSO packets. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9f52b564b7162ede5a73a4f4b421ccf93c55b025 Author: Michael Chan Date: Thu Oct 9 12:21:46 2008 -0700 bnx2: Check netif_running() in all ethtool operations. We need to check netif_running() state in most ethtool operations and properly handle the !netif_running() state where the chip is in an uninitailzed state or low power state that may not accept any MMIO. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 74bf4ba3d367aacbc04fef167289767f162cd730 Author: Michael Chan Date: Thu Oct 9 12:21:08 2008 -0700 bnx2: Add bnx2_shutdown_chip(). This logic is used in bnx2_close() and bnx2_suspend() and so should be separated out into a separate function. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 64194c31a0b6f5d84703b772113aafc400eeaad6 Author: Herbert Xu Date: Thu Oct 9 12:03:17 2008 -0700 inet: Make tunnel RX/TX byte counters more consistent This patch makes the RX/TX byte counters for IPIP, GRE and SIT more consistent. Previously we included the external IP headers on the way out but not when the packet is inbound. The new scheme is to count payload only in both directions. For IPIP and SIT this simply means the exclusion of the external IP header. For GRE this means that we exclude the GRE header as well. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit e1a8000228e16212c93b23cfbed4d622e2ec7a6b Author: Herbert Xu Date: Thu Oct 9 12:00:17 2008 -0700 gre: Add Transparent Ethernet Bridging This patch adds support for Ethernet over GRE encapsulation. This is exposed to user-space with a new link type of "gretap" instead of "gre". It will create an ARPHRD_ETHER device in lieu of the usual ARPHRD_IPGRE. Note that to preserver backwards compatibility all Transparent Ethernet Bridging packets are passed to an ARPHRD_IPGRE tunnel if its key matches and there is no ARPHRD_ETHER device whose key matches more closely. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit c19e654ddbe3831252f61e76a74d661e1a755530 Author: Herbert Xu Date: Thu Oct 9 11:59:55 2008 -0700 gre: Add netlink interface This patch adds a netlink interface that will eventually displace the existing ioctl interface. It utilises the elegant rtnl_link_ops mechanism. This also means that user-space no longer needs to rely on the tunnel interface being of type GRE to identify GRE tunnels. The identification can now occur using rtnl_link_ops. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 42aa916265d740d66ac1f17290366e9494c884c2 Author: Herbert Xu Date: Thu Oct 9 11:59:32 2008 -0700 gre: Move MTU setting out of ipgre_tunnel_bind_dev This patch moves the dev->mtu setting out of ipgre_tunnel_bind_dev. This is in prepartion of using rtnl_link where we'll need to make the MTU setting conditional on whether the user has supplied an MTU. This also requires the move of the ipgre_tunnel_bind_dev call out of the dev->init function so that we can access the user parameters later. This patch also adds a check to prevent setting the MTU below the minimum of 68. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit c95b819ad75b13102139aad0e7062d927be23cc6 Author: Herbert Xu Date: Thu Oct 9 11:58:54 2008 -0700 gre: Use needed_headroom Now that we have dev->needed_headroom, we can use it instead of having a bogus dev->hard_header_len. This also allows us to include dev->hard_header_len in the MTU computation so that when we do have a meaningful hard_harder_len in future it is included automatically in figuring out the MTU. Incidentally, this fixes a bug where we ignored the needed_headroom field of the underlying device in calculating our own hard_header_len. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 4f6e6b9f97b0ce98a8d1da65adbaf743bd0486a9 Author: Andrea Righi Date: Thu Sep 18 10:43:40 2008 +0000 [CPUFREQ] Fix BUG: using smp_processor_id() in preemptible code Use get_cpu()/put_cpu() in cpufreq_ondemand init routine, instead of smp_processor_id() to avoid the following BUG: [ 35.313118] BUG: using smp_processor_id() in preemptible [00000000] code=: modprobe/4952 [ 35.313132] caller is cpufreq_gov_dbs_init+0xa/0x8f [cpufreq_ondemand] [ 35.313140] Pid: 4952, comm: modprobe Not tainted 2.6.27-rc5-mm1 #23 [ 35.313145] Call Trace: [ 35.313158] [] debug_smp_processor_id+0xd7/0xe0 [ 35.313167] [] cpufreq_gov_dbs_init+0xa/0x8f [cpufreq_ondemand] [ 35.313176] [] _stext+0x3b/0x160 [ 35.313185] [] __mutex_unlock_slowpath+0xe5/0x190 [ 35.313195] [] trace_hardirqs_on_caller+0xca/0x140 [ 35.313205] [] sys_init_module+0xdc/0x210 [ 35.313212] [] system_call_fastpath+0x16/0x1b Signed-off-by: Andrea Righi Signed-off-by: Dave Jones commit c4d14bc0bb5d13e316890651ae4518b764c3344c Author: Sven Wegener Date: Sat Sep 20 16:50:08 2008 +0200 [CPUFREQ] Don't export governors for default governor We don't need to export the governors for use as the default governor, because the default governor will be built-in anyway and we can access the symbol directly. This also fixes the following sparse warnings: drivers/cpufreq/cpufreq_conservative.c:578:25: warning: symbol 'cpufreq_gov_conservative' was not declared. Should it be static? drivers/cpufreq/cpufreq_ondemand.c:582:25: warning: symbol 'cpufreq_gov_ondemand' was not declared. Should it be static? drivers/cpufreq/cpufreq_performance.c:39:25: warning: symbol 'cpufreq_gov_performance' was not declared. Should it be static? drivers/cpufreq/cpufreq_powersave.c:38:25: warning: symbol 'cpufreq_gov_powersave' was not declared. Should it be static? drivers/cpufreq/cpufreq_userspace.c:190:25: warning: symbol 'cpufreq_gov_userspace' was not declared. Should it be static? Signed-off-by: Sven Wegener Signed-off-by: Dave Jones commit 808009131046b62ac434dbc796c0fe8accaab415 Author: venkatesh.pallipadi@intel.com Date: Mon Aug 4 11:59:12 2008 -0700 [CPUFREQ][6/6] cpufreq: Add idle microaccounting in ondemand governor Use get_cpu_idle_time_us() to get micro-accounted idle information. This enables ondemand to get more accurate idle and busy timings than the jiffy based calculation. As a result, we can decrease the ondemand safety gaurd band from 80-10 to 95-3. Results in more aggressive power savings. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit 8083e4ad970e4eb567e31037060cdd4ba346f0c0 Author: venkatesh.pallipadi@intel.com Date: Mon Aug 4 11:59:11 2008 -0700 [CPUFREQ][5/6] cpufreq: Changes to get_cpu_idle_time_us(), used by ondemand governor export get_cpu_idle_time_us() for it to be used in ondemand governor. Last update time can be current time when the CPU is currently non-idle, accounting for the busy time since last idle. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit e9d95bf7eb929b9ddc9af9f4327b76c77ed4c7d6 Author: venkatesh.pallipadi@intel.com Date: Mon Aug 4 11:59:10 2008 -0700 [CPUFREQ][4/6] cpufreq_ondemand: Parameterize down differential Use a parameter for down differential, instead of hardcoded 10%. Follow-on patch changes the down-differential dynamically, based on whether we are using idle micro-accounting or not. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit 3430502d356284ff4f7782d75bb01a402fd3d45e Author: venkatesh.pallipadi@intel.com Date: Mon Aug 4 11:59:09 2008 -0700 [CPUFREQ][3/6] cpufreq: get_cpu_idle_time() changes in ondemand for idle-microaccounting Preparatory changes for doing idle micro-accounting in ondemand governor. get_cpu_idle_time() gets extra parameter and returns idle time and also the wall time that corresponds to the idle time measurement. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit c43aa3bd99a67009a167430e80c5fde6f37288d8 Author: venkatesh.pallipadi@intel.com Date: Mon Aug 4 11:59:08 2008 -0700 [CPUFREQ][2/6] cpufreq: Change load calculation in ondemand for software coordination Change the load calculation algorithm in ondemand to work well with software coordination of frequency across the dependent cpus. Multiply individual CPU utilization with the average freq of that logical CPU during the measurement interval (using getavg call). And find the max CPU utilization number in terms of CPU freq. That number is then used to get to the target freq for next sampling interval. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit bf0b90e357c883e8efd72954432efe652de74c76 Author: venkatesh.pallipadi@intel.com Date: Mon Aug 4 11:59:07 2008 -0700 [CPUFREQ][1/6] cpufreq: Add cpu number parameter to __cpufreq_driver_getavg() Add a cpu parameter to __cpufreq_driver_getavg(). This is needed for software cpufreq coordination where policy->cpu may not be same as the CPU on which we want to getavg frequency. A follow-on patch will use this parameter to getavg freq from all cpus in policy->cpus. Change since last patch. Fix the offline/online and suspend/resume oops reported by Youquan Song Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit 8217e4f4c93e5fb59bb3cd1e6135213889349f86 Author: Ben Slusky Date: Mon Jul 7 13:16:20 2008 -0400 [CPUFREQ] use deferrable delayed work init in conservative governor Venki Pallipadi made a similar change to the ondemand governor a while back (in commit 28287033e12463c8ff89f1ea8038783d0360391c). It seems to work just as well in the conservative governor, leading to fewer wakeups as reported by powertop. Signed-off-by: Ben Slusky Signed-off-by: Dave Jones commit f1829e4a371f26430185a9d5b97b8d9d19824e08 Author: Julia Lawall Date: Fri Jul 25 22:44:53 2008 +0200 [CPUFREQ] drivers/cpufreq/cpufreq.c: Adjust error handling code involving cpufreq_cpu_put After calling cpufreq_cpu_get, error handling code should call cpufreq_cpu_put. The semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r@ expression x,E; statement S; position p1,p2,p3; @@ ( if ((x = cpufreq_cpu_get@p1(...)) == NULL || ...) S | x = cpufreq_cpu_get@p1(...) ... when != x if (x == NULL || ...) S ) <... if@p3 (...) { ... when != cpufreq_cpu_put(x) when != if (x) { ... cpufreq_cpu_put(x); ...} return@p2 ...; } ...> ( return x; | return 0; | x = E | E = x | cpufreq_cpu_put(x) ) @exists@ position r.p1,r.p2,r.p3; expression x; int ret != 0; statement S; @@ * x = cpufreq_cpu_get@p1(...) <... * if@p3 (...) S ...> * return@p2 \(NULL\|ret\); // Signed-off-by: Julia Lawall Signed-off-by: Dave Jones commit 888a794cacd8950ac6be701db20b62a4ab2ce90c Author: Akinobu Mita Date: Mon Jul 14 12:00:45 2008 +0900 [CPUFREQ] add error handling for cpufreq_register_governor() error Add error handling for cpufreq_register_governor() error Signed-off-by: Akinobu Mita Cc: cpufreq@lists.linux.org.uk Signed-off-by: Dave Jones commit 847aef6ffd85787b62395b64719f8f7c5975bf1b Author: Akinobu Mita Date: Mon Jul 14 11:59:44 2008 +0900 [CPUFREQ] acpi-cpufreq: add error handling for cpufreq_register_driver() error add error handling for cpufreq_register_driver() error Signed-off-by: Akinobu Mita Cc: cpufreq@lists.linux.org.uk Signed-off-by: Dave Jones commit 8d2d2051e50c4ca0207a42b243369e22f7d90a5c Author: Paolo Ciarrocchi Date: Mon Jul 28 21:08:16 2008 +0200 [CPUFREQ] Coding style fixes to arch/x86/kernel/cpu/cpufreq/powernow-k6.c Before: total: 11 errors, 15 warnings, 255 lines checked After: total: 0 errors, 6 warnings, 254 lines checked paolo@paolo-desktop:~/linux.trees.git$ md5sum /tmp/powernow-k6.o.* 476932f5e1ffe365db9d1dfb3f860369 /tmp/powernow-k6.o.after 476932f5e1ffe365db9d1dfb3f860369 /tmp/powernow-k6.o.before Signed-off-by: Paolo Ciarrocchi Signed-off-by: Dave Jones commit 18c6faa9624bf5d9d7da3906a8a1b909dba5899b Author: Paolo Ciarrocchi Date: Mon Jul 28 13:00:49 2008 +0200 [CPUFREQ] Coding style fixes to arch/x86/kernel/cpu/cpufreq/elanfreq.c Before: total: 15 errors, 10 warnings, 308 lines checked After: total: 0 errors, 4 warnings, 308 lines checked paolo@paolo-desktop:~/linux.trees.git$ md5sum /tmp/elafreq.o.* add1d36c2f077c5aab7682e8642a9f34 /tmp/elafreq.o.after add1d36c2f077c5aab7682e8642a9f34 /tmp/elafreq.o.before paolo@paolo-desktop:~/linux.trees.git$ size /tmp/elafreq.o.* text data bss dec hex filename 934 270 4 1208 4b8 /tmp/elafreq.o.after 934 270 4 1208 4b8 /tmp/elafreq.o.before Signed-off-by: Paolo Ciarrocchi Signed-off-by: Dave Jones commit 03254e65a60d3113164672dbbadc023c4a56ecd1 Author: Trond Myklebust Date: Thu Oct 9 13:27:55 2008 -0400 NFS: Fix attribute updates This fixes a regression seen when running the Connectathon testsuite against an ext3 filesystem. The reason was that the inode was constantly being marked as 'just updated' by the jiffy wraparound test. This again meant that newer GETATTR calls were failing to pass the nfs_inode_attrs_need_update() test unless the changes caused a ctime update on the server, since they were perceived as having been started before the latest inode update. Given that nfs_inode_attrs_need_update() already checks for wraparound of nfsi->last_updated, we can drop the buggy "protection" in nfs_update_inode(). Also make a slight micro-optimisation of nfs_inode_attrs_need_update(): we are more often going to see time_after(fattr->time_start, nfsi->last_updated) be true, rather than seeing an update of ctime/size, so put that test first to ensure that we optimise away the ctime/size tests. Signed-off-by: Trond Myklebust commit ec2a5652ea53c102306f08cdf516f98e32bd4b61 Author: Lennert Buytenhek Date: Thu Oct 9 09:45:04 2008 -0700 phylib: two dynamic mii_bus allocation fallout fixes 1. arch/powerpc/platforms/pasemi/gpio_mdio.c also needs to be converted over to mdiobus_{alloc,free}(). 2. drivers/net/phy/fixed.c used to embed a struct mii_bus into its struct fixed_mdio_bus and then use container_of() to go from the former to the latter. Since mii bus structures are no longer embedded, we need to do something like use the mii bus private pointer to go from mii_bus to fixed_mdio_bus instead. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit 8e5bdc44ba82d1f75c8732c2c2b64a22bb622e8f Merge: 5a07055... 2e7509e... Author: Russell King Date: Thu Oct 9 17:21:34 2008 +0100 Merge branch 'omap2-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 into omap-all commit a5d8c3483a6e19aca95ef6a2c5890e33bfa5b293 Author: Ingo Molnar Date: Thu Oct 9 11:35:51 2008 +0200 sched debug: add name to sched_domain sysctl entries add /proc/sys/kernel/sched_domain/cpu0/domain0/name, to make it easier to see which specific scheduler domain remained at that entry. Since we process the scheduler domain tree and simplify it, it's not always immediately clear during debugging which domain came from where. depends on CONFIG_SCHED_DEBUG=y. Signed-off-by: Ingo Molnar commit eba2645aeb41d430c4601f6624c44bc971488fe2 Author: Steve Sakoman Date: Thu Oct 9 17:51:43 2008 +0300 ARM: OMAP3: Add support for the Gumstix Overo board (rev 3) This patch adds minimal overo support. Signed-off-by: Steve Sakoman Signed-off-by: Tony Lindgren commit 22b401bfa9a02650362aa376ae73fd3db7546d3c Author: Syed Mohammed, Khasim Date: Thu Oct 9 17:51:42 2008 +0300 ARM: OMAP3: Add Beagle defconfig Add Beagle defconfig Signed-off-by: Syed Mohammed, Khasim Signed-off-by: Tony Lindgren commit 2885f00049f80287b14192145699774fa55c14f7 Author: Syed Mohammed, Khasim Date: Thu Oct 9 17:51:42 2008 +0300 ARM: OMAP3: Add minimal Beagle board support Add minimal Beagle board support. Based on earlier patches by Syed Mohammed Khasim with some fixes from linux-omap tree. Signed-off-by: Syed Mohammed Khasim Signed-off-by: Tony Lindgren commit cc26b3b01bc96a8b8c36671b0dc4898b2a152ea8 Author: Syed Mohammed, Khasim Date: Thu Oct 9 17:51:41 2008 +0300 ARM: OMAP3: Add minimal omap3430 support Add minimal omap3430 support based on earlier patches from Syed Mohammed Khasim. Also merge in omap34xx SRAM support from Karthik Dasu and use consistent naming for sram init functions. Also do following changes that make 34xx support usable: - Remove unused sram.c functions for 34xx - Rename IRQ_SIR_IRQ to INTCPS_SIR_IRQ and define it locally in entry-macro.S - Update mach-omap2/io.c to support 2420, 2430, and 34xx - Also merge in 34xx GPMC changes to add fields wr_access and wr_data_mux_bus from Adrian Hunter - Remove memory initialization call omap2_init_memory() until until more generic memory initialization patches are posted. It's OK to rely on bootloader initialization until then. Signed-off-by: Syed Mohammed, Khasim Signed-off-by: Karthik Dasu Signed-off-by: Adrian Hunter Signed-off-by: Tony Lindgren commit 2e7509e5b3acc4b8653faa1966e5ac234d36ac82 Author: Paul Walmsley Date: Thu Oct 9 17:51:28 2008 +0300 ARM: OMAP2: Fix sparse, checkpatch warnings in OMAP2/3 IRQ code Fix sparse warnings in mach-omap2/irq.c. Fix by defining intc_bank_write_reg() and intc_bank_read_reg(), and convert INTC module register access to use them rather than __raw_{read,write}l. Also clear up some checkpatch warnings involving includes from asm/ rather than linux/. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit fda50a1c49ad7483eaa29a268d560422c413933f Author: Sergey Lapin Date: Fri Aug 29 15:53:24 2008 +0100 [ARM] 5239/1: Palm Zire 72 power management support This patch contains Palm Zire 72 power management support. Depends on #5238/1 Signed-off-by: Sergey Lapin Signed-off-by: Russell King commit d8aa0251f12546e9bd1e9ee1d9782d6492819a04 Author: Dmitry Baryshkov Date: Thu Oct 9 13:36:24 2008 +0100 [ARM] 5298/1: Drop desc_handle_irq() desc_handle_irq() was declared as obsolete since long ago. Replace it with generic_handle_irq() Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit eefb47f6a1e855653d275cb90592a3587ea93a09 Author: Jeremy Fitzhardinge Date: Wed Oct 8 13:01:39 2008 -0700 xen: use spin_lock_nest_lock when pinning a pagetable When pinning/unpinning a pagetable with split pte locks, we can end up holding multiple pte locks at once (we need to hold the locks while there's a pending batched hypercall affecting the pte page). Because all the pte locks are in the same lock class, lockdep thinks that we're potentially taking a lock recursively. This warning is spurious because we always take the pte locks while holding mm->page_table_lock. lockdep now has spin_lock_nest_lock to express this kind of dominant lock use, so use it here so that lockdep knows what's going on. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 45138439e171111a93273e9c0008b41ac56d0731 Author: Javier Herrero Date: Thu Oct 9 18:06:47 2008 +0800 Blackfin arch: flash memory map and dm9000 resources updating Signed-off-by: Javier Herrero Signed-off-by: Bryan Wu commit 0cfbb3234c8b18fc2a4934bed418be47c8382b72 Author: Sonic Zhang Date: Thu Oct 9 17:39:37 2008 +0800 Blackfin arch: early prink code still use uart core console functions to parse and set configure option string Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 0c0497c257c12c9ecb8825490a339bfce8a0532f Author: Mike Frysinger Date: Thu Oct 9 17:32:28 2008 +0800 Blackfin arch: Move all the silicon rev handling to one place Move all the silicon rev handling to one place (Kconfig) and make sure we warn if you are running on silicon that has not been tested on Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 664d0403f96ff5f4fb43a4b3a54b5642589c57d2 Author: Mike Frysinger Date: Thu Oct 9 17:28:36 2008 +0800 Blackfin arch: fix end address for parallel flash and increase kernel partition size to 4meg Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 8e6c81fe289e90b188203ec1db1dc2f3e992ebde Author: Andrew Victor Date: Tue Oct 7 20:44:07 2008 +0100 [ARM] 5297/1: [KS8695] Fix two compile-time warnings Fix two warnings when compiling for the KS8695 processor. arch/arm/include/asm/dma-mapping.h: In function 'dma_to_virt': arch/arm/include/asm/dma-mapping.h:40: warning: return makes pointer from integer without a cast Section mismatch in reference from the function pcibios_fixup_bus() to the (unknown reference) .devinit.text:(unknown) The function pcibios_fixup_bus() references the (unknown reference) __devinit (unknown). This is often because pcibios_fixup_bus lacks a __devinit annotation or the annotation of (unknown) is wrong. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 8d163b3fa52bb532a4d431c195352fcf356b4977 Author: Andrew Victor Date: Tue Oct 7 20:20:15 2008 +0100 [ARM] 5296/1: [KS8695] Replace macro's with trailing underscores. Replace Macro names that have trailing underscores. Also use the IOPD() macro instead of a hard-coded bit-shift (for better readability). Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 6c3fc69a173868c0a3c20bc1bba5ede463b5029c Author: Mike Frysinger Date: Thu Oct 9 17:13:39 2008 +0800 Blackfin arch: avoid using actual config name in comment avoid using actual config name in comment as a text search is done to see what files need to be rebuilt Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 1d5ff7e27d2ca30cd3f61afd353b03dd67330818 Author: Robin Getz Date: Thu Oct 9 17:06:32 2008 +0800 Blackfin arch: Fix bug - HW Errors never recover on BF548 The kernel does not properly clear the EBIU Error Master (EBIU_ERRMST) Register on BF548, which causes the kernel to panic. We need to make sure that we clear the EBIU_ERRMST (necessary on BF54x) Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 57d1b5366f46fe434e565b710baf683daff78dd8 Author: Randy Dunlap Date: Thu Oct 9 10:42:38 2008 +0200 block_dev: fix kernel-doc in new functions Fix kernel-doc in new functions: Error(mmotm-2008-1002-1617//fs/block_dev.c:895): duplicate section name 'Description' Error(mmotm-2008-1002-1617//fs/block_dev.c:924): duplicate section name 'Description' Warning(mmotm-2008-1002-1617//fs/block_dev.c:1282): No description found for parameter 'pathname' Signed-off-by: Randy Dunlap cc: Andrew Patterson Signed-off-by: Jens Axboe commit 55f2feae3a1e075d9b4b0e73a6024f3e25717878 Author: Graf Yang Date: Thu Oct 9 15:37:47 2008 +0800 Blackfin arch: correct icache size in show_cpuinfo(), let c_start() return proper pointer Signed-off-by: Graf Yang Signed-off-by: Bryan Wu commit 47664c1f86c833c4b6398885fdb2b80fc4945c6a Author: Mike Frysinger Date: Thu Oct 9 15:32:18 2008 +0800 Blackfin arch: give sys_strace proper entry markings a global _sys_trace will cause the assembler to fail, it should be fixed in toolchain side firstly. Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit f5a817e3f707759882e423060badd2f2e52b66a4 Author: Mike Frysinger Date: Thu Oct 9 15:22:56 2008 +0800 Blackfin arch: ptrace - make sure PT_ORIG_R0 and PT_ORIG_P0 offsets are declared Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit cb4c173d94e90f9d8c7b621d1a8dfc8b741874a2 Author: Mike Frysinger Date: Thu Oct 9 15:21:05 2008 +0800 Blackfin arch: use existing ptrace_disable() func to clear TRACE_BITS and create the opposite ptrace_enable() Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit d3ab3a62f57f3aaeed5a7e2ef136937ffd16448a Author: Mike Frysinger Date: Thu Oct 9 15:19:50 2008 +0800 Blackfin arch: ptrace - cleanup debug messages and style Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit dabaad5b90dec6909c984d95330f6f41c325f9a8 Author: Mike Frysinger Date: Thu Oct 9 15:17:36 2008 +0800 Blackfin arch: fix bug -- PTRACE_PEEKDATA does not seem to work which breaks umoven() in strace Don't add arbitrary offset when peeking at data Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit af5639424008ffe96f89b059bea1aec15e0115a9 Author: Jens Axboe Date: Thu Oct 9 09:01:10 2008 +0200 block: add some comments around the bio read-write flags Signed-off-by: Jens Axboe commit 6feef531f55cf4a20fd9eb39f5352e5745203603 Author: Denis ChengRq Date: Thu Oct 9 08:57:05 2008 +0200 block: mark bio_split_pool static Since all bio_split calls refer the same single bio_split_pool, the bio_split function can use bio_split_pool directly instead of the mempool_t parameter; then the mempool_t parameter can be removed from bio_split param list, and bio_split_pool is only referred in fs/bio.c file, can be marked static. Signed-off-by: Denis ChengRq Signed-off-by: Jens Axboe commit ad3316bf4eeb53c89164f759767f911072b56203 Author: Martin K. Petersen Date: Wed Oct 1 22:42:53 2008 -0400 block: Find bio sector offset given idx and offset Helper function to find the sector offset in a bio given bvec index and page offset. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit b02739b01c5309d74a59859f2ce92c931d1f1955 Author: Martin K. Petersen Date: Thu Oct 2 18:47:49 2008 +0200 block: gendisk integrity wrapper This is a wrapper for accessing a gendisk's integrity bits. It allows the integrity support in MD to be compiled with BLK_DEV_INTEGRITY off. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit ad7fce93147d32ae53d25d9ea1a8ba31a239deee Author: Martin K. Petersen Date: Wed Oct 1 03:38:39 2008 -0400 block: Switch blk_integrity_compare from bdev to gendisk The DM and MD integrity support now depends on being able to use gendisks instead of block_devices when comparing integrity profiles. Change function parameters accordingly. Also update comparison logic so that two NULL profiles are a valid configuration. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit 0c032ab889e7b20b8a5a7d09313e4aca214a15f7 Author: Martin K. Petersen Date: Wed Oct 1 03:38:38 2008 -0400 block: Fix double put in blk_integrity_unregister - kobject_del already puts the parent. - Set integrity profile to NULL to prevent stale data. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit 74aa8c2cc010035a7eef2b4ca4d6430e0dae206a Author: Martin K. Petersen Date: Wed Oct 1 03:38:37 2008 -0400 block: Introduce integrity data ownership flag A filesystem might supply its own integrity metadata. Introduce a flag that indicates whether the filesystem or the block layer owns the integrity buffer. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit b04accc425d52ca59699290661e0dfd09b0feeeb Author: Jens Axboe Date: Thu Oct 2 12:53:22 2008 +0200 block: revert part of d7533ad0e132f92e75c1b2eb7c26387b25a583c1 We need bdev_get_integrity() to support the pending md/dm patches. Signed-off-by: Jens Axboe commit 8deaf7210728c453295dc1cb2a5b66c68183ac85 Author: Alberto Bertogli Date: Thu Oct 2 12:46:53 2008 +0200 bio.h: Remove unused conditional code The whole bio_integrity() definition is inside an #ifdef CONFIG_BLK_DEV_INTEGRITY, there's no need for the conditional code. Signed-off-by: Alberto Bertogli Signed-off-by: Jens Axboe commit d00e29fd99dd63d1c51917604e35dee824ed567f Author: Kiyoshi Ueda Date: Wed Oct 1 10:14:46 2008 -0400 block: remove end_{queued|dequeued}_request() This patch removes end_queued_request() and end_dequeued_request(), which are no longer used. As a results, users of __end_request() became only end_request(). So the actual code in __end_request() is moved to end_request() and __end_request() is removed. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 99cd3386f290eaf61f2b7596d5a4cc2007771174 Author: Kiyoshi Ueda Date: Wed Oct 1 10:13:44 2008 -0400 block: change elevator to use __blk_end_request() This patch converts elevator to use __blk_end_request() directly so that end_{queued|dequeued}_request() can be removed. Related 'uptodate' arguments is converted to 'error'. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 7afb3a6e752503d5ebeb038336aa0fa886a51b44 Author: Kiyoshi Ueda Date: Wed Oct 1 10:13:02 2008 -0400 gdrom: change to use __blk_end_request() This patch converts gdrom to use __blk_end_request() directly so that end_{queued|dequeued}_request() can be removed. gd.transfer is '1' in error cases and '0' in non-error cases, so gdrom hasn't been propagating any error code to the block layer. We can just convert error cases to '-EIO'. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Cc: Adrian McMenamin Signed-off-by: Jens Axboe commit 2a9df5055a99df25533daf4041fdb99f0ed3463c Author: Kiyoshi Ueda Date: Wed Oct 1 10:12:15 2008 -0400 memstick: change to use __blk_end_request() This patch converts memstick to use __blk_end_request() directly so that end_{queued|dequeued}_request() can be removed. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Cc: Alex Dubov Signed-off-by: Jens Axboe commit 8316982ac06d7d8875dc8738efbb030791dc33bb Author: Kiyoshi Ueda Date: Wed Oct 1 10:11:20 2008 -0400 virtio_blk: change to use __blk_end_request() This patch converts virtio_blk to use __blk_end_request() directly so that end_{queued|dequeued}_request() can be removed. Related 'uptodate' argument is converted to 'error'. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Cc: Rusty Russell Signed-off-by: Jens Axboe commit 0497b345e7d067109e0dd9bf9f4978a6847ee13b Author: Jens Axboe Date: Wed Oct 1 16:16:25 2008 +0200 blktrace: use BLKTRACE_BDEV_SIZE as the name size for setup structure Define as 32, which is is what BDEVNAME_SIZE is/was as well. This keeps the user interface the same and gets rid of the difference between kernel and user api here. Signed-off-by: Jens Axboe commit ef9e3facdf1fe1228721a7c295a76d1b7a0e57ec Author: Kiyoshi Ueda Date: Wed Oct 1 16:12:15 2008 +0200 block: add lld busy state exporting interface This patch adds an new interface, blk_lld_busy(), to check lld's busy state from the block layer. blk_lld_busy() calls down into low-level drivers for the checking if the drivers set q->lld_busy_fn() using blk_queue_lld_busy(). This resolves a performance problem on request stacking devices below. Some drivers like scsi mid layer stop dispatching request when they detect busy state on its low-level device like host/target/device. It allows other requests to stay in the I/O scheduler's queue for a chance of merging. Request stacking drivers like request-based dm should follow the same logic. However, there is no generic interface for the stacked device to check if the underlying device(s) are busy. If the request stacking driver dispatches and submits requests to the busy underlying device, the requests will stay in the underlying device's queue without a chance of merging. This causes performance problem on burst I/O load. With this patch, busy state of the underlying device is exported via q->lld_busy_fn(). So the request stacking driver can check it and stop dispatching requests if busy. The underlying device driver must return the busy state appropriately: 1: when the device driver can't process requests immediately. 0: when the device driver can process requests immediately, including abnormal situations where the device driver needs to kill all requests. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Cc: Andrew Morton Signed-off-by: Jens Axboe commit 336c3d8ce771608815b65bcfa27a17a83b297328 Author: Elias Oltmanns Date: Wed Oct 1 16:02:33 2008 +0200 block: Fix blk_start_queueing() to not kick a stopped queue blk_start_queueing() should act like the generic queue unplugging and kicking and ignore a stopped queue. Such a queue may not be run until after a call to blk_start_queue(). Signed-off-by: Elias Oltmanns Signed-off-by: Jens Axboe commit c0ddffa84a7d12da9943a94d04dadbfb1883b904 Author: Sven Schuetz Date: Fri Sep 26 10:58:02 2008 +0200 include blktrace_api.h in headers_install This header file is of interest for user space programming, i.e. for tools that process blktrace data. We would like to use it for a tool on-top of blktrace which processes data provided by blktrace. For this purpose, it would be helpful if the blktrace API would make it to /usr/include/linux. The git tree for the blktrace tools comes with its own copy of this header file. I didn't manage to replace that copy with the file generated by the patch below yet. A few more cleanups would be needed. For example, the blktrace ioctl numbers, which are currently defined in usr/include/fs.h, might need to be moved. Should be feasible, though. Signed-off-by: Sven Schuetz Signed-off-by: Martin Peschke Signed-off-by: Jens Axboe commit e3ba9ae58a5599226e3976b29c8093041ae7c332 Author: Jens Axboe Date: Thu Sep 25 11:42:41 2008 +0200 block: reserve some tags just for sync IO By only allowing async IO to consume 3/4 ths of the tag depth, we always have slots free to serve sync IO. This is important to avoid having writes fill the entire tag queue, thus starving reads. Original patch and idea from Linus Torvalds Signed-off-by: Jens Axboe commit f7d7b7a7a3db6526a84ea755c1c54a051e9a52de Author: Jens Axboe Date: Thu Sep 25 11:37:50 2008 +0200 block: as/cfq ssd idle check update We really need to know about the hardware tagging support as well, since if the SSD does not do tagging then we still want to idle. Otherwise have the same dependent sync IO vs flooding async IO problem as on rotational media. Signed-off-by: Jens Axboe commit 8bff7c6b0f63c7ee9c5e3a076338d74125b8debb Author: Jens Axboe Date: Wed Sep 24 13:05:10 2008 +0200 libata: set queue SSD flag for SSD devices SSD devices should give an RPM setting of 1 in word 217 of the ID page. If we see such a device, tell the block layer about it. Signed-off-by: Jens Axboe commit a68bbddba486020c9c74825ce90c4c1ec463e0e8 Author: Jens Axboe Date: Wed Sep 24 13:03:33 2008 +0200 block: add queue flag for SSD/non-rotational devices We don't want to idle in AS/CFQ if the device doesn't have a seek penalty. So add a QUEUE_FLAG_NONROT to indicate a non-rotational device, low level drivers should set this flag upon discovery of an SSD or similar device type. Signed-off-by: Jens Axboe commit 9e49184c82e9ec3ab4d45f9ea5a17ccaf43869f0 Author: Keith Wansbrough Date: Mon Sep 22 14:57:17 2008 -0700 floppy: support arbitrary first-sector numbers The current floppy_struct allows floppies to number sectors starting from 0 or 1. This patch allows arbitrary first-sector numbers - for example, 0xC1 for Amstrad CPC disks. This extends the existing 1-bit field (FD_ZEROBASED, bit 2 of stretch) to 8 bits (FD_SECTMASK, bits 2 to 9). Currently 0x00 denotes a first sector number of 1, and 0x01 denotes a first sector number of 0. We extend this by interpreting FD_SECTMASK as the first sector number with the LSB flipped. Signed-off-by: Keith Wansbrough Cc: Alain Knaff Cc: Michael Kerrisk Cc: Karel Zak Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 061837bc8687edc2739ef02f721b7ae0b8076390 Author: Julia Lawall Date: Mon Sep 22 14:57:16 2008 -0700 drivers/block: 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: Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 905bd78f2188da69e74966918e3d71df3dff382b Author: scameron@beardog.cca.cpqcorp.net Date: Fri Sep 19 18:27:47 2008 -0700 cciss: Fix cciss SCSI rescan code to better notice device changes Fix cciss SCSI rescan code to better notice device changes. If you hot-unplug a tape drive, then hot-plug a different tape drive into the same slot in a storage enclosure, the cciss driver wouldn't notice anything had changed, as it was only looking at the LUN address and device type. Now it looks at the inquiry page 0x83 device identifier, and vendor and model strings as well. Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit 79eb014578b79fcfb9d9e7dc979d1316079220aa Author: FUJITA Tomonori Date: Thu Sep 18 09:35:28 2008 -0700 fix an example of scatterlists handling in DMA-API.txt This example isn't the proper way to handle scatterlists (can't handle sg chaining). Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 4ee5eaf4516a60f8ef64d3c246c64c6be0cf8c3a Author: Kiyoshi Ueda Date: Thu Sep 18 10:46:13 2008 -0400 block: add a queue flag for request stacking support This patch adds a queue flag to indicate the block device can be used for request stacking. Request stacking drivers need to stack their devices on top of only devices of which q->request_fn is functional. Since bio stacking drivers (e.g. md, loop) basically initialize their queue using blk_alloc_queue() and don't set q->request_fn, the check of (q->request_fn == NULL) looks enough for that purpose. However, dm will become both types of stacking driver (bio-based and request-based). And dm will always set q->request_fn even if the dm device is bio-based of which q->request_fn is not functional actually. So we need something else to distinguish the type of the device. Adding a queue flag is a solution for that. The reason why dm always sets q->request_fn is to keep the compatibility of dm user-space tools. Currently, all dm user-space tools are using bio-based dm without specifying the type of the dm device they use. To use request-based dm without changing such tools, the kernel must decide the type of the dm device automatically. The automatic type decision can't be done at the device creation time and needs to be deferred until such tools load a mapping table, since the actual type is decided by dm target type included in the mapping table. So a dm device has to be initialized using blk_init_queue() so that we can load either type of table. Then, all queue stuffs are set (e.g. q->request_fn) and we have no element to distinguish that it is bio-based or request-based, even after a table is loaded and the type of the device is decided. By the way, some stuffs of the queue (e.g. request_list, elevator) are needless when the dm device is used as bio-based. But the memory size is not so large (about 20[KB] per queue on ia64), so I hope the memory loss can be acceptable for bio-based dm users. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 82124d60354846623a4b94af335717a5e142a074 Author: Kiyoshi Ueda Date: Thu Sep 18 10:45:38 2008 -0400 block: add request submission interface This patch adds blk_insert_cloned_request(), a generic request submission interface for request stacking drivers. Request-based dm will use it to submit their clones to underlying devices. blk_rq_check_limits() is also added because it is possible that the lower queue has stronger limitations than the upper queue if multiple drivers are stacking at request-level. Not only for blk_insert_cloned_request()'s internal use, the function will be used by request-based dm when the queue limitation is modified (e.g. by replacing dm's table). Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 32fab448e5e86694beade415e750363538ea5f49 Author: Kiyoshi Ueda Date: Thu Sep 18 10:45:09 2008 -0400 block: add request update interface This patch adds blk_update_request(), which updates struct request with completing its data part, but doesn't complete the struct request itself. Though it looks like end_that_request_first() of older kernels, blk_update_request() should be used only by request stacking drivers. Request-based dm will use it in bio->bi_end_io callback to update the original request when a data part of a cloned request completes. Followings are additional background information of why request-based dm needs this interface. - Request stacking drivers can't use blk_end_request() directly from the lower driver's completion context (bio->bi_end_io or rq->end_io), because some device drivers (e.g. ide) may try to complete their request with queue lock held, and it may cause deadlock. See below for detailed description of possible deadlock: - To solve that, request-based dm offloads the completion of cloned struct request to softirq context (i.e. using blk_complete_request() from rq->end_io). - Though it is possible to use the same solution from bio->bi_end_io, it will delay the notification of bio completion to the original submitter. Also, it will cause inefficient partial completion, because the lower driver can't perform the cloned request anymore and request-based dm needs to requeue and redispatch it to the lower driver again later. That's not good. - So request-based dm needs blk_update_request() to perform the bio completion in the lower driver's completion context, which is more efficient. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit e3335de94067dbebe22e3962632ead34e832cb60 Author: Jens Axboe Date: Thu Sep 18 09:22:54 2008 -0700 block: blk_cleanup_queue() should call blk_sync_queue() When a driver calls blk_cleanup_queue(), the device should be fully idle. However, the block layer may have pending plugging timers and the IO schedulers may have pending work in the work queues. So quisce the device by waiting for the timer and flushing the work queues. Signed-off-by: Jens Axboe commit 9246b5f06deeea541e7c62437c2ad19a0b1172c0 Author: Chris Lalancette Date: Wed Sep 17 14:30:32 2008 -0700 block: Expand Xen blkfront for > 16 xvd Until recently, the maximum number of xvd block devices you could attach to a Xen domU was 16. This limitation turned out to be problematic for some users, so it was expanded to handle a much larger number of disks. However, this requires a couple of changes in the way that blkfront scans for disks. This functionality is already present in the Xen linux-2.6.18-xen.hg tree; the attached patch adds this functionality to the mainline xen-blkfront implementation. I successfully tested it on a 2.6.25 tree, and build tested it on 2.6.27-rc3. Signed-off-by: Chris Lalancette Acked-by: Jeremy Fitzhardinge Signed-off-by: Jens Axboe commit 9c02f2b02e29a2244e36c6e1f246080d8afc6cff Author: Jens Axboe Date: Thu Sep 18 09:31:53 2008 -0700 block: cleanup some of the integrity stuff in blkdev.h Don't put functions that are only used in fs/bio-integrity.c in blkdev.h, it's much cleaner to just keep it in there. Also kill completely unused bdev_get_tag_size() Signed-off-by: Jens Axboe commit 7ba1fbaa4a478f72fbaf5a56af9c82a77966b4c7 Author: Jens Axboe Date: Tue Sep 16 09:54:11 2008 -0700 block: use rq complete marking in blk_abort_request() We cannot abort a request if we raced with the timeout handler already, or with the IO completion. So make blk_abort_request() mark the request as complete, and only continue if we succeeded. Found and suggested by Mike Anderson Signed-off-by: Jens Axboe commit 581d4e28d9195aa8b2231383dbabc288988d615e Author: Jens Axboe Date: Sun Sep 14 05:56:33 2008 -0700 block: add fault injection mechanism for faking request timeouts Only works for the generic request timer handling. Allows one to sporadically ignore request completions, thus exercising the timeout handling. Signed-off-by: Jens Axboe commit 0a0d96b03a1f3bfd6bc3ea08008699e8e59fccd9 Author: Jens Axboe Date: Thu Sep 11 13:17:37 2008 +0200 block: add bio_kmalloc() Not all callers need (or want!) the mempool backing guarentee, it essentially means that you can only use bio_alloc() for short allocations and not for preallocating some bio's at setup or init time. So add bio_kmalloc() which does the same thing as bio_alloc(), except it just uses kmalloc() as the backing instead of the bio mempools. Signed-off-by: Jens Axboe commit 3e6053d76dcbd92b2f9f4ad5ece9bce83149523e Author: Hugh Dickins Date: Thu Sep 11 10:57:55 2008 +0200 block: adjust blkdev_issue_discard for swap Two mods to blkdev_issue_discard(), thinking ahead to its use on swap: 1. Add gfp_mask argument, so swap allocation can use it where GFP_KERNEL might deadlock but GFP_NOIO is safe. 2. Enlarge nr_sects argument from unsigned to sector_t: unsigned long is enough to cover a whole swap area, but sector_t suits any partition. Change sb_issue_discard()'s nr_blocks to sector_t too; but no need seen for a gfp_mask there, just pass GFP_KERNEL down to blkdev_issue_discard(). Signed-off-by: Hugh Dickins Signed-off-by: Jens Axboe commit 4677735f03f5b6b6f2182f457a921855cadfb85b Author: FUJITA Tomonori Date: Tue Sep 2 22:50:08 2008 +0900 sg: remove unnecessary blk_rq_unmap_user blk_rq_unmap_user in sg_finish_rem_req can take care of all the cases. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 0b6cb26c6686f1f24607c41f0a6d21ce54191710 Author: FUJITA Tomonori Date: Tue Sep 2 22:50:07 2008 +0900 sg: remove sg_read_xfer sg_read_xfer was used to copy data to user space for READ commands. blk_rq_unmap_user does the job so sg_read_xfer does nothing useful. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit c3919af2354fff673026dcbeac6f009d2ce5ceee Author: FUJITA Tomonori Date: Tue Sep 2 22:50:06 2008 +0900 sg: remove sg_write_xfer sg_write_xfer was used to copy data from user space for WRITE commands. blk_rq_map_user_iov and blk_rq_map_user do the job so sg_write_xfer does nothing useful. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 626710c9d665ff381c7ec666b6a023f064ca5fef Author: FUJITA Tomonori Date: Tue Sep 2 22:50:05 2008 +0900 sg: incorporate sg_build_direct into sg_start_req Calling blk_rq_map_user() at a single place is better than at different two places. It makes the code more understandable. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 44c7b0eaa041007066e30ab4869d5bbf8dad5989 Author: FUJITA Tomonori Date: Tue Sep 2 22:50:04 2008 +0900 sg: remove __sg_start_req __sg_start_req() was used temporarily to call blk_get_request() during converting sg to use the block layer. Now sg always calls blk_get_request() so we can move blk_get_request() to sg_start_req(). We don't need __sg_start_req anymore. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit fd1c1de0766844af4cfc39298e109ad273e72a9e Author: FUJITA Tomonori Date: Tue Sep 2 22:50:03 2008 +0900 sg: remove b_malloc_len in sg_scatter_hold struct It's not used for anything useful after the block layer conversion. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 7e56cb0f7e7a132803ffefa0a5a15fb2079afaf1 Author: FUJITA Tomonori Date: Tue Sep 2 22:50:02 2008 +0900 sg: remove SG_ALLOW_DIO_CODE define sg had lots of the own functions for the direct IO but now sg uses the block layer functions for it. There are only five lines for the direct IO. SG_ALLOW_DIO_CODE define was used to compile out the direct IO code but we don't need the define. If someone wants to remove the direct IO code, he can do easily without the define. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit a91a3a20e06621b9931793888583efe37db4e4e8 Author: FUJITA Tomonori Date: Tue Sep 2 22:50:01 2008 +0900 sg: rename sg_cmd_done sg_rq_end_io old sg_rq_end_io() was used to wrap sg_cmd_done during converting sg to use the block layer (in order to cover the difference scsi_execute_async and blk_execute_rq_nowait). Now we don't need it so let's remove it. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 224cb3e981f1b2f9f93dbd49eaef505d17d894c2 Author: Mike Anderson Date: Fri Aug 29 09:36:09 2008 +0200 dm: Call blk_abort_queue on failed paths Signed-off-by: Mike Anderson Signed-off-by: Jens Axboe commit 11914a53d2ec2974a565311af327b8983d8c820d Author: Mike Anderson Date: Sat Sep 13 20:31:27 2008 +0200 block: Add interface to abort queued requests Signed-off-by: Mike Anderson Signed-off-by: Jens Axboe commit 242f9dcb8ba6f68fcd217a119a7648a4f69290e9 Author: Jens Axboe Date: Sun Sep 14 05:55:09 2008 -0700 block: unify request timeout handling Right now SCSI and others do their own command timeout handling. Move those bits to the block layer. Instead of having a timer per command, we try to be a bit more clever and simply have one per-queue. This avoids the overhead of having to tear down and setup a timer for each command, so it will result in a lot less timer fiddling. Signed-off-by: Mike Anderson Signed-off-by: Jens Axboe commit 608aeef17a91747d6303de4df5e2c2e6899a95e8 Author: Andrew Patterson Date: Thu Sep 4 14:27:45 2008 -0600 Call flush_disk() after detecting an online resize. We call flush_disk() to make sure the buffer cache for the disk is flushed after a disk resize. There are two resize cases, growing and shrinking. Given that users can shrink/then grow a disk before revalidate_disk() is called, we treat the grow case identically to shrinking. We need to flush the buffer cache after an online shrink because, as James Bottomley puts it, The two use cases for shrinking I can see are 1. planned: the fs is already shrunk to within the new boundaries and all data is relocated, so invalidate is fine (any dirty buffers that might exist in the shrunk region are there only because they were relocated but not yet written to their original location). 2. unplanned: In this case, the fs is probably toast, so whether we invalidate or not isn't going to make a whole lot of difference; it's still going to try to read or write from sectors beyond the new size and get I/O errors. Immediately invalidating shrunk disks will cause errors for outstanding I/Os for reads/write beyond the new end of the disk to be generated earlier then if we waited for the normal buffer cache operation. It also removes a potential security hole where we might keep old data around from beyond the end of the shrunk disk if the disk was not invalidated. Signed-off-by: Andrew Patterson Signed-off-by: Jens Axboe commit 56ade44b46780fa291fa68b824f1dafdcb11b0ca Author: Andrew Patterson Date: Thu Sep 4 14:27:40 2008 -0600 Added flush_disk to factor out common buffer cache flushing code. We need to be able to flush the buffer cache for for more than just when a disk is changed, so we factor out common cache flush code in check_disk_change() to an internal flush_disk() routine. This routine will then be used for both disk changes and disk resizes (in a later patch). Include the disk name in the text indicating that there are busy inodes on the device and increase the KERN severity of the message. Signed-off-by: Andrew Patterson Signed-off-by: Jens Axboe commit f98a8cae12f2b2a8f9bfd7a53c990a1a405e880e Author: Andrew Patterson Date: Thu Sep 4 14:27:35 2008 -0600 SCSI sd driver calls revalidate_disk wrapper. Modify the SCSI disk driver to call the revalidate_disk() wrapper. This allows us to do some housekeeping such as accounting for a disk being resized online. The wrapper will call sd_revalidate_disk() at the appropriate time. Signed-off-by: Andrew Patterson Signed-off-by: Jens Axboe commit 9bc3ffbfbdf71fefda8a261ef8d6fdc388a29b42 Author: Andrew Patterson Date: Thu Sep 4 14:27:30 2008 -0600 Check for device resize when rescanning partitions Check for device resize in the rescan_partitions() routine. If the device has been resized, the bdev size is set to match. The rescan_partitions() routine is called when opening the device and when calling the BLKRRPART ioctl. Signed-off-by: Andrew Patterson Signed-off-by: Jens Axboe commit c3279d1454cdfed02a557d789d8a6d08ab4cbe70 Author: Andrew Patterson Date: Thu Sep 4 14:27:25 2008 -0600 Adjust block device size after an online resize of a disk. The revalidate_disk routine now checks if a disk has been resized by comparing the gendisk capacity to the bdev inode size. If they are different (usually because the disk has been resized underneath the kernel) the bdev inode size is adjusted to match the capacity. Signed-off-by: Andrew Patterson Signed-off-by: Jens Axboe commit 0c002c2f74e10baa9021d3ecc50585c6eafea568 Author: Andrew Patterson Date: Thu Sep 4 14:27:20 2008 -0600 Wrapper for lower-level revalidate_disk routines. This is a wrapper for the lower-level revalidate_disk call-backs such as sd_revalidate_disk(). It allows us to perform pre and post operations when calling them. We will use this wrapper in a later patch to adjust block device sizes after an online resize (a _post_ operation). Signed-off-by: Andrew Patterson Signed-off-by: Jens Axboe commit 243294dae09c909c0442c8f04d470b69c3c19d6e Author: Tejun Heo Date: Thu Sep 4 09:17:31 2008 +0200 block: fix duplicate headers for /proc/partitions seqf can be started multiple times for a read and the header should be printed only for the initial one. Fix it. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit fad7f01e61bf737fe8a3740d803f000db57ecac6 Author: FUJITA Tomonori Date: Tue Sep 2 16:20:20 2008 +0900 sg: set dxferp to NULL for READ with the older SG interface With the older SG interface, we don't know a user-space address to trasfer data when executing a SCSI command. So we can't pass a user-space address to blk_rq_map_user. This patch fixes sg to pass a NULL user-space address to blk_rq_map_user so that it just sets up a request and bios with page frames propely without data transfer. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 818827669d85b84241696ffef2de485db46b0b5e Author: FUJITA Tomonori Date: Tue Sep 2 16:20:19 2008 +0900 block: make blk_rq_map_user take a NULL user-space buffer This patch changes blk_rq_map_user to accept a NULL user-space buffer with a READ command if rq_map_data is not NULL. Thus a caller can pass page frames to lk_rq_map_user to just set up a request and bios with page frames propely. bio_uncopy_user (called via blk_rq_unmap_user) doesn't copy data to user space with such request. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 839e96afba87117befd39cf4e43f156edc8047a7 Author: Jens Axboe Date: Tue Sep 2 09:25:21 2008 +0200 block: update comment on end_request() It refers to functions that no longer exist after the IO completion changes. Signed-off-by: Jens Axboe commit 55dc7db70a73a3809a2334063c9b5b0d8ccebdaa Author: Tejun Heo Date: Mon Sep 1 13:44:35 2008 +0200 init: DEBUG_BLOCK_EXT_DEVT requires explicit root= param DEBUG_BLOCK_EXT_DEVT shuffles SCSI and IDE device numbers and root device number set using rdev become meaningless. Root devices should be explicitly specified using textual names. Warn about it if root can't be found and DEBUG_BLOCK_EXT_DEVT is enabled. Also, add warning to the help text. Signed-off-by: Tejun Heo Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Jens Axboe commit 2bbedcb4c1abac498f18e5770d62ae66ff235ada Author: Tejun Heo Date: Fri Aug 29 11:41:51 2008 +0200 block: don't test for partition size in bdget_disk() and blk_lookup_devt() bdget_disk() and blk_lookup_devt() never cared whether the specified partition (or disk) is zero sized or not. I got confused while converting those not to depend on consecutive minor numbers in commit 5a6411b1178baf534aa9138052864dfa89d3eada and later when dev0 was added it broke callers which expected to get valid return for zero sized disk devices. So, they never needed nr_sects checks in the first place. Kill them. This problem was spotted and debugged by Bartlmoiej Zolnierkiewicz. Signed-off-by: Tejun Heo Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Jens Axboe commit 759f8ca3048f7438aa3129268d7252552505d662 Author: Jens Axboe Date: Fri Aug 29 09:06:29 2008 +0200 Change default value of CONFIG_DEBUG_BLOCK_EXT_DEVT to 'n' It's a debug option that you would explicitly enable to test this feature, we should default it to 'n' to prevent accidental surprises for now. Signed-off-by: Jens Axboe commit aeb3d3a81e81c6323a17fe914e91eb228b3f1aa1 Author: Harvey Harrison Date: Thu Aug 28 09:27:42 2008 +0200 block: kmalloc args reversed, small function definition fixes Noticed by sparse: block/blk-softirq.c:156:12: warning: symbol 'blk_softirq_init' was not declared. Should it be static? block/genhd.c:583:28: warning: function 'bdget_disk' with external linkage has definition block/genhd.c:659:17: warning: incorrect type in argument 1 (different base types) block/genhd.c:659:17: expected unsigned int [unsigned] [usertype] size block/genhd.c:659:17: got restricted gfp_t block/genhd.c:659:29: warning: incorrect type in argument 2 (different base types) block/genhd.c:659:29: expected restricted gfp_t [usertype] flags block/genhd.c:659:29: got unsigned int block: kmalloc args reversed Signed-off-by: Harvey Harrison Signed-off-by: Jens Axboe commit 01cfcddd98f09e05a2e36031654ed46643b76f23 Author: FUJITA Tomonori Date: Thu Aug 28 15:05:59 2008 +0900 sg: use blk_rq_aligned helper function Signed-off-by: FUJITA Tomonori Cc: Douglas Gilbert Cc: Jens Axboe Signed-off-by: Jens Axboe commit 879040742cf09f2360a9ac41846288707e4e567c Author: FUJITA Tomonori Date: Thu Aug 28 15:05:58 2008 +0900 block: add blk_rq_aligned helper function This adds blk_rq_aligned helper function to see if alignment and padding requirement is satisfied for DMA transfer. This also converts blk_rq_map_kern and __blk_rq_map_user to use the helper function. Signed-off-by: FUJITA Tomonori Cc: Jens Axboe Signed-off-by: Jens Axboe commit 4d8ab62e087d9300883b82c2662e73e6eef803a3 Author: FUJITA Tomonori Date: Thu Aug 28 15:05:57 2008 +0900 bio: convert bio_copy_kern to use bio_copy_user bio_copy_kern and bio_copy_user are very similar. This converts bio_copy_kern to use bio_copy_user. Signed-off-by: FUJITA Tomonori Cc: Jens Axboe Signed-off-by: Jens Axboe commit 10db10d144c0248f285242f79daf6b9de6b00a62 Author: FUJITA Tomonori Date: Fri Aug 29 12:32:18 2008 +0200 sg: convert the indirect IO path to use the block layer This patch converts the indirect IO path (including mmap IO and old struct sg_header) to use the block layer functions (blk_get_request, blk_execute_rq_nowait, blk_rq_map_user, etc) instead of scsi_execute_async(). [Jens: fixed compile error with SCSI logging enabled] Signed-off-by: FUJITA Tomonori Signed-off-by: Douglas Gilbert Cc: Mike Christie Cc: James Bottomley Signed-off-by: Jens Axboe commit 6e5a30cba5e7c03b2cd564e968f1dd667a0f7c42 Author: FUJITA Tomonori Date: Thu Aug 28 16:17:08 2008 +0900 sg: convert the direct IO path to use the block layer This patch converts the direct IO path (SG_FLAG_DIRECT_IO) to use the block layer functions (blk_get_request, blk_execute_rq_nowait, blk_rq_map_user, etc) instead of scsi_execute_async(). Signed-off-by: FUJITA Tomonori Signed-off-by: Douglas Gilbert Cc: Mike Christie Cc: James Bottomley Signed-off-by: Jens Axboe commit 10865dfa34e7552c4c64606edcdf1e21a110c985 Author: FUJITA Tomonori Date: Thu Aug 28 16:17:07 2008 +0900 sg: convert the non-data path to use the block layer This patch converts the non data path to use the block layer functions (blk_get_request, blk_execute_rq_nowait, etc) instead of uses scsi_execute_async(). Signed-off-by: FUJITA Tomonori Signed-off-by: Douglas Gilbert Cc: Mike Christie Cc: James Bottomley Signed-off-by: Jens Axboe commit 152e283fdfea0cd11e297d982378b55937842dde Author: FUJITA Tomonori Date: Thu Aug 28 16:17:06 2008 +0900 block: introduce struct rq_map_data to use reserved pages This patch introduces struct rq_map_data to enable bio_copy_use_iov() use reserved pages. Currently, bio_copy_user_iov allocates bounce pages but drivers/scsi/sg.c wants to allocate pages by itself and use them. struct rq_map_data can be used to pass allocated pages to bio_copy_user_iov. The current users of bio_copy_user_iov simply passes NULL (they don't want to use pre-allocated pages). Signed-off-by: FUJITA Tomonori Cc: Jens Axboe Cc: Douglas Gilbert Cc: Mike Christie Cc: James Bottomley Signed-off-by: Jens Axboe commit a3bce90edd8f6cafe3f63b1a943800792e830178 Author: FUJITA Tomonori Date: Thu Aug 28 16:17:05 2008 +0900 block: add gfp_mask argument to blk_rq_map_user and blk_rq_map_user_iov Currently, blk_rq_map_user and blk_rq_map_user_iov always do GFP_KERNEL allocation. This adds gfp_mask argument to blk_rq_map_user and blk_rq_map_user_iov so sg can use it (sg always does GFP_ATOMIC allocation). Signed-off-by: FUJITA Tomonori Signed-off-by: Douglas Gilbert Cc: Mike Christie Cc: James Bottomley Signed-off-by: Jens Axboe commit 45333d5a31296d0af886d94f1d08f128231cab8e Author: Aaron Carroll Date: Tue Aug 26 15:52:36 2008 +0200 cfq-iosched: fix queue depth detection CFQ's detection of queueing devices assumes a non-queuing device and detects if the queue depth reaches a certain threshold. Under some workloads (e.g. synchronous reads), CFQ effectively forces a unit queue depth, thus defeating the detection logic. This leads to poor performance on queuing hardware, since the idle window remains enabled. This patch inverts the sense of the logic: assume a queuing-capable device, and detect if the depth does not exceed the threshold. Signed-off-by: Aaron Carroll Signed-off-by: Jens Axboe commit 605401618ce4409045bc4db86e88d4b38f2ad585 Author: Jens Axboe Date: Tue Aug 26 13:34:34 2008 +0200 block: don't use bio_has_data() in the completion path We should just check for rq->bio, as that is really the information we are looking for. Even if the bio attached doesn't carry data, we still need to do IO post processing on it. Signed-off-by: Jens Axboe commit ab780f1ece0dc8d5e8e8e85435acc5e4747ccda3 Author: Jens Axboe Date: Tue Aug 26 10:25:02 2008 +0200 block: inherit CPU completion on bio->rq and rq->rq merges Somewhat incomplete, as we do allow merges of requests and bios that have different completion CPUs given. This is done on the assumption that a larger IO is still more beneficial than CPU locality. Signed-off-by: Jens Axboe commit c7c22e4d5c1fdebfac4dba76de7d0338c2b0d832 Author: Jens Axboe Date: Sat Sep 13 20:26:01 2008 +0200 block: add support for IO CPU affinity This patch adds support for controlling the IO completion CPU of either all requests on a queue, or on a per-request basis. We export a sysfs variable (rq_affinity) which, if set, migrates completions of requests to the CPU that originally submitted it. A bio helper (bio_set_completion_cpu()) is also added, so that queuers can ask for completion on that specific CPU. In testing, this has been show to cut the system time by as much as 20-40% on synthetic workloads where CPU affinity is desired. This requires a little help from the architecture, so it'll only work as designed for archs that are using the new generic smp helper infrastructure. Signed-off-by: Jens Axboe commit 18887ad910e56066233a07fd3cfb2fa11338b782 Author: Jens Axboe Date: Mon Jul 28 13:08:45 2008 +0200 block: make kblockd_schedule_work() take the queue as parameter Preparatory patch for checking queuing affinity. Signed-off-by: Jens Axboe commit b646fc59b332ef307895558c9cd1359dc2d25813 Author: Jens Axboe Date: Mon Jul 28 13:06:00 2008 +0200 block: split softirq handling into blk-softirq.c Signed-off-by: Jens Axboe commit 0835da67c11e879ed5dc23160934d8970470a2ce Author: Jens Axboe Date: Tue Aug 26 09:15:47 2008 +0200 block: use linux/uaccess.h in elevator.c instead of asm variant Signed-off-by: Jens Axboe commit 3e1a7ff8a0a7b948f2684930166954f9e8e776fe Author: Tejun Heo Date: Mon Aug 25 19:56:17 2008 +0900 block: allow disk to have extended device number Now that disk and partition handlings are mostly unified, it's easy to allow disk to have extended device number. This patch makes add_disk() use extended device number if disk->minors is zero. Both sd and ide-disk are updated to use this. * sd_format_disk_name() is implemented which can generically determine the drive name. This removes disk number restriction stemming from limited device names. * If sd index goes over SD_MAX_DISKS (which can be increased now BTW), sd simply doesn't initialize minors letting block layer choose extended device number. * If CONFIG_DEBUG_EXT_DEVT is set, both sd and ide-disk always set minors to 0 and use extended device numbers. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 689d6fac40b41c7bf154f362deaf442548e4dc81 Author: Tejun Heo Date: Mon Aug 25 19:56:16 2008 +0900 block: replace @ext_minors with GENHD_FL_EXT_DEVT With previous changes, it's meaningless to limit the number of partitions. Replace @ext_minors with GENHD_FL_EXT_DEVT such that setting the flag allows the disk to have maximum number of allowed partitions (only limited by the number of entries in parsed_partitions as determined by MAX_PART constant). This kills not-too-pretty alloc_disk_ext[_node]() functions and makes @minors parameter to alloc_disk[_node]() unnecessary. The parameter is left alone to avoid disturbing the users. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 540eed5637b766bb1e881ef744c42617760b4815 Author: Tejun Heo Date: Mon Aug 25 19:56:15 2008 +0900 block: make partition array dynamic disk->__part used to be statically allocated to the maximum possible number of partitions. This patch makes partition array allocation dynamic. The added overhead is minimal as only real change is one memory dereference changed to RCU one. This saves both a bit of memory and cpu cycles iterating through unoccupied slots and makes increasing partition limit easier. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 074a7aca7afa6f230104e8e65eba3420263714a5 Author: Tejun Heo Date: Mon Aug 25 19:56:14 2008 +0900 block: move stats from disk to part0 Move stats related fields - stamp, in_flight, dkstats - from disk to part0 and unify stat handling such that... * part_stat_*() now updates part0 together if the specified partition is not part0. ie. part_stat_*() are now essentially all_stat_*(). * {disk|all}_stat_*() are gone. * part_round_stats() is updated similary. It handles part0 stats automatically and disk_round_stats() is killed. * part_{inc|dec}_in_fligh() is implemented which automatically updates part0 stats for parts other than part0. * disk_map_sector_rcu() is updated to return part0 if no part matches. Combined with the above changes, this makes NULL special case handling in callers unnecessary. * Separate stats show code paths for disk are collapsed into part stats show code paths. * Rename disk_stat_lock/unlock() to part_stat_lock/unlock() While at it, reposition stat handling macros a bit and add missing parentheses around macro parameters. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit eddb2e26b5ee3c5da68ba4bf1921ba20e2097bff Author: Tejun Heo Date: Mon Aug 25 19:56:13 2008 +0900 block: kill GENHD_FL_FAIL and use part0->make_it_fail GENHD_FL_FAIL for disk is what make_it_fail is for parts. Kill it and use part0->make_it_fail. Sysfs node handling is unified too. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 0762b8bde9729f10f8e6249809660ff2ec3ad735 Author: Tejun Heo Date: Mon Aug 25 19:56:12 2008 +0900 block: always set bdev->bd_part Till now, bdev->bd_part is set only if the bdev was for parts other than part0. This patch makes bdev->bd_part always set so that code paths don't have to differenciate common handling. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 4c46501d1659475dc6c89554af6ce7fe6ecf615c Author: Tejun Heo Date: Mon Aug 25 19:56:11 2008 +0900 block: move holder_dir from disk to part0 Move disk->holder_dir to part0->holder_dir. Kill now mostly superflous bdev_get_holder(). While at it, kill superflous kobject_get/put() around holder_dir, slave_dir and cmd_filter creation and collapse disk_sysfs_add_subdirs() into register_disk(). These serve no purpose but obfuscating the code. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit b7db9956e57c8151b930d5e5fe5c766e6aad3ff7 Author: Tejun Heo Date: Mon Aug 25 19:56:10 2008 +0900 block: move policy from disk to part0 Move disk->policy to part0->policy. Implement and use get_disk_ro(). Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit e56105214943ce5f0901d20e972a7cfd0d1d0656 Author: Tejun Heo Date: Mon Aug 25 19:56:09 2008 +0900 block: unify sysfs size node handling Now that capacity and __dev are moved to part0, part0 and others can share the same method. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 548b10eb2959c96cef6fc29fc96e0931eeb53bc5 Author: Tejun Heo Date: Fri Aug 29 09:01:47 2008 +0200 block: move __dev from disk to part0 Move disk->__dev to part0->__dev. This simplifies bdget_disk() and lookup_devt() and allows common sysfs attributes to be unified. part_to_disk() is updated to handle part0 -> disk. Updated to include a fix from Bartlomiej Zolnierkiewicz , he writes: "part0 is a "special" partition and doesn't need to have capacity set - this fixes regression caused by "block: move __dev from disk to part0" commit." Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 80795aefb76d10c5d698e60c7e7750b5330787da Author: Tejun Heo Date: Mon Aug 25 19:56:07 2008 +0900 block: move capacity from disk to part0 Move disk->capacity to part0->nr_sects and convert all users who directly accessed the field to use {get|set}_capacity(). This is done early to allow the __dev field to be moved. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit b5d0b9df0ba5d9a044f3a21e7544f53d90bd1465 Author: Tejun Heo Date: Wed Sep 3 09:06:42 2008 +0200 block: introduce partition 0 genhd and partition code handled disk and partitions separately. All information about the whole disk was in struct genhd and partitions in struct hd_struct. However, the whole disk (part0) and other partitions have a lot in common and the data structures end up having good number of common fields and thus separate code paths doing the same thing. Also, the partition array was indexed by partno - 1 which gets pretty confusing at times. This patch introduces partition 0 and makes the partition array indexed by partno. Following patches will unify the handling of disk and parts piece-by-piece. This patch also implements disk_partitionable() which tests whether a disk is partitionable. With coming dynamic partition array change, the most common usage of disk_max_parts() will be testing whether a disk is partitionable and the number of max partitions will become much less important. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit ed9e1982347b36573cd622ee5f4e2a7ccd79b3fd Author: Tejun Heo Date: Mon Aug 25 19:56:05 2008 +0900 block: implement and use {disk|part}_to_dev() Implement {disk|part}_to_dev() and use them to access generic device instead of directly dereferencing {disk|part}->dev. To make sure no user is left behind, rename generic devices fields to __dev. This is in preparation of unifying partition 0 handling with other partitions. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 870d6656126add8e383645732b03df2b7ccd4f94 Author: Tejun Heo Date: Mon Aug 25 19:47:25 2008 +0900 block: implement CONFIG_DEBUG_BLOCK_EXT_DEVT Extended devt introduces non-contiguos device numbers. This patch implements a debug option which forces most devt allocations to be from the extended area and spreads them out. This is enabled by default if DEBUG_KERNEL is set and achieves... 1. Detects code paths in kernel or userland which expect predetermined consecutive device numbers. 2. When something goes wrong, avoid corruption as adding to the minor of earlier partition won't lead to the wrong but valid device. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit f615b48cc7df7cac3865ec76ac1a5bb04d3e07f4 Author: Tejun Heo Date: Mon Aug 25 19:47:24 2008 +0900 sd/ide-disk: apply extended minors to sd and ide Update sd and ide-disk such that they can take advantage of extended minors. ide-disk already has 64 minors per device and currently doesn't use extended minors although after this patch it can be turned on by simply tweaking constants. sd only had 16 minors per device causing problems on certain peculiar configurations. This patch lifts the restriction and enables it to use upto 64 minors. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 1f0142905d4812966831613847db38a66da29eb8 Author: Tejun Heo Date: Mon Aug 25 19:47:23 2008 +0900 block: adjust formatting for large minors and add ext_range sysfs attr With extended minors and the soon-to-follow debug feature, large minor numbers for block devices will be common. This patch does the followings to make printouts pretty. * Adapt print formats such that large minors don't break the formatting. * For extended MAJ:MIN, %02x%02x for MAJ:MIN used in printk_all_partitions() doesn't cut it anymore. Update it such that %03x:%05x is used if either MAJ or MIN doesn't fit in %02x. * Implement ext_range sysfs attribute which shows total minors the device can use including both conventional minor space and the extended one. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit bcce3de1be61e424deef35d1e86e86a35c4b6e65 Author: Tejun Heo Date: Mon Aug 25 19:47:22 2008 +0900 block: implement extended dev numbers Implement extended device numbers. A block driver can tell block layer that it wants to use extended device numbers. After the usual minor space is used up, block layer automatically allocates devt's from EXT_BLOCK_MAJOR. Currently only one major number is allocated for this but as the allocation is strictly on-demand, ~1mil minor space under it should suffice unless the system actually has more than ~1mil partitions and if that ever happens adding more majors to the extended devt area is easy. Due to internal implementation issues, the first partition can't be allocated on the extended area. In other words, genhd->minors should at least be 1. This limitation will be lifted by later changes. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit c9959059161ddd7bf4670cf47367033d6b2f79c4 Author: Tejun Heo Date: Mon Aug 25 19:47:21 2008 +0900 block: fix diskstats access There are two variants of stat functions - ones prefixed with double underbars which don't care about preemption and ones without which disable preemption before manipulating per-cpu counters. It's unclear whether the underbarred ones assume that preemtion is disabled on entry as some callers don't do that. This patch unifies diskstats access by implementing disk_stat_lock() and disk_stat_unlock() which take care of both RCU (for partition access) and preemption (for per-cpu counter access). diskstats access should always be enclosed between the two functions. As such, there's no need for the versions which disables preemption. They're removed and double underbars ones are renamed to drop the underbars. As an extra argument is added, there's no danger of using the old version unconverted. disk_stat_lock() uses get_cpu() and returns the cpu index and all diskstat functions which access per-cpu counters now has @cpu argument to help RT. This change adds RCU or preemption operations at some places but also collapses several preemption ops into one at others. Overall, the performance difference should be negligible as all involved ops are very lightweight per-cpu ones. Signed-off-by: Tejun Heo Cc: Peter Zijlstra Signed-off-by: Jens Axboe commit e71bf0d0ee89e51b92776391c5634938236977d5 Author: Tejun Heo Date: Wed Sep 3 09:03:02 2008 +0200 block: fix disk->part[] dereferencing race disk->part[] is protected by its matching bdev's lock. However, non-critical accesses like collecting stats and printing out sysfs and proc information used to be performed without any locking. As partitions can come and go dynamically, partitions can go away underneath those non-critical accesses. As some of those accesses are writes, this theoretically can lead to silent corruption. This patch fixes the race by using RCU for the partition array and dev reference counter to hold partitions. * Rename disk->part[] to disk->__part[] to make sure no one outside genhd layer proper accesses it directly. * Use RCU for disk->__part[] dereferencing. * Implement disk_{get|put}_part() which can be used to get and put partitions from gendisk respectively. * Iterators are implemented to help iterate through all partitions safely. * Functions which require RCU readlock are marked with _rcu suffix. * Use disk_put_part() in __blkdev_put() instead of directly putting the contained kobject. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit f331c0296f2a9fee0d396a70598b954062603015 Author: Tejun Heo Date: Wed Sep 3 09:01:48 2008 +0200 block: don't depend on consecutive minor space * Implement disk_devt() and part_devt() and use them to directly access devt instead of computing it from ->major and ->first_minor. Note that all references to ->major and ->first_minor outside of block layer is used to determine devt of the disk (the part0) and as ->major and ->first_minor will continue to represent devt for the disk, converting these users aren't strictly necessary. However, convert them for consistency. * Implement disk_max_parts() to avoid directly deferencing genhd->minors. * Update bdget_disk() such that it doesn't assume consecutive minor space. * Move devt computation from register_disk() to add_disk() and make it the only one (all other usages use the initially determined value). These changes clean up the code and will help disk->part dereference fix and extended block device numbers. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit cf771cb5a7b716f3f9e532fd42a1e3a0a75adec5 Author: Tejun Heo Date: Wed Sep 3 09:01:09 2008 +0200 block: make variable and argument names more consistent In hd_struct, @partno is used to denote partition number and a number of other places use @part to denote hd_struct. Functions use @part and @index instead. This causes confusion and makes it difficult to use consistent variable names for hd_struct. Always use @partno if a variable represents partition number. Also, print out functions use @f or @part for seq_file argument. Use @seqf uniformly instead. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 310a2c1012934f590192377f65940cad4aa72b15 Author: Tejun Heo Date: Mon Aug 25 19:47:17 2008 +0900 block: misc updates This patch makes the following misc updates in preparation for disk->part dereference fix and extended block devt support. * implment part_to_disk() * fix comment about gendisk->part indexing * rename get_part() to disk_map_sector() * don't use n which is always zero while printing disk information in diskstats_show() Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 88e341261ca4d39eec21b212961c77eff51105f7 Author: Tejun Heo Date: Mon Aug 25 19:30:16 2008 +0900 block: update add_partition() error handling d805dda4 tried to fix error case handling in add_partition() but had a few problems. * disk->part[] entry is set early and left dangling if operation fails. * Once device initialized, the last put_device() is responsible for freeing all the resources. The failure path freed part_stats and p regardless of put_device() causing double free. * holders subdir holds reference to the disk device, so failure path should remove it to release resources properly which was missing. This patch fixes the above problems and while at it move partition slot busy check into add_partition() for completeness and inlines holders subdirectory creation. Using separate function for it just obfuscates the code. Signed-off-by: Tejun Heo Cc: Abdel Benamrouche Signed-off-by: Jens Axboe commit ec2cdedf798385a9397ac50dd0405dd658f8529c Author: Tejun Heo Date: Mon Aug 25 19:30:15 2008 +0900 block: allow deleting zero length partition delete_partition() was noop for zero length partition. As the addition code allows creating zero lenght partition and deletion is assumed to always succeed, this causes memory leak for zero length partitions. Allow zero length partitions to end their meaningless lives. While at it, allow deleting zero lenght partition via BLKPG_DEL_PARTITION ioctl too. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit def4e38ddda9bef20b69bfa939195c2f79da7979 Author: Tejun Heo Date: Wed Sep 3 08:57:12 2008 +0200 block: use class_dev_iterator instead of class_for_each_device() Recent block_class iteration updates 5c6f35c5..27f3025 converted all class device iteration to class_for_each_device() and class_find_device(), which are correct but pain in the ass to use. This pach converts them to newly introduced class_dev_iterator so that they can use more natural control structures instead of separate callbacks and struct to pass parameters to them. This results in smaller and easier code. This patch also restores the original behavior of not printing header in /proc/partitions if there's no partition to print. This is trivial but still user-visible behavior. Signed-off-by: Tejun Heo Cc: Greg Kroah-Hartman Signed-off-by: Jens Axboe commit 2ac3cee5298a247b2774f3319b28a05f588c3f0e Author: Tejun Heo Date: Wed Sep 3 08:53:37 2008 +0200 block: don't grab block_class_lock unnecessarily block_class_lock protects major_names array and bdev_map and doesn't have anything to do with block class devices. Don't grab them while iterating over block class devices. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit ac65ece4eee10b03ac29ee925cadc179dc810bab Author: Tejun Heo Date: Mon Aug 25 19:30:12 2008 +0900 block: fix partition info printouts Recent block_class iteration updates 5c6f35c5..27f3025 broke partition info printouts. * printk_all_partitions(): Partition print out stops when it meets a partition hole. Partition printing inner loop should continue instead of exiting on empty partition slot. * /proc/partitions and /proc/diskstats: If all information can't be read in single read(), the information is truncated. This is because find_start() doesn't actually update the counter containing the initial seek. It runs to the end and ends up always reporting EOF on the second read. This patch fixes both problems. Signed-off-by: Tejun Heo Cc: Greg Kroah-Hartman Signed-off-by: Jens Axboe commit 5a3ceb861663040f9ef0176df4aaa494bba5e352 Author: Tejun Heo Date: Mon Aug 25 19:50:19 2008 +0200 driver-core: use klist for class device list and implement iterator Iterating over entries using callback usually isn't too fun especially when the entry being iterated over can't be manipulated freely. This patch converts class->p->class_devices to klist and implements class device iterator so that the users can freely build their own control structure. The users are also free to call back into class code without worrying about locking. class_for_each_device() and class_find_device() are converted to use the new iterators, so their users don't have to worry about locking anymore either. Note: This depends on klist-dont-iterate-over-deleted-entries patch because class_intf->add/remove_dev() depends on proper synchronization with device removal. Signed-off-by: Tejun Heo Cc: Greg Kroah-Hartman Cc: Jens Axboe Signed-off-by: Jens Axboe commit a1ed5b0cffe4b16a93a6a3390e8cee0fbef94f86 Author: Tejun Heo Date: Mon Aug 25 19:50:16 2008 +0200 klist: don't iterate over deleted entries A klist entry is kept on the list till all its current iterations are finished; however, a new iteration after deletion also iterates over deleted entries as long as their reference count stays above zero. This causes problems for cases where there are users which iterate over the list while synchronized against list manipulations and natuarally expect already deleted entries to not show up during iteration. This patch implements dead flag which gets set on deletion so that iteration can skip already deleted entries. The dead flag piggy backs on the lowest bit of knode->n_klist and only visible to klist implementation proper. While at it, drop klist_iter->i_head as it's redundant and doesn't offer anything in semantics or performance wise as klist_iter->i_klist is dereferenced on every iteration anyway. Signed-off-by: Tejun Heo Cc: Greg Kroah-Hartman Cc: Alan Stern Cc: Jens Axboe Signed-off-by: Jens Axboe commit 710027a48ede75428cc68eaa8ae2269b1e356e2c Author: Randy Dunlap Date: Tue Aug 19 20:13:11 2008 +0200 Add some block/ source files to the kernel-api docbook. Fix kernel-doc notation in them as needed. Fix changed function parameter names. Fix typos/spellos. In comments, change REQ_SPECIAL to REQ_TYPE_SPECIAL and REQ_BLOCK_PC to REQ_TYPE_BLOCK_PC. Signed-off-by: Randy Dunlap Signed-off-by: Jens Axboe commit 5b99c2ffa980528a197f26c7d876cceeccce8dd5 Author: Jens Axboe Date: Fri Aug 15 10:56:11 2008 +0200 block: make bi_phys_segments an unsigned int instead of short raid5 can overflow with more than 255 stripes, and we can increase it to an int for free on both 32 and 64-bit archs due to the padding. Signed-off-by: Jens Axboe commit 960e739d9e9f1c2346d8bdc65299ee2e1ed42218 Author: Jens Axboe Date: Fri Aug 15 10:41:18 2008 +0200 block: raid fixups for removal of bi_hw_segments Signed-off-by: Jens Axboe commit 5df97b91b5d7ed426034fcc84cb6e7cf682b8838 Author: Mikulas Patocka Date: Fri Aug 15 10:20:02 2008 +0200 drop vmerge accounting Remove hw_segments field from struct bio and struct request. Without virtual merge accounting they have no purpose. Signed-off-by: Mikulas Patocka Signed-off-by: Jens Axboe commit b8b3e16cfe6435d961f6aaebcfd52a1ff2a988c5 Author: Mikulas Patocka Date: Fri Aug 15 10:15:19 2008 +0200 block: drop virtual merging accounting Remove virtual merge accounting. Signed-off-by: Mikulas Patocka Signed-off-by: Jens Axboe commit 6a421c1dc94b12923294a359822346f12492de5e Author: Aaron Carroll Date: Thu Aug 14 18:17:15 2008 +1000 block: update documentation for deadline fifo_batch tunable Update the description of fifo_batch to match the current implementation, and include a description of how to tune it. Signed-off-by: Aaron Carroll Signed-off-by: Jens Axboe commit 4fb72f7646e86874eb2798256eaa6bf3fbe4edcf Author: Aaron Carroll Date: Thu Aug 14 18:17:14 2008 +1000 deadline-iosched: non-functional fixes * convert goto to simpler while loop; * use rq_end_sector() instead of computing manually; * fix false comments; * remove spurious whitespace; * convert rq_rb_root macro to an inline function. Signed-off-by: Aaron Carroll Signed-off-by: Jens Axboe commit 63de428b139d3d31d86ebe25ae97b33f6540fb7e Author: Aaron Carroll Date: Thu Aug 14 18:17:13 2008 +1000 deadline-iosched: allow non-sequential batching Deadline currently only batches sector-contiguous requests, so except for a few circumstances (e.g. requests in a single direction), it is essentially first come first served. This is bad for throughput, so change it to CSCAN, which means requests in a batch do not need to be sequential and are issued in increasing sector order. Signed-off-by: Aaron Carroll Signed-off-by: Jens Axboe commit 766ca4428d1239a970926856c447310c9c191af2 Author: Fernando Luis Vázquez Cao Date: Thu Aug 14 09:59:13 2008 +0200 virtio_blk: use a wrapper function to access io context information of IO requests struct request has an ioprio member but it is never updated because currently bios do not hold io context information. The implication of this is that virtio_blk ends up passing useless information to the backend driver. That said, some IO schedulers such as CFQ do store io context information in struct request, but use private members for that, which means that that information cannot be directly accessed in a IO scheduler-independent way. This patch adds a function to obtain the ioprio of a request. We should avoid accessing ioprio directly and use this function instead, so that its users do not have to care about future changes in block layer structures or what the currently active IO controller is. This patch does not introduce any functional changes but paves the way for future clean-ups and enhancements. Signed-off-by: Fernando Luis Vazquez Cao Acked-by: Rusty Russell Signed-off-by: Jens Axboe commit 1a8e2bddd5c29008f311613e75925fecbf522c5b Author: David Woodhouse Date: Wed Aug 13 12:35:09 2008 +0100 Kill REQ_TYPE_FLUSH It was only used by ps3disk, and it should probably have been REQ_TYPE_LINUX_BLOCK + REQ_LB_OP_FLUSH. Signed-off-by: David Woodhouse Signed-off-by: Jens Axboe commit e17fc0a1ccf88f6d4dcb363729f3141b0958c325 Author: David Woodhouse Date: Sat Aug 9 16:42:20 2008 +0100 Allow elevators to sort/merge discard requests But blkdev_issue_discard() still emits requests which are interpreted as soft barriers, because naïve callers might otherwise issue subsequent writes to those same sectors, which might cross on the queue (if they're reallocated quickly enough). Callers still _can_ issue non-barrier discard requests, but they have to take care of queue ordering for themselves. Signed-off-by: David Woodhouse Signed-off-by: Jens Axboe commit d30a2605be9d5132d95944916e8f578fcfe4f976 Author: David Woodhouse Date: Mon Aug 11 15:58:42 2008 +0100 Add BLKDISCARD ioctl to allow userspace to discard sectors We may well want mkfs tools to use this to mark the whole device as unwanted before they format it, for example. The ioctl takes a pair of uint64_ts, which are start offset and length in _bytes_. Although at the moment it might make sense for them both to be in 512-byte sectors, I don't want to limit the ABI to that. Signed-off-by: David Woodhouse Signed-off-by: Jens Axboe commit 2ebca85abcfcbaaf1c0b242e39fc88ad3da90090 Author: OGAWA Hirofumi Date: Mon Aug 11 17:07:08 2008 +0100 Use WRITE_BARRIER in blkdev_issue_flush(), not (1< Signed-off-by: David Woodhouse Signed-off-by: Jens Axboe commit 35ba8f7083e87602b695d6eaca38a6464d5b74db Author: David Woodhouse Date: Sun Aug 10 12:33:00 2008 +0100 blktrace: simplify flags handling in __blk_add_trace Let the compiler see what's going on, and it can all get a lot simpler. On PPC64 this reduces the size of the code calculating these bits by about 60%. On x86_64 it's less of a win -- only 40%. Signed-off-by: David Woodhouse Signed-off-by: Jens Axboe commit 27b29e86bf3d4b3cf6641a0efd78ed11a9b633b2 Author: David Woodhouse Date: Sun Aug 10 11:21:57 2008 +0100 blktrace: support discard requests Signed-off-by: David Woodhouse Signed-off-by: Jens Axboe commit fdc53971bce56d299cb5f1f06ecbff30b34cbaf2 Author: David Woodhouse Date: Tue Aug 5 18:08:56 2008 +0100 Support 'discard sectors' operation. We can benefit from knowing that the file system no longer cares about the contents of certain sectors, by throwing them away immediately and then never having to garbage collect them, and using the extra free space to make our operations more efficient. Do so. Signed-off-by: David Woodhouse Signed-off-by: Jens Axboe commit eae9acd13a8d14b50c00a961fa959606f34bbd92 Author: David Woodhouse Date: Tue Aug 5 18:08:25 2008 +0100 Support 'discard sectors' operation in translation layer support core Signed-off-by: David Woodhouse Signed-off-by: Jens Axboe commit 8c540a96c175bdf55bda8707db04cec78b816454 Author: David Woodhouse Date: Tue Aug 5 18:05:46 2008 +0100 Let the block device know when sectors can be discarded [hirofumi@mail.parknet.co.jp: discard _after_ checking for corrupt chains] Signed-off-by: David Woodhouse Acked-by: OGAWA Hirofumi Signed-off-by: Jens Axboe commit fb2dce862d9f9a68e6b9374579056ec9eca02a63 Author: David Woodhouse Date: Tue Aug 5 18:01:53 2008 +0100 Add 'discard' request handling Some block devices benefit from a hint that they can forget the contents of certain sectors. Add basic support for this to the block core, along with a 'blkdev_issue_discard()' helper function which issues such requests. The caller doesn't get to provide an end_io functio, since blkdev_issue_discard() will automatically split the request up into multiple bios if appropriate. Neither does the function wait for completion -- it's expected that callers won't care about when, or even _if_, the request completes. It's only a hint to the device anyway. By definition, the file system doesn't _care_ about these sectors any more. [With feedback from OGAWA Hirofumi and Jens Axboe Signed-off-by: Jens Axboe commit d628eaef310533767ce68664873869c2d7f78f09 Author: David Woodhouse Date: Sat Aug 9 16:22:17 2008 +0100 Fix up comments about matching flags between bio and rq Signed-off-by: David Woodhouse Signed-off-by: Jens Axboe commit 36144077bce9f89763ce994bc631cbd1c9db7785 Author: Jens Axboe Date: Thu Aug 14 13:12:15 2008 +0200 highmem: use bio_has_data() in the bounce path Signed-off-by: Jens Axboe commit 051cc3952a8fb6fa875a4eff68d06cf42207dcf4 Author: Jens Axboe Date: Fri Aug 8 11:06:45 2008 +0200 block: use bio_has_data() in the IO completion path Signed-off-by: Jens Axboe commit a9c701e594669dd49fed448c27c64f20cfacc8a7 Author: Jens Axboe Date: Fri Aug 8 11:04:44 2008 +0200 block: use bio_has_data() to check for data carrying bio Signed-off-by: Jens Axboe commit 7a67f63b3233ff28e753854fe27891c44f8588ae Author: Jens Axboe Date: Fri Aug 8 11:17:12 2008 +0200 block: add bio_has_data() to detect whether a bio carries data or not Signed-off-by: Jens Axboe commit 35e396cd100489dfe8f5a76e3613fb8049ffdff3 Author: xiphmont@xiph.org Date: Fri Aug 22 11:12:21 2008 +0200 SG_IO block filter whitelist missing MMC SET READ AHEAD command I have another request for the block filter SG_IO command whitelist, specifically the MMC streaming command set SET READ AHEAD command. The command applies only to MMC CDROM/DVDROM drives with the streaming optional feature set. The command is useful to cdparanoia in that it allows explicit cache control side effects that are, on many drives, cdparanoia's most efficient way to flush/disable the media cache on cdrom drives. I am aware of no reason why it should not be accessible from usespace. Also note that the command is already fully accessible through the SCSI-native version of the SG_IO ioctl as well as the traditional SG interface. The command is only being refused on block devices. That means that on a typical stock distro, the command is available through /dev/sg* but not /dev/scd* although both are typically available and accessible. Filtering the command is not providing any protection, only a confusing inconsistency. Signed-off-by: Jens Axboe commit dd4354fa51f6379fb3ac98ba9377ca5895f50497 Author: Graf Yang Date: Thu Oct 9 14:17:47 2008 +0800 Blackfin arch: fix define error in BF561 memory map macros Signed-off-by: Graf Yang Signed-off-by: Bryan Wu commit f099f39acf7575eff3dee3c562cec4e592876c33 Author: Sonic Zhang Date: Thu Oct 9 14:11:57 2008 +0800 Blackfin arch: Make L2 SRAM cacheable Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 8606801b0361e0f8520892c9bf524df89c35e690 Author: Sonic Zhang Date: Thu Oct 9 13:55:33 2008 +0800 Blackfin arch: flags of UART3 mem resource is missing Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 27707d3e43e3a9c53e75cd7769f3ef74b1d56625 Author: Sonic Zhang Date: Thu Oct 9 14:04:41 2008 +0800 Blackfin arch: Fix bug - kernel build with config kernel debugging with remote gdb fails Add some comment and fix duplicated VEC_EXCPT02 Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit e8f462d202026d8e99f553ed5a09422321226ac9 Author: Dmitry Torokhov Date: Thu Oct 9 00:52:23 2008 -0400 Input: ads7846 - fix cache line sharing issue We had a report a while back that the ads7846 driver had some issues when used with DMA-based SPI controllers (like atmel_spi) on systems where main memory is not DMA-coherent (most non-x86 boards). Allocate memory potentially used for DMA separately to avoid cache line issues. Reported-by: David Brownell Signed-off-by: Dmitry Torokhov commit 2d517cab01075610a615ebda0a1c16ba3fb081ae Author: Daniel Gimpelevich Date: Thu Oct 9 00:44:47 2008 -0400 Input: cm109 - add missing newlines to messages Recent conversion from err(), warn(), info() to dev_* variants caused loss of newlines at the end of messages, add them back. Signed-off-by: Daniel Gimpelevich Signed-off-by: Dmitry Torokhov commit 5e9e7687cbc016ac36b6825f79d78213319331d9 Author: Michael Hennerich Date: Thu Oct 9 12:31:03 2008 +0800 Blackfin arch: Fix BUG -- BF533 + 0.5 silicon + MPU + UART PIO -> crash Apply ANOMALY_05000283 & ANOMALY_05000315 Workaround also to the EXCEPTION path. Cover evt_ivhw also with ANOMALY_05000315 The Workaround needs to be prior to accesses (either read or write) to any system MMR. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 49f7253cc9a5002c3f2aef4ab96df62204ac7052 Author: Mike Frysinger Date: Thu Oct 9 12:06:27 2008 +0800 Blackfin arch: add support for BF52x-0.2, BF533-0.6, and BF54x-0.2 Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 46ce0d9a361b7b3de9a1c8dce1f2b636e395ab9e Author: Mike Frysinger Date: Thu Oct 9 12:05:31 2008 +0800 Blackfin arch: fix default silicon rev selection so it works for all supported parts Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit cd88b4dca85d0e46db3d0aadd748037a10ebbfc1 Author: Mike Frysinger Date: Thu Oct 9 12:03:22 2008 +0800 Blackfin arch: BF561 is supported, no longer a work in progress Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 202d7bd95cf5ca36199e5777c961eae62a74667c Author: Robin Getz Date: Thu Oct 9 11:59:46 2008 +0800 Blackfin arch: Make sure we program the correct values in only when necessary for MUSB driver Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 36d9573928f9ab126d0089ead7ea5d2ab18fbfa9 Author: Jiri Kosina Date: Mon Oct 6 02:51:09 2008 -0400 Input: document i8042.debug in kernel-parameters.txt i8042.debug parameter was missing in Documentation/kernel-parameters.txt. Add it. Signed-off-by: Jiri Kosina Signed-off-by: Dmitry Torokhov commit 161c609173c40a39dc218d97a4a86592dfda31ba Author: Dmitry Torokhov Date: Wed Oct 8 23:42:26 2008 -0400 Input: keyboard - fix potential out of bound access to key_map Reported-by: Michal Roszkowski Signed-off-by: Dmitry Torokhov commit 3343c1d4482b27a444e76bf53d16df4a6f30b873 Author: Michael Hennerich Date: Thu Oct 9 11:11:11 2008 +0800 Blackfin arch: Fix BUG: anomaly_threshold is used with ANOMALY_05000363 Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit d57f5f72df1b0da501c4b55e56a1040b1631c1f3 Author: Vladimir Sokolovsky Date: Wed Oct 8 20:09:01 2008 -0700 IB/mlx4: Set RLKEY bit for kernel QPs Set RLKEY bit in the HW context for kernel QPs so that kernel QPs can use the reserved L_Key for memory reference. Signed-off-by: Vladimir Sokolovsky Signed-off-by: Roland Dreier commit 724f88057609c00d6e973c3a7e0eb72f8eec2da9 Author: David S. Miller Date: Wed Oct 8 19:54:31 2008 -0700 jme: Fix warnings with CONFIG_PM disabled. drivers/net/jme.c:1598: warning: ‘jme_set_100m_half’ defined but not used drivers/net/jme.c:1618: warning: ‘jme_wait_link’ defined but not used Signed-off-by: David S. Miller commit 6dc0c97fdcf63cf65a5857ad739a41f9eac9f2fc Author: Guo-Fu Tseng Date: Wed Oct 8 19:50:44 2008 -0700 jme: Advances version number Advances the driver version after modification. Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit 576b5223e2caa0f19afb8ac17455759c214370ce Author: akeemting Date: Wed Oct 8 19:50:03 2008 -0700 jme: Faulty IRQ handle bug fix Fix IRQ handle bug when interrupt mode. The driver was incorrectly handled and returned IRQ_HANDLED while the device is not generating the interrupt. It happened due to faulty determination of interrupt status register. Found by: "Ethan" Fixed by: "akeemting" Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit a821ebe580c535e3e8e354c6ab10516a0e95e202 Author: Guo-Fu Tseng Date: Wed Oct 8 19:48:58 2008 -0700 jme: Added half-duplex mode and IPv6 RSS fix 1. Set bit 5 of GPREG1 to 1 to enable hardware workaround for half-duplex mode. Which the MAC processor generates CRS/COL by itself instead of receive it from PHY processor. 2. Set bit 6 of GPREG1 to 1 to enable hardware workaround that masks the MAC processor working right while calculating IPv6 RSS in 10/100 mode. 3. Group the workaround codes all together. Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit 0ce2f03bade2046d6eb6184d52d065688382d7bd Author: Divy Le Ray Date: Wed Oct 8 17:40:28 2008 -0700 cxgb3: Add 1G fiber support Add support for 1G optical Vitesse PHY. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 1e8820256f9921370cd7423396871e2d850e0323 Author: Divy Le Ray Date: Wed Oct 8 17:40:07 2008 -0700 cxgb3: Support for Aeluros 2005 PHY Add support for SR PHY. Auto-detect phy module type, and report type changes. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 9b1e36566c5fafbcc732c971acfcf8580332931a Author: Divy Le Ray Date: Wed Oct 8 17:39:31 2008 -0700 cxgb3: commnonize LASI phy code Add generic code to manage interrupt driven PHYs. Do not reset the phy after link parameters update, the new values might get lost. Return early from link change notification when the link parameters remain unchanged. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit f231e0a5a2d01da40515c24f1daa689fe8cfd8d7 Author: Divy Le Ray Date: Wed Oct 8 17:39:00 2008 -0700 cxgb3: More flexible support for PHY interrupts. Do not require PHY interrupts to be connected to GPIs in ascending order. Base interrupt availability both on PHYs supporting them and on GPIs being hooked up. Allows boards to specify interrupt GPIs though the PHYs don't use them. Remove spurious PHY interrupts due to clearing T3DBG interrupts before setting their polarity. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 044979827eda13675abab99879ebe3ea535d59fa Author: Divy Le Ray Date: Wed Oct 8 17:38:29 2008 -0700 cxgb3: simplify port type struct and usage Second step in overall phy layer reorganization. Clean up the port_type_info structure. Support coextistence of clause 22 and clause 45 MDIO devices. Select the type of MDIO transaction on a per transaction basis. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 78e4689e908adc8334272756c32c9218d1967408 Author: Divy Le Ray Date: Wed Oct 8 17:38:01 2008 -0700 cxgb3: allow for PHY reset status First step towards overall PHY layering re-organization. Allow a status return when a PHY is reset. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 8c26376112fb4b8dfea42069b602c03d53366052 Author: Divy Le Ray Date: Wed Oct 8 17:37:33 2008 -0700 cxgb3: Allocate multiqueues at init time Allocate a queue set per core, up to the maximum of available qsets. Share the queue sets on multi port adapters. Rename MSI-X interrupt vectors ethX-N, N being the queue set number. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 20d3fc11505a2706a33b4c9a932af036d836727f Author: Divy Le Ray Date: Wed Oct 8 17:36:03 2008 -0700 cxgb3: reset the adapter on fatal error when a fatal error occurs, bring ports down, reset the chip, and bring ports back up. Factorize code used for both EEH and fatal error recovery. Fix timer usage when bringing up/resetting sge queue sets. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 45cec1bac0719c904bb5f4405c2937f7e715888c Author: David S. Miller Date: Wed Oct 8 17:33:01 2008 -0700 dsa: Need to select PHYLIB. Signed-off-by: David S. Miller commit 2e16a77e1e674644b4fe552daa1fb11e32398ae6 Author: Lennert Buytenhek Date: Tue Oct 7 13:46:22 2008 +0000 dsa: add support for the Marvell 88E6060 switch chip Add support for the Marvell 88E6060 switch chip. This chip only supports the Header and Trailer tagging formats, and we use it in Trailer mode since that mode is slightly easier to handle than Header mode. Signed-off-by: Lennert Buytenhek Tested-by: Byron Bradley Tested-by: Tim Ellis Signed-off-by: David S. Miller commit 396138f03f4521c55ecc3a5dd75d4c56e6323244 Author: Lennert Buytenhek Date: Tue Oct 7 13:46:07 2008 +0000 dsa: add support for Trailer tagging format This adds support for the Trailer switch tagging format. This is another tagging that doesn't explicitly mark tagged packets with a distinct ethertype, so that we need to add a similar hack in the receive path as for the Original DSA tagging format. Signed-off-by: Lennert Buytenhek Tested-by: Byron Bradley Tested-by: Tim Ellis Signed-off-by: David S. Miller commit 2e5f032095ff101274dfb03d5fd5e06d9aeb83cd Author: Lennert Buytenhek Date: Tue Oct 7 13:45:18 2008 +0000 dsa: add support for the Marvell 88E6131 switch chip Add support for the Marvell 88E6131 switch chip. This chip only supports the original (ethertype-less) DSA tagging format. On the 88E6131, there is a PHY Polling Unit (PPU) which has exclusive access to each of the PHYs's MII management registers. If we want to talk to the PHYs from software, we have to disable the PPU and wait for it to complete its current transaction before we can do so, and we need to re-enable the PPU afterwards to make sure that the switch will notice changes in link state and speed on the individual ports as they occur. Since disabling the PPU is rather slow, and since MII management accesses are typically done in bursts, this patch keeps the PPU disabled for 10ms after a software access completes. This makes handling the PPU slightly more complex, but speeds up something like running ethtool on one of the switch slave interfaces from ~300ms to ~30ms on typical hardware. Signed-off-by: Lennert Buytenhek Tested-by: Nicolas Pitre Tested-by: Peter van Valderen Tested-by: Dirk Teurlings Signed-off-by: David S. Miller commit cf85d08fdf4548ee46657ccfb7f9949a85145db5 Author: Lennert Buytenhek Date: Tue Oct 7 13:45:02 2008 +0000 dsa: add support for original DSA tagging format Most of the DSA switches currently in the field do not support the Ethertype DSA tagging format that one of the previous patches added support for, but only the original DSA tagging format. The original DSA tagging format carries the same information as the Ethertype DSA tagging format, but with the difference that it does not have an ethertype field. In other words, when receiving a packet that is tagged with an original DSA tag, there is no way of telling in eth_type_trans() that this packet is in fact a DSA-tagged packet. This patch adds a hook into eth_type_trans() which is only compiled in if support for a switch chip that doesn't support Ethertype DSA is selected, and which checks whether there is a DSA switch driver instance attached to this network device which uses the old tag format. If so, it sets the protocol field to ETH_P_DSA without looking at the packet, so that the packet ends up in the right place. Signed-off-by: Lennert Buytenhek Tested-by: Nicolas Pitre Tested-by: Peter van Valderen Tested-by: Dirk Teurlings Signed-off-by: David S. Miller commit 91da11f870f00a3322b81c73042291d7f0be5a17 Author: Lennert Buytenhek Date: Tue Oct 7 13:44:02 2008 +0000 net: Distributed Switch Architecture protocol support Distributed Switch Architecture is a protocol for managing hardware switch chips. It consists of a set of MII management registers and commands to configure the switch, and an ethernet header format to signal which of the ports of the switch a packet was received from or is intended to be sent to. The switches that this driver supports are typically embedded in access points and routers, and a typical setup with a DSA switch looks something like this: +-----------+ +-----------+ | | RGMII | | | +-------+ +------ 1000baseT MDI ("WAN") | | | 6-port +------ 1000baseT MDI ("LAN1") | CPU | | ethernet +------ 1000baseT MDI ("LAN2") | |MIImgmt| switch +------ 1000baseT MDI ("LAN3") | +-------+ w/5 PHYs +------ 1000baseT MDI ("LAN4") | | | | +-----------+ +-----------+ The switch driver presents each port on the switch as a separate network interface to Linux, polls the switch to maintain software link state of those ports, forwards MII management interface accesses to those network interfaces (e.g. as done by ethtool) to the switch, and exposes the switch's hardware statistics counters via the appropriate Linux kernel interfaces. This initial patch supports the MII management interface register layout of the Marvell 88E6123, 88E6161 and 88E6165 switch chips, and supports the "Ethertype DSA" packet tagging format. (There is no officially registered ethertype for the Ethertype DSA packet format, so we just grab a random one. The ethertype to use is programmed into the switch, and the switch driver uses the value of ETH_P_EDSA for this, so this define can be changed at any time in the future if the one we chose is allocated to another protocol or if Ethertype DSA gets its own officially registered ethertype, and everything will continue to work.) Signed-off-by: Lennert Buytenhek Tested-by: Nicolas Pitre Tested-by: Byron Bradley Tested-by: Tim Ellis Tested-by: Peter van Valderen Tested-by: Dirk Teurlings Signed-off-by: David S. Miller commit 176eaa589b3d242f25f24e472883fcce5f196777 Author: Andreas Oberritter Date: Wed Oct 8 06:14:16 2008 +0000 8139too: move wmb before TX DMA start The write barrier should be used before starting a DMA transfer. This fixes a problem, where almost all packets received on another machine had garbled content. Tested with an RTL8100C on a MIPS machine. Signed-off-by: Andreas Oberritter Signed-off-by: David S. Miller commit ed4cb1337b7c23b91a0f01f661c3f004fc3d3c1a Author: Arjan van de Ven Date: Sun Oct 5 07:35:05 2008 +0000 netdev: uniquify the tx_timeout name there's several drivers that have use "tx_timeout" for the .. tx timeout function. All fine with that, they're static, however for doing stats on how often which driver hits the timeout it's a tad unfortunate. The patch below gives the ones I found in the kerneloops.org database unique names. Signed-off-by: Arjan van de Ven Signed-off-by: David S. Miller commit 21ce4ffb333e169650a0a05013a8cd3a5b459a67 Author: David Brownell Date: Sat Oct 4 22:11:12 2008 +0000 drivers/net/usb/Makefile - shrink logspam When building with CONFIG_USB_DEBUG, don't create logspam from the USB networking drivers. Signed-off-by: David Brownell Signed-off-by: David S. Miller commit 8b76ab39196edd459d209f6d6a075fa15e9da232 Author: Bruno Prémont Date: Wed Oct 8 17:06:25 2008 -0700 r8169: WoL fixes, part 2. Since recent kernel (2.6.26 or 2.6.27) the PCI wakeup functions are influenced by generic device ability and configuration when enabling PCI-device triggered wake-up. This patch causes WoL setting to enable/disable device's wish to be permitted to wake-up the host when changing WoL options and also during device probing. Without this patch one has write 'enabled' to /sys/bus/pci/devices/0000:02:08.0/power/wakeup Signed-off-by: Bruno Prémont Acked-by: Rafael J. Wysocki Signed-off-by: David S. Miller commit 20037fa407f26716866eff95221c4882babe1280 Author: Bruno Prémont Date: Wed Oct 8 17:05:03 2008 -0700 r8169: WoL fixes, part 1. When probing the chip and handling it's power management settings also remember wether WoL feature is enabled. Without this patch one has to call ethtool to change WoL settings for this flag to be set and any WoL being enabled on suspend to RAM. Signed-off-by: Bruno Prémont Signed-off-by: David S. Miller commit d3eab82b554eeb51f038ac327b6c68c6afdee978 Author: Trent Piepho Date: Thu Oct 2 11:12:24 2008 +0000 gianfar: Create net device with carrier down The device's carrier status is controlled via the functions netif_carrier_on() and netif_carrier_off(). These set or clear a bit indicating the carrier (aka lower level link) is down, and if the state changed, they fire off a routing netlink event. Add a call to netif_carrier_off() before register_netdev() so that the newly created device will be set to carrier down. Then when the carrier comes up for the first time, a netlink event will be generated, as the carrier changed from down to up. Otherwise the initial carrier up will appear to be changing the status from up to up, and so no event is generated since that's not a change. Signed-off-by: Trent Piepho Signed-off-by: David S. Miller commit c3efab8ed4755e26962704731322bafdf5022f98 Author: Lennert Buytenhek Date: Thu Oct 2 00:52:39 2008 +0000 mv643xx_eth: include linux/ip.h to fix build mv643xx_eth uses ip_hdr() (defined in linux/ip.h), but relied on another header file to include the needed header file indirectly. In latest net-next this indirect include chain is gone, so the driver fails to build. Include linux/ip.h explicitly to fix this. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit f47aeffd6089ed7a0cd18073e88cd505f188b0b7 Author: Jarek Poplawski Date: Tue Sep 30 20:58:25 2008 +0000 lib8390: Fix locking in ei_poll (poll controller) This lockdep warning: ================================= [ INFO: inconsistent lock state ] 2.6.27-rc7 #3 --------------------------------- inconsistent {in-softirq-W} -> {softirq-on-W} usage. syslogd/2474 [HC0[0]:SC0[0]:HE1:SE1] takes: (_xmit_ETHER#2){-+..}, at: [] netpoll_send_skb+0x132/0x190 ... is caused by unconditional local_irq_disable()/local_irq_enable() in disable_irq_lockdep()/enable_irq_lockdep() used by __ei_poll(). Since netconsole/netpoll always calls dev->poll_controller() with local irqs disabled, disable_irq()/enable_irq() instead is safe and enough (like e.g. in 3c509 or 8139xx drivers). Reported-and-tested-by: Bernard Pidoux F6BVP Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 23e55a32ca1ffdbe7a492ef99f0e0ac48e504a13 Author: Brandeburg, Jesse Date: Tue Sep 30 13:08:48 2008 +0000 ixgb: fix bug when freeing resources It was pointed out by Breno Leitao that ixgb would crash on PPC when an IOMMU was in use, if change_mtu was called. It appears to be a pretty simple issue in the driver that wasn't discovered because most systems don't run with an IOMMU. The driver needs to only unmap buffers that are mapped (duh). CC: Breno Leitao Signed-off-by: Jesse Brandeburg Signed-off-by: David S. Miller commit 1694f25b4beb80b911fb21efcff36acca39aa696 Author: Arthur Jones Date: Mon Sep 29 11:51:09 2008 +0000 e1000e: release hw semaphore after successfully writing EEPROM Since e1000e has been existance in linux-2.6, we've never released the hardware semaphore after a successful write to the SPI EEPROM. I guess we don't write to SPI EEPROM much -- but those few of us that do appreciate it when we can later read from the EEPROM without having to reboot. Found-by: Nick Van Fossen Signed-off-by: Arthur Jones Reviewed-by: Auke Kok Signed-off-by: David S. Miller commit 2f7ca802bdae2ca41022618391c70c2876d92190 Author: Steve Glendinning Date: Thu Oct 2 05:27:57 2008 +0000 net: Add SMSC LAN9500 USB2.0 10/100 ethernet adapter driver Attached is a driver for SMSC's LAN9500 USB2.0 10/100 ethernet adapter. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 2e888103295f47b8fcbf7e9bb8c5da97dd2ecd76 Author: Lennert Buytenhek Date: Mon Sep 29 17:12:35 2008 +0000 phylib: add mdiobus_{read,write} Add mdiobus_{read,write} routines to allow direct reading/writing of registers on an mii bus without having to go through the PHY abstraction, and make phy_{read,write} use these primitives. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit 46abc02175b3c246dd5141d878f565a8725060c9 Author: Lennert Buytenhek Date: Wed Oct 8 16:33:40 2008 -0700 phylib: give mdio buses a device tree presence Introduce the mdio_bus class, and give each 'struct mii_bus' its own 'struct device', so that mii_bus objects are represented in the device tree and can be found by querying the device tree. Signed-off-by: Lennert Buytenhek Acked-by: Andy Fleming Signed-off-by: David S. Miller commit 298cf9beb9679522de995e249eccbd82f7c51999 Author: Lennert Buytenhek Date: Wed Oct 8 16:29:57 2008 -0700 phylib: move to dynamic allocation of struct mii_bus This patch introduces mdiobus_alloc() and mdiobus_free(), and makes all mdio bus drivers use these functions to allocate their struct mii_bus'es dynamically. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller Acked-by: Andy Fleming commit 18ee49ddb0d242ed1d0e273038d5e4f6de7379d3 Author: Lennert Buytenhek Date: Wed Oct 1 15:41:33 2008 +0000 phylib: rename mii_bus::dev to mii_bus::parent In preparation of giving mii_bus objects a device tree presence of their own, rename struct mii_bus's ->dev argument to ->parent, since having a 'struct device *dev' that points to our parent device conflicts with introducing a 'struct device dev' representing our own device. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller Acked-by: Andy Fleming commit 236bb5e649c2a7e8398b87df5e643368408afb4a Author: Brice Goglin Date: Sun Sep 28 15:34:21 2008 +0000 myri10ge: add multiqueue TX Add multiqueue TX support to myri10ge. [ Removed reference to deprecated CONFIG_NETDEVICES_MULTIQUEUE and NETIF_F_MULTI_QUEUE ] Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit c8f2d9bc12ea05a88b1920a7c887b67de60c52a5 Author: Jay Cliburn Date: Sat Sep 27 04:17:23 2008 +0000 atl1: update introductory comments Update the driver's introductory comments. Signed-off-by: Jay Cliburn Signed-off-by: David S. Miller commit a6d1f369736cb8b36b53b938ec9eea4a7d5f2196 Author: Jay Cliburn Date: Sat Sep 27 04:17:22 2008 +0000 atl1: remove EXPERIMENTAL label Remove the EXPERIMENTAL label from the atl1 driver and change the vendor name to include Attansic's successor, Atheros. We'll leave Attansic in the name since Attansic's PCI ID (1969) is encoded in the PCI config and is what users encounter on their systems. Signed-off-by: Jay Cliburn Signed-off-by: David S. Miller commit e1098328e8d201c2d3966f2fc14f14eb42120d83 Author: Jay Cliburn Date: Sat Sep 27 04:17:21 2008 +0000 atl1: remove LLTX NETIF_F_LLTX is deprecated. Remove private TX locking from the driver and remove the NETIF_F_LLTX feature flag. Signed-off-by: Jay Cliburn Signed-off-by: David S. Miller commit b29be6d3f215ac42651545e89afecc7d9e6a10db Author: Jay Cliburn Date: Sat Sep 27 04:17:20 2008 +0000 atl1: fix transmit timeout bug See http://marc.info/?l=linux-netdev&m=121931988219314&w=2 Stop the queue and turn off carrier to prevent transmit timeouts when the cable is unplugged/replugged. Signed-off-by: Jay Cliburn Cc: Alexey Dobriyan Signed-off-by: David S. Miller commit e824b3eb4acad16c64c9ddf8e63b63e2469259b0 Author: Wang Chen Date: Fri Sep 26 16:20:32 2008 +0800 skge: Fix skge_set_ring_param() losing error return The error return is useful to caller, driver shouldn't miss it. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 9ac1353f3832716eb25268c0cd06c93080a83c7b Author: Xiaoming.Zhang Date: Thu Sep 25 20:28:05 2008 +0000 [10/21] driver/net/skge.c: restart the interface when it's options or pauseparam is set On Wednesday 24 September 2008 07:47, Stephen Hemminger wrote: > On Mon, 22 Sep 2008 14:52:17 -0700 > > akpm@linux-foundation.org wrote: > > From: "Xiaoming.Zhang" > > > > We have an issue of the skge driver: The card won't work when it's > > options are changed. Here's the hardware info: > > > > # lspci -v > > 05:04.0 Ethernet controller: Marvell Technology Group Ltd. 88E8001 > > Gigabit Ethernet Controller (rev 13) Subsystem: Marvell Technology Group > > Ltd. Marvell RDK-8001 Flags: bus master, 66MHz, medium devsel, latency > > 32, IRQ 16 Memory at d042c000 (32-bit, non-prefetchable) [size=16K] I/O > > ports at d000 [size=256] > > [virtual] Expansion ROM at 20400000 [disabled] [size=128K] > > Capabilities: [48] Power Management version 2 > > Capabilities: [50] Vital Product Data > > > > The happens in both Linux-2.6.26(skge version 1.23) and RHEL5.2(skge > > version 1.6). > > > > For example, at first it is set to "speed 1000 duplex full auto-neg on" > > and it works, then run > > > > ethtool -s autoneg off > > or ethtool -s speed 100 duplex full autoneg off > > > > Then it will stop working. After that if we restart the interface: > > > > ifconifg down > > ifconfig up > > > > It will work again. And `ethtool -A' has the same issue. > > > > So we think after setting the options, the interface should be restarted. > > > > Signed-off-by: Zhang Xiaoming > > Cc: Stephen Hemminger > > Cc: Jeff Garzik > > Signed-off-by: Andrew Morton > > --- > > > > drivers/net/skge.c | 12 ++++++++---- > > 1 file changed, 8 insertions(+), 4 deletions(-) > > > > diff -puN > > drivers/net/skge.c~driver-net-skgec-restart-the-interface-when-its-option > >s-or-pauseparam-is-set drivers/net/skge.c --- > > a/drivers/net/skge.c~driver-net-skgec-restart-the-interface-when-its-opti > >ons-or-pauseparam-is-set +++ a/drivers/net/skge.c > > @@ -353,8 +353,10 @@ static int skge_set_settings(struct net_ > > skge->autoneg = ecmd->autoneg; > > skge->advertising = ecmd->advertising; > > > > - if (netif_running(dev)) > > - skge_phy_reset(skge); > > + if (netif_running(dev)) { > > + skge_down(dev); > > + skge_up(dev); > > + } > > > > return (0); > > } > > @@ -595,8 +597,10 @@ static int skge_set_pauseparam(struct ne > > skge->flow_control = FLOW_MODE_NONE; > > } > > > > - if (netif_running(dev)) > > - skge_phy_reset(skge); > > + if (netif_running(dev)) { > > + skge_down(dev); > > + skge_up(dev); > > + } > > > > return 0; > > } > > Since skge_up can fail because of out of memory, this code needs to > check the return value. And then if it fails the "limbo state" needs > to be handled in skge_down. How about like this? It is tested. Thank you. Signed-off-by: Zhang Xiaoming Signed-off-by: David S. Miller commit 0ca41c0413a4d9ca58767d53d23accea9aa1cdef Author: Divy Le Ray Date: Thu Sep 25 14:05:28 2008 +0000 [2.6.28,1/1] cxgb3 - fix race in EEH A SGE queue set timer might access registers while in EEH recovery, triggering an EEH error loop. Stop all timers early in EEH process. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 822f1a57d2ad957ae16b987115251539876aef26 Author: Francois Romieu Date: Wed Oct 8 15:55:15 2008 -0700 via-velocity: Fix warnings on sparc64. As reported by Meelis Roos. Signed-off-by: David S. Miller commit 87241840b214734c023bda83372059de3f7eeabd Author: Kevin Hao Date: Thu Sep 25 16:20:11 2008 +0000 net: remove LLTX in atl2 driver When NETIF_F_LLTX is set, the atlx driver will use a private lock. But in recent kernels this implementation seems redundant and can cause problems where AF_PACKET sees things twice. Since NETIF_F_LLTX is marked as deprecated and shouldn't be used in new driver, this patch removes NETIF_F_LLTX and adds a mmiowb before sending packet. I have tested this driver on a Eee PC. It works well. Signed-off-by: Kevin Hao Acked-by: Jay Cliburn Signed-off-by: David S. Miller commit 0acb28396728f42b6b1553c85d27c37513796043 Author: Trent Piepho Date: Wed Oct 8 15:46:57 2008 -0700 phylib: Wake PHY state machine on interrupt This way the phy layer will respond to a change in phy state immediately, instead of up to one second later when the state machine timer runs. Signed-off-by: Trent Piepho Acked-by: Andy Fleming Signed-off-by: David S. Miller commit 51e2a3846eab18711f4eb59cd0a4c33054e2980a Author: Trent Piepho Date: Wed Sep 24 10:55:46 2008 +0000 PHY: Avoid unnecessary aneg restarts The PHY's aneg is configured and restarted whenever the link is brought up, e.g. when DHCP is started after the kernel has booted. This can take the link down for several seconds while auto-negotiation is redone. If the advertised features haven't changed, then it shouldn't be necessary to bring down the link and start auto-negotiation over again. genphy_config_advert() is enhanced to return 0 when the advertised features haven't been changed and >0 when they have been. genphy_config_aneg() then uses this information to not call genphy_restart_aneg() if there has been no change. Signed-off-by: Trent Piepho Acked-by: Andy Fleming Signed-off-by: David S. Miller commit 7bf6bf4803df1adc927f585168d2135fb019c698 Author: Ivan Vecera Date: Tue Sep 23 22:46:29 2008 +0000 r8169: read MAC address from EEPROM on init Reviewed-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 8d1b1fc9b97ad4de40c063ce3d213895c06fa116 Author: Kevin Hao Date: Fri Sep 19 21:56:44 2008 +0000 net: add net poll support for atl2 driver Add netconsole support for Atheros L2 10/100 network device. Signed-off-by: Kevin Hao Acked-by: Jay Cliburn Signed-off-by: David S. Miller commit 6fbc779c03591ee536fef9efb7d7e20f281d0b5c Author: Victor Gallardo Date: Thu Sep 18 12:41:26 2008 +0000 ibm_newemac: Fix EMAC soft reset on 460EX/GT This patch fixes EMAC soft reset on 460EX/GT when no external clock is available. Signed-off-by: Victor Gallardo Signed-off-by: David S. Miller commit c6d6a511d768cf7627ab54fc18f40edf85097362 Author: Lennert Buytenhek Date: Thu Sep 18 03:06:52 2008 +0000 phylib: phy_mii_ioctl() fixes Make the SIOCGMIIPHY case fall through properly (it is supposed to not only return the ID of the default PHY but also to read from that PHY), and make phy_mii_ioctl() return the same error code as generic_mii_ioctl() in case of an unsupported operation. Signed-off-by: Lennert Buytenhek Acked-by: Andy Fleming Signed-off-by: David S. Miller commit 107e0008dfb8bd6366bc8827f5bbbc0c1f795d2d Merge: 2937391... 67080c8... Author: J. Bruce Fields Date: Wed Oct 8 18:22:18 2008 -0400 Merge branch 'from-tomtucker' into for-2.6.28 commit cdbb92b31d3c465aa96bd09f2d42c39b87b32bee Merge: 2ec2b48... 6984937... Author: Ingo Molnar Date: Thu Oct 9 00:17:25 2008 +0200 Merge branch 'linus' into core/rcu commit 4dd565134ece7e5d528d4c5288879310c54419e9 Merge: 071d7ab... 6984937... Author: David S. Miller Date: Wed Oct 8 14:56:41 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/e1000e/ich8lan.c drivers/net/e1000e/netdev.c commit e2f5e7333a2fb51ef9e45280c3da9ca3bde65fde Author: Chien Tung Date: Wed Oct 8 14:43:29 2008 -0700 RDMA/nes: Correct error_module bit mask error_module is 5 bits wide not 4. The corresponding crit_error_count array is correct with 32 entries. Signed-off-by: Chien Tung -- drivers/infiniband/hw/nes/nes_hw.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) Signed-off-by: Roland Dreier commit 071d7ab6649eb34a873a53e71635186e9117101d Author: Sven Wegener Date: Wed Oct 8 14:41:35 2008 -0700 ipvs: Remove stray file left over from ipvs move Commit cb7f6a7b716e801097b564dec3ccb58d330aef56 ("IPVS: Move IPVS to net/netfilter/ipvs") has left a stray file in the old location of ipvs. Signed-off-by: Sven Wegener Signed-off-by: David S. Miller commit 53b125779fb0b29e5b316bf3dc7d199e6dcea567 Author: Ilpo Järvinen Date: Wed Oct 8 14:36:33 2008 -0700 tcpv6: fix option space offsets with md5 More breakage :-), part of timestamps just were previously overwritten. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit db2bf2476b2d99d91b4ce87e102dd3a61e92366f Merge: 0201518... a5e8546... Author: David S. Miller Date: Wed Oct 8 14:26:36 2008 -0700 Merge branch 'lvs-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/lvs-2.6 Conflicts: net/netfilter/Kconfig commit 02015180e2509afd2e3fe3790a333b30708a116b Author: Vlad Yasevich Date: Wed Oct 8 14:19:01 2008 -0700 sctp: shrink sctp_tsnmap some more by removing gabs array The gabs array in the sctp_tsnmap structure is only used in one place, sctp_make_sack(). As such, carrying the array around in the sctp_tsnmap and thus directly in the sctp_association is rather pointless since most of the time it's just taking up space. Now, let sctp_make_sack create and populate it and then throw it away when it's done. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 8e1ee18c332e08bee9d8bd66e63cd564fbf17fc2 Author: Vlad Yasevich Date: Wed Oct 8 14:18:39 2008 -0700 sctp: Rework the tsn map to use generic bitmap. The tsn map currently use is 4K large and is stuck inside the sctp_association structure making memory references REALLY expensive. What we really need is at most 4K worth of bits so the biggest map we would have is 512 bytes. Also, the map is only really usefull when we have gaps to store and report. As such, starting with minimal map of say 32 TSNs (bits) should be enough for normal low-loss operations. We can grow the map by some multiple of 32 along with some extra room any time we receive the TSN which would put us outside of the map boundry. As we close gaps, we can shift the map to rebase it on the latest TSN we've seen. This saves 4088 bytes per association just in the map alone along savings from the now unnecessary structure members. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 3c689b7320ae6f20dba6a8b71806a6c6fd604ee8 Author: Eric Dumazet Date: Wed Oct 8 14:18:04 2008 -0700 inet: cleanup of local_port_range I noticed sysctl_local_port_range[] and its associated seqlock sysctl_local_port_range_lock were on separate cache lines. Moreover, sysctl_local_port_range[] was close to unrelated variables, highly modified, leading to cache misses. Moving these two variables in a structure can help data locality and moving this structure to read_mostly section helps sharing of this data among cpus. Cleanup of extern declarations (moved in include file where they belong), and use of inet_get_local_port_range() accessor instead of direct access to ports values. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit b77d753c413e02559669df66e543869dad40c847 Author: Steve French Date: Wed Oct 8 19:13:46 2008 +0000 [CIFS] Check that last search entry resume key is valid Jeff's recent patch to add a last_entry field in the search structure to better construct resume keys did not validate that the server sent us a plausible pointer to the last entry. This adds that. Signed-off-by: Steve French commit 9088c5609584684149f3fb5b065aa7f18dcb03ff Author: Eric Dumazet Date: Wed Oct 8 11:44:17 2008 -0700 udp: Improve port randomization Current UDP port allocation is suboptimal. We select the shortest chain to chose a port (out of 512) that will hash in this shortest chain. First, it can lead to give not so ramdom ports and ease give attackers more opportunities to break the system. Second, it can consume a lot of CPU to scan all table in order to find the shortest chain. Third, in some pathological cases we can fail to find a free port even if they are plenty of them. This patch zap the search for a short chain and only use one random seed. Problem of getting long chains should be addressed in another way, since we can obtain long chains with non random ports. Based on a report and patch from Vitaly Mayatskikh Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 53e915034970935596703a6005cde27c2128b5c3 Author: Jarek Poplawski Date: Wed Oct 8 11:36:22 2008 -0700 pkt_sched: Update qdisc requeue stats in dev_requeue_skb() After the last change of requeuing there is no info about such incidents in tc stats. This patch updates the counter, but we should consider this should differ from previous stats because of additional checks preventing to repeat this. On the other hand, previous stats didn't include requeuing of gso_segmented skbs. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 52cd5750e81ec8d213949fa7c0d2e08907bf498b Author: Ilpo Järvinen Date: Wed Oct 8 11:34:06 2008 -0700 tcp: fix length used for checksum in a reset While looking for some common code I came across difference in checksum calculation between tcp_v6_send_(reset|ack) I couldn't explain. I checked both v4 and v6 and found out that both seem to have the same "feature". I couldn't find anything in rfc nor anywhere else which would state that md5 option should be ignored like it was in case of reset so I came to a conclusion that this is probably a genuine bug. I suspect that addition of md5 just was fooled by the excessive copy-paste code in those functions and the reset part was never tested well enough to find out the problem. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 2ca89cea5c9fdafd495fb840fa055383d253174e Author: Denis V. Lunev Date: Wed Oct 8 10:36:24 2008 -0700 ipv6: remove unused not init_ipv6_mibs/cleanup_ipv6_mibs Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 9261e53701121f83eb9482347d68833e95315362 Author: Denis V. Lunev Date: Wed Oct 8 10:36:03 2008 -0700 ipv6: making ip and icmp statistics per/namespace Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 087fe24033c4280a15b03cce41eaec844c92f8e5 Author: Denis V. Lunev Date: Wed Oct 8 10:35:11 2008 -0700 ipv6: added net argument to _DEVINC/_DEVADD Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 55d43808eb26e689dacb95b11f956a3b1a56a5f3 Author: Denis V. Lunev Date: Wed Oct 8 10:34:54 2008 -0700 ipv6: added net argument to ICMP6MSGIN_INC_STATS_BH Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit a712d3e859b78edc44d5664d867626d3022bd18e Author: Denis V. Lunev Date: Wed Oct 8 10:34:35 2008 -0700 ipv6: ICMP6MSGIN_INC_STATS is not used Removed. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 5a57d4c7fdac0e227efe8c5739fcbb263d9ae993 Author: Denis V. Lunev Date: Wed Oct 8 10:34:14 2008 -0700 ipv6: added net argument to ICMP6MSGOUT_INC_STATS_BH Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 5c5d244bd388fe498dd7f5f57cb7770aae40b9ab Author: Denis V. Lunev Date: Wed Oct 8 10:33:50 2008 -0700 ipv6: added net argument to ICMP6MSGOUT_INC_STATS Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit e41b5368e029e79d11acb5952bc73284e5026c62 Author: Denis V. Lunev Date: Wed Oct 8 10:33:26 2008 -0700 ipv6: added net argument to ICMP6_INC_STATS_BH Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit a862f6a6dc89c57dd3a959a1636b59f0c27169c2 Author: Denis V. Lunev Date: Wed Oct 8 10:33:06 2008 -0700 ipv6: added net argument to ICMP6_INC_STATS Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 821d57776d4dda47ef5f0c33fdb3c761214b2f9f Author: Denis V. Lunev Date: Wed Oct 8 10:32:43 2008 -0700 ipv6: added net argument to IP6_ADD_STATS_BH Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 483a47d2fe794328d29950fe00ce26dd405d9437 Author: Denis V. Lunev Date: Wed Oct 8 11:09:27 2008 -0700 ipv6: added net argument to IP6_INC_STATS_BH Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 19d771f3caccaf66ce2fb539319222139e5b4e88 Author: Trond Myklebust Date: Wed Oct 8 13:54:52 2008 -0400 NFS: Save padding bytes in struct nfs4_setclientid Peter Staubach suggested reducing NFS4_SETCLIENTID_NAMELEN by one byte so as to avoid 7 bytes of unnecessary padding. Signed-off-by: Trond Myklebust commit 3bd653c8455bc7991bae77968702b31c8f5df883 Author: Denis V. Lunev Date: Wed Oct 8 10:54:51 2008 -0700 netns: add net parameter to IP6_INC_STATS Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 98b3377ca77a06a7bd75a444e9f7136e9bb5112e Author: Denis V. Lunev Date: Wed Oct 8 10:31:44 2008 -0700 ipv6: consolidate error paths in ipv6_frag_rcv Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 0b0588d42b2774734b51525fe6550d77f8ea9bc0 Author: Denis V. Lunev Date: Wed Oct 8 10:31:18 2008 -0700 ipv6: local dev is actually unused in ip6_fragment Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 4c3ed7d61bd474380e0d3e1eb0da164942f7c84e Author: Anton Vorontsov Date: Tue Sep 23 14:12:19 2008 +0400 OF: add fsl,mcu-mpc8349emitx to the exception list of/base.c matches on the first (most specific) entries, which isn't quite practical but it was discussed[1] that this won't change. The bindings specifies verbose information for the devices, but it doesn't fit in the I2C ID's 20 characters limit. The limit won't change[2], and the bindings won't change either as they're correct. So we have to put an exception for the MPC8349E-mITX-compatible MCUs. [1] http://www.mail-archive.com/linuxppc-dev@ozlabs.org/msg21196.html [2] http://www.nabble.com/-PATCH-1-2--i2c:-expand-I2C's-id.name-to-23-characters-td19577063.html Signed-off-by: Anton Vorontsov Signed-off-by: Grant Likely commit e92350463891a20960e858ef6137aa456e616175 Author: Tony Breeds Date: Wed Oct 8 11:36:57 2008 -0600 powerpc/mpc5200: Silence warnings in arch/powerpc/platforms/52xx/mpc52xx_pci.c Explicitly cast resource fields to unsigned long long, and match format specifier. Signed-off-by: Tony Breeds Signed-off-by: Grant Likely commit 618b26d52843c0f85b8eb143cf2695d7f6fd072d Author: Wolfgang Grandegger Date: Wed Oct 8 11:36:42 2008 -0600 i2c-mpc: suppress I2C device probing This patch suppresses I2C device probing by clearing the class field of the "struct i2c_adapter" for the MPC I2C bus adapters. Some board configurations which rely on probing must be fixed up by adding a proper I2C device node to the DTS file, like the TQM85xx modules. Signed-off-by: Wolfgang Grandegger Signed-off-by: Grant Likely commit f43c32efacd82bb1427c3247c636e23ece6b8fc9 Author: Wolfram Sang Date: Wed Oct 8 11:36:21 2008 -0600 powerpc/mpc5200: trivial printk-fixes in mpc52xx_common - one printk was missing a loglevel - remove double space while we are here Signed-off-by: Wolfram Sang Signed-off-by: Grant Likely commit 364ae953a48152be11f1aa424cbfd943b7762b0d Merge: 075f664... f39a941... Author: David S. Miller Date: Wed Oct 8 09:50:38 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6 commit b3bc2c5562f06ca34b30f61c5714e96490946c81 Author: Haavard Skinnemoen Date: Mon Jul 28 13:05:19 2008 +0200 avr32: Minor pm_power_off cleanup Include to see the declaration of pm_power_off, and remove unneeded NULL initializer. Signed-off-by: Haavard Skinnemoen commit 520bab804e3fe4868890980a55fe785f1b8a55e5 Author: Haavard Skinnemoen Date: Wed Jun 18 15:36:32 2008 +0200 avr32: Implement {read,write}[bwl]_be Signed-off-by: Haavard Skinnemoen commit a897ea13f7a801e6baba8d4985f459042712244c Author: Grant Likely Date: Wed Oct 8 09:02:11 2008 -0600 powerpc/mpc5200: fix build warnings on mpc52xx_psc_spi driver The register definitions have been changed for the mpc5200 PSC ports to cover some of the changes in the mpc5200b. One change is that the ccr register is now a u32 instead of a u16. However, for the purposes of this driver we want to continue to use 16 bit access to avoid changing the existing (working) behaviour. This patch allows the driver to continue to do 16 bit accesses without the compiler complaining about it. Signed-off-by: Grant Likely commit 2fb7635c4cea310992a39580133099dd99ad151c Author: Peter Zijlstra Date: Wed Oct 8 09:16:04 2008 +0200 sched: sync wakeups vs avg_overlap While looking at the code I wondered why we always do: sync && avg_overlap < migration_cost Which is a bit odd, since the overlap test was meant to detect sync wakeups so using it to specialize sync wakeups doesn't make much sense. Hence change the code to do: sync || avg_overlap < migration_cost Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit bfd15117aeafcc42033cf5179cc15f4bd8bce957 Author: Graf Yang Date: Wed Oct 8 18:02:44 2008 +0800 Blackfin arch: Not call generic set_irq_handler() in bfin_gpio_irq_type() due to spinlock recursion Signed-off-by: Graf Yang Signed-off-by: Bryan Wu commit 9df10281e1c03b1c04d17f387bc59eb932c0bb87 Author: Robin Getz Date: Wed Oct 8 18:03:33 2008 +0800 Blackfin arch: Use DTEST rather than DMA to poke at L1 SRAM during exception context Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 7eb2c23f602ab35c5f4227bc87945a3c78a14150 Author: Mike Frysinger Date: Wed Oct 8 17:39:02 2008 +0800 Blackfin arch: fix merge errors during 2.6.26 upgrade Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit f39a9410ed0503278fd5edc559fa019051413039 Author: Jan Engelhardt Date: Wed Oct 8 11:35:20 2008 +0200 netfilter: xtables: remove bogus mangle table dependency of connmark Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit ab4f21e6fb1c09b13c4c3cb8357babe8223471bd Author: Jan Engelhardt Date: Wed Oct 8 11:35:20 2008 +0200 netfilter: xtables: use NFPROTO_UNSPEC in more extensions Lots of extensions are completely family-independent, so squash some code. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 92f3b2b1bc968caaabee8cd78bee75ab7c4af74e Author: Jan Engelhardt Date: Wed Oct 8 11:35:20 2008 +0200 netfilter: xtables: cut down on static data for family-independent extensions Using ->family in struct xt_*_param, multiple struct xt_{match,target} can be squashed together. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 916a917dfec18535ff9e2afdafba82e6279eb4f4 Author: Jan Engelhardt Date: Wed Oct 8 11:35:20 2008 +0200 netfilter: xtables: provide invoked family value to extensions By passing in the family through which extensions were invoked, a bit of data space can be reclaimed. The "family" member will be added to the parameter structures and the check functions be adjusted. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit a2df1648ba615dd5908e9a1fa7b2f133fa302487 Author: Jan Engelhardt Date: Wed Oct 8 11:35:19 2008 +0200 netfilter: xtables: move extension arguments into compound structure (6/6) This patch does this for target extensions' destroy functions. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit af5d6dc200eb0fcc6fbd3df1ab4d8969004cb37f Author: Jan Engelhardt Date: Wed Oct 8 11:35:19 2008 +0200 netfilter: xtables: move extension arguments into compound structure (5/6) This patch does this for target extensions' checkentry functions. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 7eb3558655aaa87a3e71a0c065dfaddda521fa6d Author: Jan Engelhardt Date: Wed Oct 8 11:35:19 2008 +0200 netfilter: xtables: move extension arguments into compound structure (4/6) This patch does this for target extensions' target functions. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 6be3d8598e883fb632edf059ba2f8d1b9f4da138 Author: Jan Engelhardt Date: Wed Oct 8 11:35:19 2008 +0200 netfilter: xtables: move extension arguments into compound structure (3/6) This patch does this for match extensions' destroy functions. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 9b4fce7a3508a9776534188b6065b206a9608ccf Author: Jan Engelhardt Date: Wed Oct 8 11:35:18 2008 +0200 netfilter: xtables: move extension arguments into compound structure (2/6) This patch does this for match extensions' checkentry functions. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit f7108a20dee44e5bb037f9e48f6a207b42e6ae1c Author: Jan Engelhardt Date: Wed Oct 8 11:35:18 2008 +0200 netfilter: xtables: move extension arguments into compound structure (1/6) The function signatures for Xtables extensions have grown over time. It involves a lot of typing/replication, and also a bit of stack space even if they are not used. Realize an NFWS2008 idea and pack them into structs. The skb remains outside of the struct so gcc can continue to apply its optimizations. This patch does this for match extensions' match functions. A few ambiguities have also been addressed. The "offset" parameter for example has been renamed to "fragoff" (there are so many different offsets already) and "protoff" to "thoff" (there is more than just one protocol here, so clarify). Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit c2df73de246ae75705af8ceed4f385b261dea108 Author: Jan Engelhardt Date: Wed Oct 8 11:35:18 2008 +0200 netfilter: xtables: use "if" blocks in Kconfig Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit aba0d34800d7f56493b4d5548cc06498a4d69124 Author: Jan Engelhardt Date: Wed Oct 8 11:35:17 2008 +0200 netfilter: xtables: sort extensions alphabetically in Kconfig Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 20f3c56f4d7c76bcb66050f3364aa8da110f5bbd Author: Jan Engelhardt Date: Wed Oct 8 11:35:17 2008 +0200 netfilter: ebtables: make BRIDGE_NF_EBTABLES a menuconfig option Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 2203eb47603b01b15a4b1d5b1c7886da96158e74 Author: Jan Engelhardt Date: Wed Oct 8 11:35:17 2008 +0200 netfilter: ip6tables: fix Kconfig entry dependency for ip6t_LOG ip6t_LOG does certainly not depend on the filter table. (Also, move it so that menuconfig still displays it correctly.) Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 77d7358995489bf354fb4f65f4528e47980ffb08 Author: Jan Engelhardt Date: Wed Oct 8 11:35:17 2008 +0200 netfilter: ip6tables: fix name of hopbyhop in Kconfig The module is called hbh, not hopbyhop. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 367c679007fa4f990eb7ee381326ec59d8148b0e Author: Jan Engelhardt Date: Wed Oct 8 11:35:17 2008 +0200 netfilter: xtables: do centralized checkentry call (1/2) It used to be that {ip,ip6,etc}_tables called extension->checkentry themselves, but this can be moved into the xtables core. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 147c3844ad381b58715a6ee2ea697594e3c06284 Author: Jan Engelhardt Date: Wed Oct 8 11:35:16 2008 +0200 netfilter: ebtables: fix one wrong return value Usually -EINVAL is used when checkentry fails (see *_tables). Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit f7277f8d3aa4d3f99a9bdb48b27a2344a637a4b2 Author: Jan Engelhardt Date: Wed Oct 8 11:35:16 2008 +0200 netfilter: remove redundant casts from Ebtables Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 66bff35b722956cc2423f55fcf1b69cefa24ef8b Author: Jan Engelhardt Date: Wed Oct 8 11:35:16 2008 +0200 netfilter: remove unused Ebtables functions Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 5365f8022e04310f0276c95e82548da917d514db Author: Jan Engelhardt Date: Wed Oct 8 11:35:16 2008 +0200 netfilter: implement hotdrop for Ebtables Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit f2ff525c8dae57b3cda51d76443f60f764f34202 Author: Jan Engelhardt Date: Wed Oct 8 11:35:15 2008 +0200 netfilter: ebtables: use generic table checking Ebtables ORs (1 << NF_BR_NUMHOOKS) into the hook mask to indicate that the extension was called from a base chain. So this also needs to be present in the extensions' ->hooks. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 102befab75c438bfa356c6976026326728771ebc Author: Jan Engelhardt Date: Wed Oct 8 11:35:15 2008 +0200 netfilter: x_tables: output bad hook mask in hexadecimal It is a mask, and masks are most useful in hex. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 043ef46c7690bfdbd5b012e15812a14a19ca5604 Author: Jan Engelhardt Date: Wed Oct 8 11:35:15 2008 +0200 netfilter: move Ebtables to use Xtables Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 2d06d4a5cc107046508d860a0b47dbc43b829b79 Author: Jan Engelhardt Date: Wed Oct 8 11:35:15 2008 +0200 netfilter: change Ebtables function signatures to match Xtables's Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 815377fe344c799228ca6278613ca3100b069ad5 Author: Jan Engelhardt Date: Wed Oct 8 11:35:14 2008 +0200 netfilter: ebt_among: obtain match size through different means The function signatures will be changed to match those of Xtables, and the datalen argument will be gone. ebt_among unfortunately relies on it, so we need to obtain it somehow. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 001a18d369f4813ed792629ff4a9a6ade2a4a031 Author: Jan Engelhardt Date: Wed Oct 8 11:35:14 2008 +0200 netfilter: add dummy members to Ebtables code to ease transition to Xtables Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 0ac6ab1f7915fc820ca0cf8f597290dbb249edcc Author: Jan Engelhardt Date: Wed Oct 8 11:35:13 2008 +0200 netfilter: Change return types of targets/watchers for Ebtables extensions Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 8cc784eec6676b58e7f60419c88179aaa97bf71c Author: Jan Engelhardt Date: Wed Oct 8 11:35:13 2008 +0200 netfilter: change return types of match functions for ebtables extensions Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 19eda879a136889110c692dec4c2ab59e0e43cef Author: Jan Engelhardt Date: Wed Oct 8 11:35:13 2008 +0200 netfilter: change return types of check functions for Ebtables extensions Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 18219d3f7d6a5bc43825a41e0763158efbdb80d3 Author: Jan Engelhardt Date: Wed Oct 8 11:35:13 2008 +0200 netfilter: ebtables: do centralized size checking Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit d2f26037a38ada4a5d40d1cf0b32bc5289f50312 Author: KOVACS Krisztian Date: Wed Oct 8 11:35:12 2008 +0200 netfilter: Add documentation for tproxy Add basic usage instructions to Documentation/networking. Signed-off-by: KOVACS Krisztian Signed-off-by: Patrick McHardy commit e84392707e10301b93121e1b74e2823db50cdf9e Author: KOVACS Krisztian Date: Wed Oct 8 11:35:12 2008 +0200 netfilter: iptables TPROXY target The TPROXY target implements redirection of non-local TCP/UDP traffic to local sockets. Additionally, it's possible to manipulate the packet mark if and only if a socket has been found. (We need this because we cannot use multiple targets in the same iptables rule.) Signed-off-by: KOVACS Krisztian Signed-off-by: Patrick McHardy commit 136cdc71fd54e77463e570643ac76e2b696e48a0 Author: KOVACS Krisztian Date: Wed Oct 8 11:35:12 2008 +0200 netfilter: iptables socket match Add iptables 'socket' match, which matches packets for which a TCP/UDP socket lookup succeeds. Signed-off-by: KOVACS Krisztian Signed-off-by: Patrick McHardy commit 9ad2d745a23853927a19789b034d9eb2e62d78ee Author: KOVACS Krisztian Date: Wed Oct 8 11:35:12 2008 +0200 netfilter: iptables tproxy core The iptables tproxy core is a module that contains the common routines used by various tproxy related modules (TPROXY target and socket match) Signed-off-by: KOVACS Krisztian Signed-off-by: Patrick McHardy commit 73e4022f78acdbe420e8c24a7afbd90f4c8f5077 Author: KOVACS Krisztian Date: Wed Oct 8 11:35:12 2008 +0200 netfilter: split netfilter IPv4 defragmentation into a separate module Netfilter connection tracking requires all IPv4 packets to be defragmented. Both the socket match and the TPROXY target depend on this functionality, so this patch separates the Netfilter IPv4 defrag hooks into a separate module. Signed-off-by: KOVACS Krisztian Signed-off-by: Patrick McHardy commit 4de6f16b9ec2422fa7ef9c22f7b1c8d5a55499b4 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:11 2008 +0200 netfilter: enable netfilter in netns From kernel perspective, allow entrance in nf_hook_slow(). Stuff which uses nf_register_hook/nf_register_hooks, but otherwise not netns-ready: DECnet netfilter ipt_CLUSTERIP nf_nat_standalone.c together with XFRM (?) IPVS several individual match modules (like hashlimit) ctnetlink NOTRACK all sorts of queueing and reporting to userspace L3 and L4 protocol sysctls, bridge sysctls probably something else Anyway critical mass has been achieved, there is no reason to hide netfilter any longer. From userspace perspective, allow to manipulate all sorts of iptables/ip6tables/arptables rules. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit cfd6e3d74751b62b6d0844e24c911776e40a0135 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:11 2008 +0200 netfilter: netns nat: PPTP NAT in netns Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 9174c1538fffbb5dddab99563eac6b3d8b212277 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:11 2008 +0200 netfilter: netns nf_conntrack: fixup DNAT in netns Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 0c4c9288ada0e6642d511ef872f10a4781a896ff Author: Alexey Dobriyan Date: Wed Oct 8 11:35:11 2008 +0200 netfilter: netns nat: per-netns bysource hash Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit e099a173573ce1ba171092aee7bb3c72ea686e59 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:10 2008 +0200 netfilter: netns nat: per-netns NAT table Same story as with iptable_filter, iptables_raw tables. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit b8b8063e0d0835fb44c88d9fded2be31c9a1757e Author: Alexey Dobriyan Date: Wed Oct 8 11:35:10 2008 +0200 netfilter: netns nat: fix ipt_MASQUERADE in netns First, allow entry in notifier hook. Second, start conntrack cleanup in netns to which netdevice belongs. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 0e6e75af921d1f4799eeb9f83a31c86ab7cdeb8f Author: Alexey Dobriyan Date: Wed Oct 8 11:35:10 2008 +0200 netfilter: netns nf_conntrack: PPTP conntracking in netns Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 3bb0d1c00f86b13bb184193a8f0189ddd6f0459f Author: Alexey Dobriyan Date: Wed Oct 8 11:35:10 2008 +0200 netfilter: netns nf_conntrack: GRE conntracking in netns * make keymap list per-netns * per-netns keymal lock (not strictly necessary) * flush keymap at netns stop and module unload. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 84541cc13a3bb31a58c096dde3517461e3ad91c2 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:09 2008 +0200 netfilter: netns nf_conntrack: H323 conntracking in netns Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit a5c3a8005cb7a36ebcc5b849f6045069ce4f7ca8 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:09 2008 +0200 netfilter: netns nf_conntrack: SIP conntracking in netns Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 08f6547d266fdba087f7fa7963fc0610be5b7cd7 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:09 2008 +0200 netfilter: netns nf_conntrack: final netns tweaks Add init_net checks to not remove kmem_caches twice and so on. Refactor functions to split code which should be executed only for init_net into one place. ip_ct_attach and ip_ct_destroy assignments remain separate, because they're separate stages in setup and teardown. NOTE: NOTRACK code is in for-every-net part. It will be made per-netns after we decidce how to do it correctly. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit d716a4dfbbdf0d4731d596a96e5f4b0d892ac168 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:09 2008 +0200 netfilter: netns nf_conntrack: per-netns conntrack accounting Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit c2a2c7e0cc39e7f9336cd67e8307a110bdba82f3 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:08 2008 +0200 netfilter: netns nf_conntrack: per-netns net.netfilter.nf_conntrack_log_invalid sysctl Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit c04d05529a6e0bf97183a2caf76a0c7f07f5b78c Author: Alexey Dobriyan Date: Wed Oct 8 11:35:08 2008 +0200 netfilter: netns nf_conntrack: per-netns net.netfilter.nf_conntrack_checksum sysctl Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 802507071b72ed5025747126099cbc6d1542f596 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:08 2008 +0200 netfilter: netns nf_conntrack: per-netns net.netfilter.nf_conntrack_count sysctl Note, sysctl table is always duplicated, this is simpler and less special-cased. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 8e9df80180b73d4107bf8fbf28b1633c541d2770 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:08 2008 +0200 netfilter: netns nf_conntrack: per-netns /proc/net/stat/nf_conntrack, /proc/net/stat/ip_conntrack Show correct conntrack count, while I'm at it. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 0d55af8791bfb42e04cc456b348910582f230343 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:07 2008 +0200 netfilter: netns nf_conntrack: per-netns statistics Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 6058fa6bb96a5b6145cba10c5171f09c2783ca69 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:07 2008 +0200 netfilter: netns nf_conntrack: per-netns event cache Heh, last minute proof-reading of this patch made me think, that this is actually unneeded, simply because "ct" pointers will be different for different conntracks in different netns, just like they are different in one netns. Not so sure anymore. [Patrick: pointers will be different, flushing can only be done while inactive though and thus it needs to be per netns] Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit a71996fccce4b2086a26036aa3c915365ca36926 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:07 2008 +0200 netfilter: netns nf_conntrack: pass conntrack to nf_conntrack_event_cache() not skb This is cleaner, we already know conntrack to which event is relevant. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 678d66753091a4102910392fb6198a6c6ce7f510 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:07 2008 +0200 netfilter: netns nf_conntrack: cleanup after L3 and L4 proto unregister in every netns Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 68047937677f2dffb5c47b57ce8baba5714b2142 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:06 2008 +0200 netfilter: netns nf_conntrack: unregister helper in every netns Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit b76a461f11eb5f32d37a9c8eae7b2f3b3f261b43 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:06 2008 +0200 netns: export netns list Conntrack code will use it for a) removing expectations and helpers when corresponding module is removed, and b) removing conntracks when L3 protocol conntrack module is removed. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 5e6b29972b7e9c9c39882227e36fe0cd3463fe96 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:06 2008 +0200 netfilter: netns nf_conntrack: per-netns /proc/net/ip_conntrack, /proc/net/stat/ip_conntrack, /proc/net/ip_conntrack_expect Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit dc5129f8df7cc3f2f04b322728d71c42795d34cc Author: Alexey Dobriyan Date: Wed Oct 8 11:35:06 2008 +0200 netfilter: netns nf_conntrack: per-netns /proc/net/nf_conntrack_expect Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit b2ce2c7479d9b60dd268203e56bb738e78fd5fda Author: Alexey Dobriyan Date: Wed Oct 8 11:35:05 2008 +0200 netfilter: netns nf_conntrack: per-netns /proc/net/nf_conntrack, /proc/net/stat/nf_conntrack Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 74c51a1497033e6ff7b8096797daca233a4a30df Author: Alexey Dobriyan Date: Wed Oct 8 11:35:05 2008 +0200 netfilter: netns nf_conntrack: pass netns pointer to L4 protocol's ->error hook Again, it's deducible from skb, but we're going to use it for nf_conntrack_checksum and statistics, so just pass it from upper layer. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit a702a65fc1376fc1f6757ec2a6960348af3f1876 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:04 2008 +0200 netfilter: netns nf_conntrack: pass netns pointer to nf_conntrack_in() It's deducible from skb->dev or skb->dst->dev, but we know netns at the moment of call, so pass it down and use for finding and creating conntracks. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 63c9a26264be108b52de087724673f8664570e34 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:04 2008 +0200 netfilter: netns nf_conntrack: per-netns unconfirmed list What is confirmed connection in one netns can very well be unconfirmed in another one. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 9b03f38d0487f3908696242286d934c9b38f9d2a Author: Alexey Dobriyan Date: Wed Oct 8 11:35:03 2008 +0200 netfilter: netns nf_conntrack: per-netns expectations Make per-netns a) expectation hash and b) expectations count. Expectations always belongs to netns to which it's master conntrack belong. This is natural and doesn't bloat expectation. Proc files and leaf users are stubbed to init_net, this is temporary. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit b21f89019399ff75d9c239010e38b840eb6e01e7 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:03 2008 +0200 netfilter: netns: fix {ip,6}_route_me_harder() in netns Take netns from skb->dst->dev. It should be safe because, they are called from LOCAL_OUT hook where dst is valid (though, I'm not exactly sure about IPVS and queueing packets to userspace). [Patrick: its safe everywhere since they already expect skb->dst to be set] Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 400dad39d1c33fe797e47326d87a3f54d0ac5181 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:03 2008 +0200 netfilter: netns nf_conntrack: per-netns conntrack hash * make per-netns conntrack hash Other solution is to add ->ct_net pointer to tuplehashes and still has one hash, I tried that it's ugly and requires more code deep down in protocol modules et al. * propagate netns pointer to where needed, e. g. to conntrack iterators. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 49ac8713b6d064adf7474080fdccebd7cce76be0 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:03 2008 +0200 netfilter: netns nf_conntrack: per-netns conntrack count Sysctls and proc files are stubbed to init_net's one. This is temporary. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 5a1fb391d881905e89623d78858d05b248cbc86a Author: Alexey Dobriyan Date: Wed Oct 8 11:35:02 2008 +0200 netfilter: netns nf_conntrack: add ->ct_net -- pointer from conntrack to netns Conntrack (struct nf_conn) gets pointer to netns: ->ct_net -- netns in which it was created. It comes from netdevice. ->ct_net is write-once field. Every conntrack in system has ->ct_net initialized, no exceptions. ->ct_net doesn't pin netns: conntracks are recycled after timeouts and pinning background traffic will prevent netns from even starting shutdown sequence. Right now every conntrack is created in init_net. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit dfdb8d791877052bbb527d9688d94a064721d8f7 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:02 2008 +0200 netfilter: netns nf_conntrack: add netns boilerplate One comment: #ifdefs around #include is necessary to overcome amazing compile breakages in NOTRACK-in-netns patch (see below). Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit e10aad9998e463df8e25ec749538faf3324dd31b Author: Alexey Dobriyan Date: Wed Oct 8 11:35:02 2008 +0200 netfilter: netns: ip6t_REJECT in netns for real Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 7dd1b8dad84c9561fe8949ed5db4de15aee877eb Author: Alexey Dobriyan Date: Wed Oct 8 11:35:02 2008 +0200 netfilter: netns: ip6table_mangle in netns for real Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 1339dd91719f3e841b113ddaccd30fd87b9d2332 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:01 2008 +0200 netfilter: netns: ip6table_raw in netns for real Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 48dc7865aa3db9404aedc8677d9daf8f8f469ab0 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:01 2008 +0200 netfilter: netns: remove nf_*_net() wrappers Now that dev_net() exists, the usefullness of them is even less. Also they're a big problem in resolving circular header dependencies necessary for NOTRACK-in-netns patch. See below. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 55b69e91040c685a064198bd76e59885b7ad26c6 Author: Jan Engelhardt Date: Wed Oct 8 11:35:01 2008 +0200 netfilter: implement NFPROTO_UNSPEC as a wildcard for extensions When a match or target is looked up using xt_find_{match,target}, Xtables will also search the NFPROTO_UNSPEC module list. This allows for protocol-independent extensions (like xt_time) to be reused from other components (e.g. arptables, ebtables). Extensions that take different codepaths depending on match->family or target->family of course cannot use NFPROTO_UNSPEC within the registration structure (e.g. xt_pkttype). Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit ee999d8b9573df1b547aacdc6d79f86eb79c25cd Author: Jan Engelhardt Date: Wed Oct 8 11:35:01 2008 +0200 netfilter: x_tables: use NFPROTO_* in extensions Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 7e9c6eeb136a46dfd941852803b3a9dd78939b69 Author: Jan Engelhardt Date: Wed Oct 8 11:35:00 2008 +0200 netfilter: Introduce NFPROTO_* constants The netfilter subsystem only supports a handful of protocols (much less than PF_*) and even non-PF protocols like ARP and pseudo-protocols like PF_BRIDGE. By creating NFPROTO_*, we can earn a few memory savings on arrays that previously were always PF_MAX-sized and keep the pseudo-protocols to ourselves. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 079aa88fe7172b7650c7cf2c0bc01662bafea236 Author: Jan Engelhardt Date: Wed Oct 8 11:35:00 2008 +0200 netfilter: xt_recent: IPv6 support This updates xt_recent to support the IPv6 address family. The new /proc/net/xt_recent directory must be used for this. The old proc interface can also be configured out. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit e948b20a71a06a740c925d6ea22b59b4e17cfa0c Author: Jan Engelhardt Date: Wed Oct 8 11:35:00 2008 +0200 netfilter: rename ipt_recent to xt_recent Like with other modules (such as ipt_state), ipt_recent.h is changed to forward definitions to (IOW include) xt_recent.h, and xt_recent.c is changed to use the new constant names. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 76108cea065cda58366d16a7eb6ca90d717a1396 Author: Jan Engelhardt Date: Wed Oct 8 11:35:00 2008 +0200 netfilter: Use unsigned types for hooknum and pf vars and (try to) consistently use u_int8_t for the L3 family. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 5b04f271fe49bb7adb061de454d383c027a18de0 Author: Graf Yang Date: Wed Oct 8 17:32:57 2008 +0800 Blackfin arch: Modify some funtion names to more genernal ones Signed-off-by: Graf Yang Signed-off-by: Bryan Wu commit 990d0f2ced23052abc7efa09bd05bff34e00cf73 Merge: 85ba94b... 34b3ede... e545a61... d294eb8... Author: Ingo Molnar Date: Wed Oct 8 11:31:02 2008 +0200 Merge branches 'sched/devel', 'sched/cpu-hotplug', 'sched/cpusets' and 'sched/urgent' into sched/core commit 5e95320f9fb7a3171bb75eba15acb745c6e43805 Author: Robin Getz Date: Wed Oct 8 17:22:49 2008 +0800 Blackfin arch: rename blackfin_sram.c to sram-alloc.c rename blackfin_sram.c to sram-alloc.c (we know it is a blackfin file, since it is in arch/blackfin) - and there is no "driver" code in there, it is just an allocator/deallocator for L1 and L2 sram. Also fix a problem that checkpatch pointed out Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 763e63c640ae799e3ce6495e71832744bffc661b Author: Graf Yang Date: Wed Oct 8 17:08:15 2008 +0800 Blackfin arch: add a meaningful name for each irqchip Signed-off-by: Graf Yang Signed-off-by: Bryan Wu commit ca87b7ad00a620f259048fdfb27dc2a5384c1e4e Author: Graf Yang Date: Wed Oct 8 17:30:01 2008 +0800 Blackfin arch: add CONFIG_APP_STACKS_L1 to enable or disable putting kernel stacks in L1 use CONFIG_APP_STACKS_L1 to enable or disable putting kernel stacks in L1, default is enabled, SMP kernel need turn it off Signed-off-by: Graf Yang Signed-off-by: Bryan Wu commit 7d98c881eed9e19767bc77ffd650d0041b4f41ec Author: Robin Getz Date: Wed Oct 8 16:29:01 2008 +0800 Blackfin arch: Make sure we protect except 2 properly, and print out memory properly Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 74c04503d777b5d1f8f2e38852df4f1a6c82fc7b Author: Mike Frysinger Date: Wed Oct 8 16:13:17 2008 +0800 Blackfin arch: mark local gpio_error() as static Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 5a07055a3849574f4fbe5d0ce7cd2d26ab9a37c1 Author: Jarkko Nikula Date: Wed Oct 8 10:01:41 2008 +0300 ARM: OMAP: Fixes to omap_mcbsp_request function Bootloader may let McBSP logic running so make sure that block is idle before requesting IRQs. Also make sure that TX and RX waitqueues are initialized before request_irq. Signed-off-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit 05228c35c67995c745ae3c768eaf90740c643fa9 Author: Jarkko Nikula Date: Wed Oct 8 10:01:40 2008 +0300 ARM: OMAP: Add support for OMAP2430 in McBSP Signed-off-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit 9c8e3a0fac67d24bbc60ccb3920b6a9150e798bc Author: Chandra Shekhar Date: Wed Oct 8 10:01:40 2008 +0300 ARM: OMAP: Add support for McBSP devices 3 - 5 on 34xx Based on Chandra's earlier patches in linux-omap tree. Signed-off-by: Chandra Shekhar Signed-off-by: Tony Lindgren commit b4b58f5834a023dab67201db9a626bef07bb200c Author: Chandra Shekhar Date: Wed Oct 8 10:01:39 2008 +0300 ARM: OMAP: Allocate McBSP devices dynamically Based on Chandra's earlier patches in linux-omap tree. Note that omap1_mcbsp_check and omap2_mcbsp_check are no longer needed as there's now omap_mcbsp_check_valid_id() defined. Also some functions can now be marked __init. Signed-off-by: Chandra Shekhar Signed-off-by: Tony Lindgren commit 25cef2251415cef5438e20965fec87096fe2efb0 Author: Uwe Kleine-König Date: Wed Oct 8 10:01:39 2008 +0300 Fix sections for omap-mcbsp platform driver Don't use __init but __devinit to define probe function. A pointer to omap_mcbsp_probe is passed to the core via platform_driver_register and so the function must not disappear when the init code is freed. Using __init and having HOTPLUG=y the following probably oopses: echo -n omap-mcbsp.1 > /sys/bus/platform/driver/omap-mcbsp/unbind echo -n omap-mcbsp.1 > /sys/bus/platform/driver/omap-mcbsp/bind While at it move the remove function to the .devexit.text section. Signed-off-by: Uwe Kleine-König Cc: Russell King Signed-off-by: Tony Lindgren commit fffe53bee7d90ab2103d2520ab4d095aea9b7397 Author: Mike Frysinger Date: Wed Oct 8 14:46:09 2008 +0800 Blackfin arch: fix bug - sometimes there is no response to the hitting key in uboot for bf561-ezkit when running with 50mhz SCLK use 10 delays rather than 7 Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 5c64e0d5109532f8184be29c1dc163059e3ded4b Author: Robin Getz Date: Wed Oct 8 14:43:47 2008 +0800 Blackfin arch: Better error handling of unknown exceptions Better error handling of unknown exceptions, allows userspace to do a EXCPT n instruction for a not installed exception handler, and the kernel doesn't crash (like it use to before this). Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit aca5e4aac88a0ee84e9dc63e3d4189adbaef24ca Author: Michael Hennerich Date: Wed Oct 8 14:27:59 2008 +0800 Blackfin arch: add BF54x / BF52x Rotary Input device driver platform resource to board file Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit a5ac0129249611fc4a35e6d7cd9b8462d67e5798 Author: Sonic Zhang Date: Mon Oct 13 14:07:19 2008 +0800 Blackfin arch: add supporting for kgdb Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 075f664689b40217539ebfe856fab73d302a15f1 Merge: b8bae41... ad788b5... Author: David S. Miller Date: Tue Oct 7 16:26:38 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit b8bae41ed6a53cce56c50811a91cd963e3187d1c Author: Rami Rosen Date: Tue Oct 7 15:34:37 2008 -0700 ipv4: add mc_count to in_device. This patch add mc_count to struct in_device and updates increment/decrement/initilaize of this field in IPv4 and in IPv6. - Also printing the vfs /proc entry (/proc/net/igmp) is adjusted to use the new mc_count. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 6cf4a9243a7fea75e7fd6f2e1ba6fb01c805e056 Author: Robert Reif Date: Tue Oct 7 15:24:02 2008 -0700 sparc32: sun4m interrupt mask cleanup Here is an updated version of a patch I wrote 6 years ago http://marc.info/?l=linux-sparc&m=103939103607617&w=2 that simplifies interrupt mask lookup. It's main purpose is to add VME bus support but it's really a cleanup of the mask code. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit 63ffc23d307c9534c732edd87895e37b223004a3 Author: Cedric Le Goater Date: Fri Oct 3 23:41:51 2008 -0400 sunrpc: fix oops in rpc_create when the mount namespace is unshared On a system with nfs mounts, if a task unshares its mount namespace, a oops can occur when the system is rebooted if the task is the last to unreference the nfs mount. It will try to create a rpc request using utsname() which has been invalidated by free_nsproxy(). The patch fixes the issue by using the global init_utsname() which is always valid. the capability of identifying rpc clients per uts namespace stills needs some extra work so this should not be a problem. BUG: unable to handle kernel NULL pointer dereference at 00000004 IP: [] rpc_create+0x332/0x42f Oops: 0000 [#1] DEBUG_PAGEALLOC Pid: 1857, comm: uts-oops Not tainted (2.6.27-rc5-00319-g7686ad5 #4) EIP: 0060:[] EFLAGS: 00210287 CPU: 0 EIP is at rpc_create+0x332/0x42f EAX: 00000000 EBX: df26adf0 ECX: c0251887 EDX: 00000001 ESI: df26ae58 EDI: c02f293c EBP: dda0fc9c ESP: dda0fc2c DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068 Process uts-oops (pid: 1857, ti=dda0e000 task=dd9a0778 task.ti=dda0e000) Stack: c0104532 dda0fffc dda0fcac dda0e000 dda0e000 dd93b7f0 00000009 c02f2880 df26aefc dda0fc68 c01096b7 00000000 c0266ee0 c039a070 c039a070 dda0fc74 c012ca67 c039a064 dda0fc8c c012cb20 c03daf74 00000011 00000000 c0275c90 Call Trace: [] ? dump_trace+0xc2/0xe2 [] ? save_stack_trace+0x1c/0x3a [] ? save_trace+0x37/0x8c [] ? add_lock_to_list+0x64/0x96 [] ? rpcb_register_call+0x62/0xbb [] ? rpcb_register+0xab/0xb3 [] ? svc_register+0xb4/0x128 [] ? svc_destroy+0xec/0x103 [] ? svc_exit_thread+0x87/0x8d [] ? lockd_down+0x61/0x81 [] ? nlmclnt_done+0xd/0xf [] ? nfs_destroy_server+0x14/0x16 [] ? nfs_free_server+0x4c/0xaa [] ? nfs_kill_super+0x23/0x27 [] ? deactivate_super+0x3f/0x51 [] ? mntput_no_expire+0x95/0xb4 [] ? release_mounts+0x6b/0x7a [] ? __put_mnt_ns+0x62/0x70 [] ? free_nsproxy+0x25/0x80 [] ? switch_task_namespaces+0x3e/0x43 [] ? exit_task_namespaces+0xa/0xc [] ? do_exit+0x4fd/0x666 [] ? do_group_exit+0x5d/0x83 [] ? get_signal_to_deliver+0x2c8/0x2e0 [] ? do_notify_resume+0x69/0x700 [] ? do_sigaction+0x134/0x145 [] ? hrtimer_nanosleep+0x8f/0xce [] ? hrtimer_wakeup+0x0/0x1c [] ? work_notifysig+0x13/0x1b ======================= Code: 70 20 68 cb c1 2c c0 e8 75 4e 01 00 8b 83 ac 00 00 00 59 3d 00 f0 ff ff 5f 77 63 eb 57 a1 00 80 2d c0 8b 80 a8 02 00 00 8d 73 68 <8b> 40 04 83 c0 45 e8 41 46 f7 ff ba 20 00 00 00 83 f8 21 0f 4c EIP: [] rpc_create+0x332/0x42f SS:ESP 0068:dda0fc2c Signed-off-by: Cedric Le Goater Cc: Chuck Lever Cc: Trond Myklebust Cc: "Eric W. Biederman" Cc: "Serge E. Hallyn" Signed-off-by: Andrew Morton Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit d7fb120774f062ce7db439863ab5d4190d6f989c Author: Trond Myklebust Date: Mon Oct 6 20:08:56 2008 -0400 NFS: Don't use range_cyclic for data integrity syncs It is more efficient to write linearly starting from the beginning of the file. Signed-off-by: Trond Myklebust commit 8491945f11c227400ef294d560f6d7aace76bc33 Author: Steve Dickson Date: Fri Apr 11 20:03:06 2008 -0400 NFS: Client mounts hang when exported directory do not exist This patch fixes a regression that was introduced by the string based mounts. nfs_mount() statically returns -EACCES for every error returned by the remote mounted. This is incorrect because -EACCES is an non-fatal error to the mount.nfs command. This error causes mount.nfs to retry the mount even in the case when the exported directory does not exist. This patch maps the errors returned by the remote mountd into valid errno values, exactly how it was done pre-string based mounts. By returning the correct errno enables mount.nfs to do the right thing. Signed-off-by: Steve Dickson [Trond.Myklebust@netapp.com: nfs_stat_to_errno() now correctly returns negative errors, so remove the sign change.] Signed-off-by: Trond Myklebust commit 96165e2b7c4e2c82a0b60c766d4a2036444c21a0 Author: Trond Myklebust Date: Fri Oct 3 16:48:40 2008 -0400 SUNRPC: Fix a memory leak in rpcb_getport_async Signed-off-by: Trond Myklebust commit 9a4bd29fe8f6d3f015fe1c8e5450eb62cfebfcc9 Author: Trond Myklebust Date: Fri Oct 3 16:48:34 2008 -0400 SUNRPC: Fix autobind on cloned rpc clients Despite the fact that cloned rpc clients won't have the cl_autobind flag set, they may still find themselves calling rpcb_getport_async(). For this to happen, it suffices for a _parent_ rpc_clnt to use autobinding, in which case any clone may find itself triggering the !xprt_bound() case in call_bind(). The correct fix for this is to walk back up the tree of cloned rpc clients, in order to find the parent that 'owns' the transport, either because it has clnt->cl_autobind set, or because it originally created the transport... Signed-off-by: Trond Myklebust commit d1ce02e1689dff9d413138f60a79b4e3affb4708 Author: Chuck Lever Date: Thu Sep 25 11:57:12 2008 -0400 NFS: SETCLIENTID truncates client ID and netid The sc_name field is currently 56 bytes long. This is not large enough to hold a pair of IPv6 addresses, the authentication type, the protocol name, and a uniquifier number. The maximum possible size of the name string using IPv6 addresses is just under 110 bytes, so I increased the size of the sc_name field to accomodate this maximum. In addition, the strings in the nfs4_setclientid structure are constructed with scnprintf(), which wants to terminate its output with '\0'. The sc_netid field was large enough only for a three byte netid string and a '\0' so inet6 netids were being truncated. Perhaps we don't need the overhead of scnprintf() to do a simple string copy, but I fixed this by increasing the size of the buffer by one byte. Since all three of the string buffers in nfs4_setclientid are constructed with scnprintf(), I increased the size of all three by one byte to document the requirement, although I don't think either the universal address field or the name field will be so small that these strings get truncated in this way. The size of the Linux client's client ID on the wire will be larger than before. RFC 3530 suggests the size limit for client IDs is 1024, and we are still well below that. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 9fa8d66f1e55bf197568c8c689043c2aad1ffc97 Author: Richard Kennedy Date: Tue Aug 26 16:23:20 2008 +0100 NFS: remove 8 bytes of padding from struct nfs_fattr on 64 bit builds remove 8 bytes of padding from struct nfs_fattr on 64 bit builds This also removes padding from several nfs structures, including 16 bytes from nfs4_opendata, nfs4_createdata,nfs3_createdata & 8 bytes from nfs_read_data,nfs_write_data,nfs_removeres,nfs4_closedata This also reduces the reported stack usage of many nfs functions (30+). Signed-off-by: Richard Kennedy ---- This patch is against the latest git 2.6.27-rc4. I've built & run this on my AMD64 desktop, & successfully run _simple_ tests with a 64 bit client => 32 bit server & 32 bit client to 64 bit server. On fedora with gcc (GCC) 4.3.0 20080428 (Red Hat 4.3.0-8) checkpatch reports 33 functions with reduced stack usage. e.g. __nfs_revalidate_inode [nfs] 216 => 200 _nfs4_proc_access [nfs] 304 => 288 _nfs4_proc_link [nfs] 536 => 504 _nfs4_proc_remove [nfs] 304 => 288 _nfs4_proc_rename [nfs] 584 => 552 nfs3_proc_access [nfs] 272 => 256 nfs3_proc_getacl [nfs] 384 => 368 nfs3_proc_link [nfs] 496 => 464 etc I can supply the complete list if anyone is interested. regards Richard Signed-off-by: Trond Myklebust commit ea31a4437c59219bf3ea946d58984b01a45a289c Author: J. Bruce Fields Date: Wed Aug 20 16:10:23 2008 -0400 nfs: Fix misparsing of nfsv4 fs_locations attribute The code incorrectly assumes here that the server name (or ip address) is null-terminated. This can cause referrals to fail in some cases. Also support ipv6 addresses. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit f0c929251e01a7a86b6254c775cb6b65c6457f10 Author: J. Bruce Fields Date: Wed Aug 20 16:10:22 2008 -0400 nfs: prepare to share nfs_set_port We plan to use this function elsewhere. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 460cdbc83268dd9641b57d893b03ef52fcc3f96d Author: J. Bruce Fields Date: Wed Aug 20 16:10:21 2008 -0400 nfs: replace while loop by for loops in nfs_follow_referral Whoever wrote this had a bizarre allergy to for loops. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 4ada29d5c4dd2d3ba89510bdbc64be22961fd1cb Author: J. Bruce Fields Date: Wed Aug 20 16:10:20 2008 -0400 nfs: break up nfs_follow_referral This function is a little longer and more deeply nested than necessary. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 37ca8f5c6041516aac603a5abb89b05675493802 Author: EG Keizer Date: Tue Aug 19 16:34:36 2008 -0400 nfs: authenticated deep mounting Allow mount to do authenticated mounts below the root of the exported tree. The wording in RFC 2623, sec 2.3.2. allows fsinfo with UNIX authentication on the root of the export. Mounts are not always done on the root of the exported tree. Especially autoumounts often mount below the root of the exported tree. Some server implementations (justly) require full authentication for the so-called deep mounts. The old code used AUTH_SYS only. This caused deep mounts to fail on systems requiring stronger authentication.. The client should try both authentication types and use the first one that succeeds. This method was already partially implemented. This patch completes the implementation for NFS2 and NFS3. This patch was developed to allow Debian systems to automount home directories on Solaris servers with krb5 authentication. Tested on kernel 2.6.24-etchnhalf.1 Signed-off-by: E.G. Keizer Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit f25b874d39461935b1b5bbffaa622e735e79d49e Author: Jeff Layton Date: Mon Aug 18 09:17:58 2008 -0400 NFS: missing nfs_fattr_init in nfs3_proc_getacl and nfs3_proc_setacls (resend #2) The fattrs used in the NFSv3 getacl/setacl calls are not being properly initialized. This occasionally causes nfs_update_inode to fall into NFSv4 specific codepaths when handling post-op attrs from these calls. Thanks to Cai Qian for noticing the spurious NFSv4 messages in debug output from a v3 mount... Signed-off-by: Jeff Layton Signed-off-by: Trond Myklebust commit f200c11c257b8db5c49dfc0b7f84bceae3109779 Author: J. Bruce Fields Date: Thu Aug 14 18:32:55 2008 -0400 nfs: remove an obsolete nfs_flock comment We *do* now allow bsd flocks over nfs. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 44d5759d3fdad660f000ef319f0ec33a6ac6ae28 Author: Denis V. Lunev Date: Mon Aug 11 12:02:34 2008 +0400 nfs: BUG_ON in nfs_follow_mountpoint Unfortunately, BUG_ON(IS_ROOT(dentry)) can happen inside nfs_follow_mountpoint with NFS running Fedora 8 using a specific setup. https://bugzilla.redhat.com/show_bug.cgi?id=458622 So, the situation should be handled on NFS client gracefully. Signed-off-by: Denis V. Lunev CC: Trond Myklebust CC: J. Bruce Fields Signed-off-by: Trond Myklebust commit c9f6cde6e26ef98ee9c4b6288b126ac9c580d88b Author: Denis V. Lunev Date: Thu Jul 31 09:53:56 2008 +0400 sunrpc: do not pin sunrpc module in the memory Basically, try_module_get here are pretty useless. Any other module using this API will pin sunrpc in memory due using exported symbols. Signed-off-by: Denis V. Lunev Signed-off-by: Trond Myklebust commit fd08d7e9d196ca49afcce0181f1f0ca68f241aa2 Author: Denis V. Lunev Date: Thu Jul 31 09:38:55 2008 +0400 nfs: ERR_PTR is expected on failure from nfs_do_clone_mount Replace NULL with ERR_PTR(-EINVAL). Signed-off-by: Denis V. Lunev Signed-off-by: Trond Myklebust commit d5120ae72a066b18f98e0c45ce73262f58030851 Author: Ben Dooks Date: Tue Oct 7 23:09:51 2008 +0100 [ARM] S3C24XX: Additional include moves Continue moving the include files into arch/arm Signed-off-by: Ben Dooks commit bb8a3b53c20f2c07164a23ff6c320794fee8b95f Author: Adrian Bunk Date: Fri Jul 25 02:55:49 2008 +0300 fix fs/nfs/nfsroot.c compilation This patch fixes the following compile error caused by commit f9247273cb69ba101877e946d2d83044409cc8c5 (UFS: add const to parser token tabl): <-- snip --> ... CC fs/nfs/nfsroot.o /home/bunk/linux/kernel-2.6/git/linux-2.6/fs/nfs/nfsroot.c:130: error: tokens causes a section type conflict make[3]: *** [fs/nfs/nfsroot.o] Error 1 <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Trond Myklebust commit 691beb13cdc88358334ef0ba867c080a247a760f Author: Trond Myklebust Date: Sun Oct 5 14:48:22 2008 -0400 NFS: Allow concurrent inode revalidation Currently, if two processes are both trying to revalidate metadata for the same inode, they will find themselves being serialised. There is no good justification for this now that we have improved our ability to detect stale attribute data, so we should remove that serialisation. Signed-off-by: Trond Myklebust commit be713a443ee019489890e93654557916fbf72612 Author: Denis V. Lunev Date: Tue Oct 7 14:50:06 2008 -0700 netns: make uplitev6 mib per/namespace Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 0c7ed677fb7013c8028045d409a48ac42151187a Author: Denis V. Lunev Date: Tue Oct 7 14:49:36 2008 -0700 netns: make udpv6 mib per/namespace Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit e43291cb37406dae405d50332eaa1ba2264c8dce Author: Denis V. Lunev Date: Tue Oct 7 14:48:53 2008 -0700 netns: add stub functions for per/namespace mibs allocation The content of init_ipv6_mibs/cleanup_ipv6_mibs will be moved to new calls one by one next. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit ab38dc7a70e59a4888ab4acb51daf3c6012ce4b8 Author: Denis V. Lunev Date: Tue Oct 7 14:47:55 2008 -0700 netns: allow per device ipv6 snmp statistics in non-initial namespace Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 2b4209e4b7ba9c7d70910a665ae4b60d49b75fcd Author: Denis V. Lunev Date: Tue Oct 7 14:47:37 2008 -0700 netns: register global ipv6 mibs statistics in each namespace Unused net variable will become used very soon. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 7b43ccecc77480353a5657d993d671cae9e94efd Author: Denis V. Lunev Date: Tue Oct 7 14:47:12 2008 -0700 ipv6: separate seq_ops for global & per/device ipv6 statistics idev has been stored on seq->private. NULL has been stored for global statistics. The situation is changed with net namespace. We need to store pointer to struct net and the only place is seq->private. So, we'll have for /proc/net/dev_snmp6/* and for /proc/net/snmp6 pointers of two different types stored in the same field. This effectively requires to separate seq_ops of these files. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 35f0a5df6cbc315da031c40541e135a059bfde7d Author: Denis V. Lunev Date: Tue Oct 7 14:46:47 2008 -0700 ipv6: consolidate ipv6 sock_stat code at the beginning of net/ipv6/proc.c Simple, comsolidate sockstat6 staff in one place, at the beginning of the file. Right now sockstat6_seq_open/sockstat6_seq_fops looks like an intrusion in the middle of snmp6 code. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 06f38527decedbea0588256ecbb5784d4bb35b81 Author: Denis V. Lunev Date: Tue Oct 7 14:46:18 2008 -0700 netns: register /proc/net/dev_snmp6/* in each ns Do the same for /proc/net/snmp6. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 835bcc0497e18f54153ac9e32b598dd8ffb7aa66 Author: Denis V. Lunev Date: Tue Oct 7 14:45:55 2008 -0700 netns: move /proc/net/dev_snmp6 to struct net Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 4a7e56098f06d505f23f8d7c8d6762221065922a Author: Ilpo Järvinen Date: Tue Oct 7 14:43:31 2008 -0700 tcp: cleanup messy initializer I'm quite sure that if I give this function in its old format for you to inspect, you start to wonder what is the type of demanded or if it's a global variable. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 33f5f57eeb0c6386fdd85f9c690dc8d700ba7928 Author: Ilpo Järvinen Date: Tue Oct 7 14:43:06 2008 -0700 tcp: kill pointless urg_mode It all started from me noticing that this urgent check in tcp_clean_rtx_queue is unnecessarily inside the loop. Then I took a longer look to it and found out that the users of urg_mode can trivially do without, well almost, there was one gotcha. Bonus: those funny people who use urg with >= 2^31 write_seq - snd_una could now rejoice too (that's the only purpose for the between being there, otherwise a simple compare would have done the thing). Not that I assume that the rest of the tcp code happily lives with such mind-boggling numbers :-). Alas, it turned out to be impossible to set wmem to such numbers anyway, yes I really tried a big sendfile after setting some wmem but nothing happened :-). ...Tcp_wmem is int and so is sk_sndbuf... So I hacked a bit variable to long and found out that it seems to work... :-) Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 2f28ea614ff497202d5a52af82da523ae4a20718 Author: Trond Myklebust Date: Sun Oct 5 14:26:11 2008 -0400 NFS: Fix up nfs_setattr_update_inode() Ensure that it sets the inode metadata under the correct spinlock. Signed-off-by: Trond Myklebust commit 076f1fc94c44be2664172c63b4a2b51ae2d265ea Author: Trond Myklebust Date: Sun Oct 5 13:31:21 2008 -0400 NFS: Don't clear nfsi->cache_validity in nfs_check_inode_attributes() If we're merely checking the inode attributes because we suspect that the 'updated' attributes returned by the RPC call are stale, then we shouldn't be doing weak cache consistency updates or clearing the cache_validity flags. Signed-off-by: Trond Myklebust commit 4dc05efb86239321d43a9d74fd2ecd5c21bfc2ad Author: Trond Myklebust Date: Tue Sep 23 17:28:42 2008 -0400 NFS: Convert __nfs_revalidate_inode() to use nfs_refresh_inode() In the case where there are parallel RPC calls to the same inode, we may receive stale metadata due to the lack of ordering, hence the sanity checking of metadata in nfs_refresh_inode(). Currently, __nfs_revalidate_inode() is calling nfs_update_inode() directly, without any further sanity checks, and hence may end up setting the inode up with stale metadata. Fix is to use nfs_refresh_inode() instead of nfs_update_inode(). Signed-off-by: Trond Myklebust commit d65f557f39448c2d9e58cd564037b81e646aed2c Author: Trond Myklebust Date: Sun Oct 5 12:27:55 2008 -0400 NFS: Fix nfs_post_op_update_inode_force_wcc() If we believe that the attributes are old (see nfs_refresh_inode()), then we shouldn't force an update. Also ensure that we hold the inode->i_lock across attribute checks and the call to nfs_refresh_inode_locked() to ensure that we don't race with other attribute updates. Signed-off-by: Trond Myklebust commit 04944b793e18ece23f63c0252646b310c1845940 Author: Suresh Siddha Date: Tue Oct 7 14:04:28 2008 -0700 x86: xsave: set FP, SSE bits in the xsave header in the user sigcontext If a processor implementation discern that a processor state component is in its initialized state, it may modify the corresponding bit in the xsave header.xstate_bv as '0'. State in the memory layout setup by 'xsave' will be consistent with the bit values in the header. During signal handling, legacy applications may change the FP/SSE bits in the sigcontext memory layout without touching the FP/SSE header bits in the xsave header. So always set FP/SSE bits in the xsave header while saving the sigcontext state to the user space. During signal return, this will enable the kernel to capture any changes to the FP/SSE bits by the legacy applications which don't touch xsave headers. xsave aware apps can change the xstate_bv in the xsave header aswell as change any contents in the memory layout. xrestor as part of sigreturn will capture all the changes. Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit f364eadab59b316ea0bd9f9bc01af0ad89065569 Author: Suresh Siddha Date: Tue Oct 7 14:04:27 2008 -0700 x86: xsave: fix error condition in save_i387_xstate() Actually return failure on error. Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit a10ad17630024bf7aae8e7f18352f816ee483091 Author: Trond Myklebust Date: Tue Sep 23 17:28:41 2008 -0400 NFS: Fix the NFS attribute update Currently nfs_refresh_inode() will only update the inode metadata if it sees that the RPC call that returned the nfs_fattr was started after the last update of the inode. This means that if we have parallel RPC calls to the same inode (when sending WRITE calls, for instance), we may often miss updates. This patch attempts to recover those missed updates by also accepting them if the ctime in the nfs_fattr is more recent than the inode's cached ctime. It also recovers the case where the file size has increased, but the ctime has not been updated due to limited ctime resolution. Signed-off-by: Trond Myklebust commit 870a5be8b92151332da65021b7b21104e9c1de07 Author: Trond Myklebust Date: Sun Oct 5 12:07:23 2008 -0400 NFS: Clean up nfs_refresh_inode() and nfs_post_op_update_inode() Try to avoid taking and dropping the inode->i_lock more than once. Do so by moving the code in nfs_refresh_inode() that needs to be done under the spinlock into a function nfs_refresh_inode_locked(), and then having both nfs_refresh_inode() and nfs_post_op_update_inode() call it directly. Signed-off-by: Trond Myklebust commit a2b7ba9ca471438c2bb0c3bdf0ff2ed7fdce3d2f Author: Ben Dooks Date: Tue Oct 7 22:26:09 2008 +0100 [ARM] S3C24XX: Move files out of include/asm-arm/plat-s3c* First move of items out of include/asm-arm/plat-s3c* to their new homes under arch/arm/plat-s3c/include/plat and arch/arm/plat-s3c24xx/include/plat directories. Note, we have to create a dummy arch/arm/plat-s3c/Makefile to allow us to add arch/arm/plat-s3c/include/plat to the path. Signed-off-by: Ben Dooks commit 7973c1f15a0687f47ed70e591e4642d6fc4334d0 Author: Trond Myklebust Date: Tue Jul 15 17:58:14 2008 -0400 NFS: Add mount options for controlling the lookup cache Add the following NFS-specific mount options to the parser. -o lookupcache=all /* Default: cache positive & negative dentries */ -o lookupcache=pos[itive] /* Don't cache negative dentries */ -o lookupcache=none /* Strict revalidation of all dentries */ Signed-off-by: Trond Myklebust commit ff3525a539f5cc81970d08304bdedb4ffba984da Author: Trond Myklebust Date: Fri Aug 15 16:59:14 2008 -0400 NFS: Don't apply NFS_MOUNT_FLAGMASK to text-based mounts The point of introducing text-based mounts was to allow us to add functionality without having to worry about legacy binary mount formats. The mask should be there in order to ensure that binary formats don't start enabling features that they cannot support. There is no justification for applying it to the text mount path. Signed-off-by: Trond Myklebust commit 654bed16cf86a9ef94495d9e6131b7ff7840a3dd Author: Peter Zijlstra Date: Tue Oct 7 14:22:33 2008 -0700 net: packet split receive api Add some packet-split receive hooks. For one this allows to do NUMA node affine page allocs. Later on these hooks will be extended to do emergency reserve allocations for fragments. Signed-off-by: Peter Zijlstra Signed-off-by: David S. Miller commit 4eec952e42314b53e48fef1f54dd89cbf9789734 Author: Trond Myklebust Date: Tue Jul 15 17:58:13 2008 -0400 NFS: Add options for finer control of the lookup cache Add the flag NFS_MOUNT_LOOKUP_CACHE_NONEG to turn off the caching of negative dentries. In reality what we do is to force nfs_lookup_revalidate() to always discard negative dentries. Add the flag NFS_MOUNT_LOOKUP_CACHE_NONE for enforcing stricter revalidation of dentries. It forces the revalidate code to always do a lookup instead of just checking the cached mtime of the parent directory. Signed-off-by: Trond Myklebust commit c57943a1c96214ee68f3890bb6772841ffbfd606 Author: Peter Zijlstra Date: Tue Oct 7 14:18:42 2008 -0700 net: wrap sk->sk_backlog_rcv() Wrap calling sk->sk_backlog_rcv() in a function. This will allow extending the generic sk_backlog_rcv behaviour. Signed-off-by: Peter Zijlstra Signed-off-by: David S. Miller commit b339a47c370ec669f789c5989f54eec1d78574bb Author: Peter Zijlstra Date: Tue Oct 7 14:15:00 2008 -0700 ipv6: initialize ip6_route sysctl vars in ip6_route_net_init() This makes that ip6_route_net_init() does all of the route init code. There used to be a race between ip6_route_net_init() and ip6_net_init() and someone relying on the combined result was left out cold. Signed-off-by: Peter Zijlstra Signed-off-by: David S. Miller commit 68fffc679694d5f7c02fdeb684b481416cd8213b Author: Peter Zijlstra Date: Tue Oct 7 14:12:10 2008 -0700 ipv6: clean up ip6_route_net_init() error handling ip6_route_net_init() error handling looked less than solid, fix 'er up. Signed-off-by: Peter Zijlstra Signed-off-by: David S. Miller commit 0752f1522a9120f731232919f7ad904e9e22b8ce Author: Steve French Date: Tue Oct 7 20:03:33 2008 +0000 [CIFS] make sure we have the right resume info before calling CIFSFindNext When we do a seekdir() or equivalent, we usually end up doing a FindFirst call and then call FindNext until we get to the offset that we want. The problem is that when we call FindNext, the code usually doesn't have the proper info (mostly, the filename of the entry from the last search) to resume the search. Add a "last_entry" field to the cifs_search_info that points to the last entry in the search. We calculate this pointer by using the LastNameOffset field from the search parms that are returned. We then use that info to do a cifs_save_resume_key before we call CIFSFindNext. This patch allows CIFS to reliably pass the "telldir" connectathon test. Signed-off-by: Jeff Layton CC: Stable Signed-off-by: Steve French commit 23542618deb77cfed312842fe8c41ed19fb16470 Author: KOVACS Krisztian Date: Tue Oct 7 12:41:01 2008 -0700 inet: Don't lookup the socket if there's a socket attached to the skb Use the socket cached in the skb if it's present. Signed-off-by: KOVACS Krisztian Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 607c4aaf03041c8bd81555a0218050c0f895088e Author: KOVACS Krisztian Date: Tue Oct 7 12:38:32 2008 -0700 inet: Add udplib_lookup_skb() helpers To be able to use the cached socket reference in the skb during input processing we add a new set of lookup functions that receive the skb on their argument list. Signed-off-by: KOVACS Krisztian Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 6050247d8089037d6d8ea0f3c62fe4a931c1ab14 Author: Steve French Date: Tue Oct 7 18:42:52 2008 +0000 [CIFS] clean up error handling in cifs_unlink Currently, if a standard delete fails and we end up getting -EACCES we try to clear ATTR_READONLY and try the delete again. If that then fails with -ETXTBSY then we try a rename_pending_delete. We aren't handling other errors appropriately though. Another client could have deleted the file in the meantime and we get back -ENOENT, for instance. In that case we wouldn't do a d_drop. Instead of retrying in a separate call, simply goto the original call and use the error handling from that. Also, we weren't properly undoing any attribute changes that were done before returning an error back to the caller. CC: Jeff Layton Signed-off-by: Steve French commit 9a1f27c48065ce713eb47f2fd475b717e63ef239 Author: Arnaldo Carvalho de Melo Date: Tue Oct 7 11:41:57 2008 -0700 inet_hashtables: Add inet_lookup_skb helpers To be able to use the cached socket reference in the skb during input processing we add a new set of lookup functions that receive the skb on their argument list. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: KOVACS Krisztian Signed-off-by: David S. Miller commit 27c4cae28148ad97baa2bf8275f7ebc9e2c37c34 Author: Russell King Date: Tue Oct 7 19:16:33 2008 +0100 [ARM] pxa: allow multi-machine PCMCIA builds Signed-off-by: Russell King commit 4f788bb20047d7f530ad8dfccda74f7ce7a8a0f5 Author: Eric Miao Date: Wed Aug 6 15:59:06 2008 +0800 [ARM] pxa: add preliminary CPUFREQ support for PXA3xx Signed-off-by: Eric Miao Signed-off-by: Russell King commit 5c52de4a6623ac14790d42df69a509631f4db5f6 Author: Eric Miao Date: Wed Aug 6 15:57:04 2008 +0800 [ARM] pxa: add missing ACCR bit definitions to pxa3xx-regs.h Signed-off-by: Eric Miao Signed-off-by: Russell King commit 0d1bde9ed102cf90165adaf7efcff7bb77658eaa Author: Eric Miao Date: Wed Aug 6 15:51:53 2008 +0800 [ARM] pxa: rename cpu-pxa.c to cpufreq-pxa2xx.c Signed-off-by: Eric Miao Signed-off-by: Russell King commit 7ff43535696e65333f2e335aa0063094e3001f39 Author: Eric Miao Date: Sat Sep 27 18:05:49 2008 +0800 [ARM] pxa/zylonite: add support for USB OHCI Signed-off-by: Eric Miao Signed-off-by: Russell King commit 0c392ed9a78cbe0f54955ea4716ade8bc22eb00d Author: Eric Miao Date: Sat Oct 4 12:57:21 2008 +0800 [ARM] ohci-pxa27x: use ioremap() and offset for register access This avoid the pre-mapping of OHCI controller register space, and the mapping is made only when necessary (OHCI is probed). Signed-off-by: Eric Miao Signed-off-by: Russell King commit 0cb0b0d3c6ebb8215500685a1f70a45bbbdc8e47 Author: Eric Miao Date: Sat Oct 4 12:45:39 2008 +0800 [ARM] ohci-pxa27x: introduce pxa27x_clear_otgph() Direct access to pxa27x specific register PSSR in a generic ohci driver is no good, introduce pxa27x_clear_otgph() and move the implementation into processor specific code. Signed-off-by: Eric Miao Signed-off-by: Russell King commit 84bab7393b0da5086e133b7f333b800d26f7166b Author: Eric Miao Date: Fri Oct 3 22:37:21 2008 +0800 [ARM] ohci-pxa27x: use platform_get_{irq,resource} for the resource Depending on the order of how resource is defined in the platform device is not good, use platform_get_{irq,resource} for the IRQ and memory resources. Signed-off-by: Eric Miao Signed-off-by: Russell King commit 596050bc75a56ea4bd9942abafff6dca657da81c Author: Eric Miao Date: Sat Sep 27 16:12:32 2008 +0800 [ARM] ohci-pxa27x: move OHCI controller specific registers into the driver Signed-off-by: Eric Miao Signed-off-by: Russell King commit 097b53348f34a461d2b07081eae12d823cf3d729 Author: Eric Miao Date: Sat Sep 27 15:49:57 2008 +0800 [ARM] ohci-pxa27x: introduce flags to avoid direct access to OHCI registers Direct access to USB host controller registers is considered to be not portable, and is usually a bad sign for poorly abstracted interface. Introduce .flags and .power_on_delay to "struct pxaohci_platform_data" so that most platforms don't bother to write their own .init/.exit() sequences. Signed-off-by: Eric Miao Signed-off-by: Russell King commit 52358ba3a89012c54712c24074ceb4b1c669af52 Author: Eric Miao Date: Mon Sep 8 15:37:50 2008 +0800 [ARM] pxa: move I2S register and bit definitions into pxa2xx-i2s.c Signed-off-by: Eric Miao Acked-by: Mark Brown Signed-off-by: Russell King commit 87f3dd77974cba1ba0798abd741ede50f56b3eb3 Author: Eric Miao Date: Mon Sep 8 15:26:43 2008 +0800 [ARM] pxa: simplify DMA register definitions 1. DRCMRxx is no longer recommended, use DRCMR(xx) instead, and pass DRCMR index by "struct resource" if possible 2. DCSRxx, DDADRxx, DSADRxx, DTADRxx, DCMDxx is never used, use DCSR(), DDADR(), DSADR(), DTADR(), DCMD() instead Signed-off-by: Eric Miao Acked-by: Nicolas Pitre Signed-off-by: Russell King commit cbd18f8e3de62f91001963467ab6aad80a2a25ac Author: Eric Miao Date: Mon Sep 8 15:17:47 2008 +0800 [ARM] pxa: make additional DCSR bits valid for PXA3xx Signed-off-by: Eric Miao Signed-off-by: Russell King commit 283afa06619ed3e4dd7b5431f862fe23625c452f Author: Eric Miao Date: Mon Sep 8 14:15:08 2008 +0800 [ARM] pxa: move i2c register and bit definitions into i2c-pxa.c Signed-off-by: Eric Miao Signed-off-by: Russell King commit e7f3c60037fcad0edc0b79b8d285418246bcef40 Author: Eric Miao Date: Sat Sep 27 18:07:48 2008 +0800 [ARM] pxa: fix incorrect initialization of mfp sysdev when not pxa2xx The initialization of mfp sysdev in pxa2xx_mfp_init() shall really be avoided when !cpu_is_pxa2xx(). Signed-off-by: Eric Miao Signed-off-by: Russell King commit 5a89770daad83df74d77a8d34a1ffaedae565ce9 Merge: c46c948... af7c951... Author: Russell King Date: Tue Oct 7 19:08:56 2008 +0100 Merge branches 'pxa-core' and 'pxa-machines' into pxa-all Conflicts: arch/arm/mach-pxa/Kconfig arch/arm/mach-pxa/pxa25x.c arch/arm/mach-pxa/pxa27x.c commit af7c951d76708c61b862463d579d76be757130bf Merge: cc513ac... ebcce7b... Author: Russell King Date: Tue Oct 7 19:08:35 2008 +0100 Merge branch 'for_rmk' of git://git.mnementh.co.uk/linux-2.6-im Merge branch 'pxa-eseries' into pxa-machines Conflicts: arch/arm/mach-pxa/Makefile commit cc513ac0f29473de365664c4fba9cf033c1f2324 Merge: 1543966... 19ec95d... Author: Russell King Date: Tue Oct 7 19:08:32 2008 +0100 Merge branch 'viper-for-rmk' of git://www.misterjones.org/linux-2.6-arm Merge branch 'pxa-viper' into pxa-machines Conflicts: arch/arm/mach-pxa/Makefile drivers/pcmcia/Kconfig drivers/pcmcia/Makefile commit 1543966a079fc7065849ae43ca4dd767c188ad55 Merge: 5ff7f78... 4e9687d... Author: Russell King Date: Tue Oct 7 19:07:22 2008 +0100 Merge branch 'pxa-palm' into pxa-machines Conflicts: drivers/mfd/Kconfig drivers/pcmcia/Makefile commit 5ff7f78a3db462ea4edf1a781a2002d4e8a8a473 Merge: 35437b6... 92b797f... Author: Russell King Date: Tue Oct 7 19:06:52 2008 +0100 Merge branch 'pxa-trizeps' into pxa-machines Conflicts: drivers/pcmcia/Makefile commit 35437b6192d9a4eb92f095dfd72396b6d2970f0b Merge: 9226134... f3ec5cc... d8ad785... a55faca... eda6f6e... 49ea26d0... a461a8d... ec36b16... Author: Russell King Date: Tue Oct 7 19:06:22 2008 +0100 Merge branches 'metronomefb', 'pxa-cm2xx', 'pxa-gumstix', 'pxa-misc', 'pxa-mitac', 'pxa-mp900', 'pxa-zylonite' and 'pxa-zaurus' into pxa-machines Conflicts: arch/arm/mach-pxa/poodle.c commit 92b797f6a1347623a41caf02516b70e5fa706a90 Author: Russell King Date: Tue Oct 7 15:52:03 2008 +0100 [ARM] pxa: trizeps4: remove unused variable Signed-off-by: Russell King commit f3ec5cc92a43c8ace8326c990e2ffc409893d809 Author: Mike Rapoport Date: Sun Oct 5 10:30:42 2008 +0100 [ARM] 5285/1: pxa: update xm_x2xx_defconfig Signed-off-by: Russ Dill Signed-off-by: Mike Rapoport Signed-off-by: Russell King commit 49a7061dcaaf068fd691cb4ff098e4f20cbf6c23 Author: Mike Rapoport Date: Sun Oct 5 10:29:59 2008 +0100 [ARM] 5284/1: pxa: cm-x255: add NOR and NAND flash support This patch adds support for NOR and NAND flashes on CM-X255. The NAND flash support uses not yet merged GPIO NAND driver. Signed-off-by: Russ Dill Signed-off-by: Mike Rapoport Signed-off-by: Russell King commit 8616e2fb6930103a8408998777ec8a2332f5e89d Author: Mike Rapoport Date: Sun Oct 5 10:27:22 2008 +0100 [ARM] 5283/1: pxa: add CM-X255 pcmcia support Signed-off-by: Russ Dill Signed-off-by: Mike Rapoport Signed-off-by: Russell King commit a7f3f0309b68d8d07a97a54c492802c294bccacd Author: Mike Rapoport Date: Sun Oct 5 10:26:55 2008 +0100 [ARM] 5282/1: pxa: add CM-X255 support Signed-off-by: Russ Dill Signed-off-by: Mike Rapoport Signed-off-by: Russell King commit 4adc5fb6733213ab68750f722630d1b9d5655bc1 Author: Mike Rapoport Date: Sun Oct 5 10:26:10 2008 +0100 [ARM] 5281/1: pxa: split cm-x2xx.c to cm-x2xx.c and cm-x270.c Signed-off-by: Russ Dill Signed-off-by: Mike Rapoport Signed-off-by: Russell King commit da591937ba8c3a98ced845247859693a27543863 Author: Mike Rapoport Date: Sun Oct 5 10:25:44 2008 +0100 [ARM] 5280/1: pxa: prepare cm-x2xx.c and cm-x2xx-pci.[ch] for addition of CM-X255 - Change CM-X255 and CM-X270 common function prefix from cmx270 to cmx2xx - Split cmx2xx_init to common and CM-X270-specific parts - Use dynamic assignement for DM9000 resources and led GPIOs. Signed-off-by: Russ Dill Signed-off-by: Mike Rapoport Acked-by: Eric Miao Signed-off-by: Russell King commit 7d76e3f171216757a2ea630d76442084f88a0b4c Author: Mike Rapoport Date: Tue Oct 7 11:58:25 2008 +0100 [ARM] 5286/2: pxa: rename cm-x270* to cm-x2xx* to allow addition of cm-x255 support Signed-off-by: Russ Dill Signed-off-by: Mike Rapoport Acked-by: Eric Miao Signed-off-by: Russell King commit 2efa42f2fadc06f7ceee14834624d2911a9f11f1 Author: Jürgen Schindele Date: Tue Oct 7 10:40:18 2008 +0100 [ARM] 5294/1: Trizeps4 PCMCIA support Support for Trizeps4 SOM PCMCIA with ConXS or other baseboards. with double GPIO-free fixed (sorry!) replaces 5279/1 Signed-off-by: Jurgen Schindele Signed-off-by: Russell King commit 446b097a426f0fa7d37bd2576bdf6d72d6483ac1 Author: Hartley Sweeten Date: Mon Oct 6 22:43:02 2008 +0100 [ARM] 5293/1: ep93xx: add defines for external chipselects This patch adds defines for the external chipselect physical base addresses available with the EP93xx. These are meant to be used in the platform init code. In addition, documentation about the synchronous/asynchronous boot modes for the EP93xx and a reference to errata about issues with synchronous booting has been added. Signed-off-by: Signed-off-by: Russell King commit 5d2e321306f82550e6d354b3210a18b86bdb13c1 Author: Bernd Schmidt Date: Tue Oct 7 16:27:01 2008 +0800 Blackfin arch: fixing bug - under IRQ stress, running applications may wrongly trigger an ICPLB miss and be killed Disable IRQs while frobbing the CPLB registers, to avoid accessing the data in current_rwx_mask while it isn't covered by CPLBs. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 0c7a6b2135c1bcb5139ca9ca87f292caafcb9410 Author: Robin Getz Date: Wed Oct 8 16:27:12 2008 +0800 Blackfin arch: add supporting for double fault debug handling Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit f4585a08479a730fb809606b8ee327a5398c117c Author: Mike Frysinger Date: Mon Oct 13 14:45:21 2008 +0800 Blackfin arch: only include asm/cplb.h when it is truly used Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 1ffb9bef23d283e0e94c73e6683a6591ba3b0888 Author: Mike Frysinger Date: Tue Oct 7 16:06:27 2008 +0800 Blackfin arch: add note about newer ezkits using PB4 for AD7877 instead of PJ11 Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 8cc7117e7c4968b10fd7327b4a62d9c23082a7b3 Author: Michael Hennerich Date: Mon Oct 13 14:45:06 2008 +0800 Blackfin arch: Add new board support for ADZS-BF526-EZ-BRD Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 8d89adf44cf750e49691ba5b744b2ad77a05e997 Author: Ingo Molnar Date: Tue Oct 7 06:47:52 2008 +0200 x86: SB450: deprioritize DMI quirks This PCI ID based quick should be a full solution for the IRQ0 override related slowdown problem on SB450 based systems: 33fb0e4: x86: SB450: skip IRQ0 override if it is not routed to INT2 of IOAPIC Emit a warning in those cases where the DMI quirk triggers but the PCI ID based quirk didnt. If this warning does not trigger then we can phase out the DMI quirks. Signed-off-by: Ingo Molnar commit 33fb0e4eb53f16af312f9698f974e2e64af39c12 Author: Andreas Herrmann Date: Tue Oct 7 00:11:22 2008 +0200 x86: SB450: skip IRQ0 override if it is not routed to INT2 of IOAPIC On some HP nx6... laptops (e.g. nx6325) BIOS reports an IRQ0 override but the SB450 chipset is configured such that timer interrupts goe to INT0 of IOAPIC. Check IRQ0 routing and if it is routed to INT0 of IOAPIC skip the timer override. [ This more generic PCI ID based quirk should alleviate the need for dmi_ignore_irq0_timer_override DMI quirks. ] Signed-off-by: Andreas Herrmann Acked-by: "Maciej W. Rozycki" Tested-by: Dmitry Torokhov Cc: Signed-off-by: Ingo Molnar commit 7c12d906f4ef690c65e60111375856640f63a545 Author: Benjamin Herrenschmidt Date: Wed Oct 1 15:30:04 2008 +0000 powerpc: Fix sysfs pci mmap on 32-bit machines with 64-bit PCI When manipulating 64-bit PCI addresses, the code would lose the top 32-bit in a couple of places when shifting a pfn due to missing type casting from the 32-bit pfn to a 64-bit resource before the shift. This breaks using newer X servers for example on 440 machines with the PCI bus above 32-bit. Signed-off-by: Benjamin Herrenschmidt commit 76c31f239ea221a6c84bd26141262a43bfe8b7f4 Author: Vitaly Mayatskikh Date: Sun Sep 28 23:24:33 2008 +0000 powerpc: Honor O_NONBLOCK flag when reading RTAS log rtas_log_read() doesn't check file flags for O_NONBLOCK and blocks non-blocking readers of /proc/ppc64/rtas/error_log when there is no data available. This fixes it. Also rtas_log_read() returns now with ENODATA to prevent suspending of process in wait_event_interruptible() when logging facility was switched off and log is already empty. Signed-off-by: Vitaly Mayatskikh Acked-by: David Howells Signed-off-by: Benjamin Herrenschmidt commit 3396c72b92efd16bca16490a72277b3a494e0f0e Author: Timur Tabi Date: Fri Sep 26 07:19:46 2008 +0000 powerpc: Remove CHRP and PMAC support from FSL defconfigs Fix various defconfigs for Freescale chip based boards to remove CONFIG_PPC_PMAC or CONFIG_PPC_CHRP which crept in due to those being default y Signed-off-by: Timur Tabi Signed-off-by: Benjamin Herrenschmidt commit ebe40c5c4c888f2cbfd9f0880a8bc072e6fc3a0d Author: Johannes Berg Date: Wed Sep 24 04:29:08 2008 +0000 powerpc: Enforce sane MAX_ORDER powerpc uses CONFIG_FORCE_MAX_ZONEORDER, and some things depend on it being at least 10 when 64k pages are not configured (notably the dart iommu code with CONFIG_PM). The defaults are fine, but when going from a 64K pages config to one without 64K pages, MAX_ORDER stays at 9 which is too low for 4K pages. This patch makes the Kconfig enforce at least the defaults. Signed-off-by: Johannes Berg Acked-by: Timur Tabi Signed-off-by: Benjamin Herrenschmidt commit 2e2b4043cc0a2c11abbe4fdff6dce3f81cff3e30 Author: Johannes Berg Date: Wed Sep 24 04:01:09 2008 +0000 powerpc: Fix 64-bit hibernation with 64k pages A bug in my initial 64-bit hibernation code breaks it when using page sizes that aren't 4K. Signed-off-by: Johannes Berg Signed-off-by: Benjamin Herrenschmidt commit 0bb08107edb3d38b89be8fb623b46df73f2aa8c8 Author: Johann Felix Soden Date: Sun Sep 21 09:02:36 2008 +0000 powerpc/iseries: Remove unused variable in viodasd.c The variable statindex in send_request is never read, so remove it. Signed-off-by: Johann Felix Soden Signed-off-by: Benjamin Herrenschmidt commit 94576b22ce1ad346cb09f05bf4f06be33e0eef49 Author: Geert Uytterhoeven Date: Mon Sep 15 23:10:54 2008 +0000 powerpc: Remove outdated Documentation/powerpc/smp.txt Documentation/powerpc/smp.txt is so outdated that it makes sense to just remove it. Signed-off-by: Geert Uytterhoeven Signed-off-by: Benjamin Herrenschmidt commit 1b483a6a7b2998e9c98ad985d7494b9b725bd228 Author: Geert Uytterhoeven Date: Mon Sep 15 23:09:08 2008 +0000 powerpc: Remove remains of /proc/ppc_htab commit 14cf11af6cf608eb8c23e989ddb17a715ddce109 ("powerpc: Merge enough to start building in arch/powerpc.") unwired /proc/ppc_htab, and commit 917f0af9e5a9ceecf9e72537fabb501254ba321d ("powerpc: Remove arch/ppc and include/asm-ppc") removed the rest of the /proc/ppc_htab support, but there are still a few references left. Kill them for good. Signed-off-by: Geert Uytterhoeven Signed-off-by: Benjamin Herrenschmidt commit a880e7623397bcb44877b012cd65baa11ad1bbf8 Author: Roland Dreier Date: Mon Sep 15 10:43:35 2008 +0000 powerpc: Avoid integer overflow in page_is_ram() Commit 8b150478 ("ppc: make phys_mem_access_prot() work with pfns instead of addresses") fixed page_is_ram() in arch/ppc to avoid overflow for addresses above 4G on 32-bit kernels. However arch/powerpc's page_is_ram() is missing the same fix -- it computes a physical address by doing pfn << PAGE_SHIFT, which overflows if pfn corresponds to a page above 4G. In particular this causes pages above 4G to be mapped with the wrong caching attribute; for example many ppc440-based SoCs have PCI space above 4G, and mmap()ing MMIO space may end up with a mapping that has caching enabled. Fix this by working with the pfn and avoiding the conversion to physical address that causes the overflow. This patch compares the pfn to max_pfn, which is a semantic change from the old code -- that code compared the physical address to high_memory, which corresponds to max_low_pfn. However, I think that was is another bug, since highmem pages are still RAM. Reported-by: vb Signed-off-by: Roland Dreier Acked-by: Benjamin Herrenschmidt Signed-off-by: Benjamin Herrenschmidt commit 6ddc9d3200c25edddd7051f208dbbdd8e16f0734 Author: Sebastien Dugue Date: Sun Sep 14 21:50:18 2008 +0000 powerpc: Ignore generated vmlinux.lds in git Add a .gitignore in arch/powerpc/kernel to ignore the generated vmlinux.lds. Signed-off-by: Sebastien Dugue Signed-off-by: Benjamin Herrenschmidt commit 39d80c33a068d9fa63a36c3b2c0d718d38440dd1 Author: Andi Kleen Date: Mon Oct 6 21:37:44 2008 -0400 ext4: Avoid double dirtying of super block in ext4_put_super() While reading code I noticed that ext4_put_super() dirties the superblock bh twice. It is always done in ext4_commit_super() too. Remove the redundant dirty operation. Should be a nop semantically. Signed-off-by: Andi Kleen commit 08a225f143bf3415fef6f3360d922be35da40543 Author: Theodore Ts'o Date: Mon Oct 6 20:58:09 2008 -0400 Update ext4 MAINTAINERS file The ext4 entry was copied from ext3 and was never correct. Update it so that Theodore Ts'o is listed as the maintainer, and point the website to http://ext4.wiki.kernel.org. Signed-off-by: "Theodore Ts'o" commit 6873fa0de14e49c433f1f181c54e511f4f3d459d Author: Eric Sandeen Date: Tue Oct 7 00:46:36 2008 -0400 Hook ext4 to the vfs fiemap interface. ext4_ext_walk_space() was reinstated to be used for iterating over file extents with a callback; it is used by the ext4 fiemap implementation. Signed-off-by: Eric Sandeen Signed-off-by: "Theodore Ts'o" Cc: linux-ext4@vger.kernel.org Cc: linux-fsdevel@vger.kernel.org commit fa6428ebfa2197841902b89cbc25334707e2f6eb Merge: c9b59da... 3d5fa87... Author: Benjamin Herrenschmidt Date: Tue Oct 7 11:15:07 2008 +1100 Merge commit 'jwb/jwb-next' commit 1daef0a868370c5a96d031b9202e3354bea060e6 Author: Trond Myklebust Date: Sun Jul 27 18:19:01 2008 -0400 NFS: Clean up nfs_sb_active/nfs_sb_deactive Instead of causing umount requests to block on server->active_wq while the asynchronous sillyrename deletes are executing, we can use the sb->s_active counter to obtain a reference to the super_block, and then release that reference in nfs_async_unlink_release(). Signed-off-by: Trond Myklebust commit d5e66348bbe39dc78509e7561f7252aa443df8c0 Author: Trond Myklebust Date: Tue Sep 23 17:28:35 2008 -0400 NFS: Fix nfs_file_llseek() After the BKL removal patches were applied to the rest of the NFS code, the BKL protection in nfs_file_llseek() is no longer sufficient to ensure that inode->i_size is read safely in generic_file_llseek_unlocked(). In order to fix the situation, we either have to replace the naked read of inode->i_size in generic_file_llseek_unlocked() with i_size_read(), or the whole thing needs to be executed under the inode->i_lock; In order to avoid disrupting other filesystems, avoid touching generic_file_llseek_unlocked() for now... Signed-off-by: Trond Myklebust commit ad788b5e079484aa1d48aa90a3ebd7d954d2e7db Author: John W. Linville Date: Wed Oct 1 15:45:02 2008 -0400 mac80211: avoid "Wireless Event too big" message for assoc response The association response IEs are sent to userland with an IWEVCUSTOM event, which unfortunately is limited to a little more than 100 bytes of IE information with the encoding used. Many APs send so much IE information that this message overflows. When the IWEVCUSTOM event is too large, the kernel doesn't send it to userland anyway -- better just not to send it. An attempt was made by Jouni Malinen to correct this issue by converting to use IWEVASSOCREQIE and IWEVASSOCRESPIE messages instead ("mac80211: Use IWEVASSOCREQIE instead of IWEVCUSTOM"). Unfortunately, that caused a problem due to 32-/64-bit interactions on some systems and was reverted after the 'userland ABI' rule was invoked. That leaves us with this option instead of a proper fix, at least until we move to a cfg80211-based solution. Signed-off-by: John W. Linville commit eedda3670ea8e6d7649e3c8847759b0a6e532f8d Author: Tomas Winkler Date: Mon Oct 6 16:05:32 2008 +0800 iwlwifi: remove STATUS_CONF_PENDING in scanning This patch removes STATUS_CONF_PENDING usage that called from iwl4965_mac_config internally after scan completed. It's called anyway from the mac80211 ieee80211_scan_completed(): if (local->hw_scanning) { local->hw_scanning = false; if (ieee80211_hw_config(local)) ... } Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 5118303f7cc0520ce2969ea3d890dc05d586ceb2 Author: Tomas Winkler Date: Mon Oct 6 16:05:30 2008 +0800 iwlwifi: scan fix comment This patch moves comment to proper line, it has moved during code shuffling. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit d588be6bae40f7965f1b681a4dbc3254411787b9 Author: Tomas Winkler Date: Mon Oct 6 16:05:29 2008 +0800 iwlwifi: scan correct setting of valid rx_chains This patch sets rx_chain bitmap correctly according hw configuration. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit cccf129f820e431d84690729254a32f1709328fb Author: Felix Fietkau Date: Sun Oct 5 18:07:45 2008 +0200 mac80211: add the 'minstrel' rate control algorithm Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 2f7fe87034298d94301315ba4bb65c7284c709d0 Author: Felix Fietkau Date: Sun Oct 5 18:05:48 2008 +0200 ath5k: implement multi-rate retry support, fix tx status reporting Clean up the tx status reporting, fix retry counters (short retries are virtual collisions, not actual retries). Implement multi-rate retry support. This also fixes strong throughput fluctuations with rc80211_pid Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 870abdf67170daa9f1022e55a35c469239fcc74c Author: Felix Fietkau Date: Sun Oct 5 18:04:24 2008 +0200 mac80211: add multi-rate retry support This patch adjusts the rate control API to allow multi-rate retry if supported by the driver. The ieee80211_hw struct specifies how many alternate rate selections the driver supports. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 76708dee382a69b2f9d0e50f413f99fefb2dc509 Author: Felix Fietkau Date: Sun Oct 5 18:02:48 2008 +0200 mac80211: free up 2 bytes in skb->cb Free up 2 bytes in skb->cb to be used for multi-rate retry later. Move iv_len and icv_len initialization into key alloc. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 417bd25ac4c6f76c8aafe8a584f3620f4a936b72 Author: Henrique de Moraes Holschuh Date: Fri Oct 3 16:58:05 2008 -0300 rfkill: update LEDs for all state changes The LED state was not being updated by rfkill_force_state(), which will cause regressions in wireless drivers that had old-style rfkill support and are updated to use rfkill_force_state(). The LED state was not being updated when a change was detected through the rfkill->get_state() hook, either. Move the LED trigger update calls into notify_rfkill_state_change(), where it should have been in the first place. This takes care of both issues above. Signed-off-by: Henrique de Moraes Holschuh Acked-by: Ivo van Doorn Cc: stable@kernel.org Signed-off-by: John W. Linville commit 5b5d13afeeee959a74114b73c560d3e243f34a11 Author: Gertjan van Wingerde Date: Fri Oct 3 20:20:32 2008 +0200 rt2x00: Fix rfkill structure initialization to prevent rfkill WARN_ON. The state field of the rfkill structure was incorrectly initialized to -1, which results in rfkill issueing a WARN_ON. Fix this by initializing the state field to the proper value as indicated by the driver. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f74b6a5498049bab28419a03e4b31fcdbe7a900d Author: Rami Rosen Date: Thu Oct 2 16:48:22 2008 +0300 mac80211: remove redundant check in ieee80211_master_start_xmit (net/mac80211/tx.c) - This patch (against the linux-wireless-next git tree) removes a redundant check in ieee80211_master_start_xmit (net/mac80211/tx.c) and adjust indentation in this method accordingly. In this method, there is no need to call again the ieee80211_is_data() method; this is checked immediately before, in the "if" command (we will not enter this block unless ieee80211_is_data() is true, so that the "and" (&&) condition in that "if" command will be fullfilled ). Signed-off-by: Rami Rosen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit cf3e74c2e4a438480c11782b17e90029f5d24696 Author: Christian Lamparter Date: Tue Sep 30 23:36:00 2008 +0200 p54: report appropriate rate and band values for 802.11a This patch adds the a few lines that went missing in "p54: 802.11a 5GHz phy support" Essentially: the rx-code wasn't updated and therefore reported the wrong band, but more importantly the rate index was off as well, since 802.11a doesn't allow the "four" 802.11b rates... Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 5d6ffc533678c936e366809acaff8401af43a4af Author: Davide Pesavento Date: Tue Sep 30 19:56:34 2008 +0200 wireless: fix typo in Kconfig. Signed-off-by: Davide Pesavento Signed-off-by: John W. Linville commit 6f255425ac3b10c3352c926e7b53e5ea1c364ca4 Author: Luis R. Rodriguez Date: Fri Oct 3 15:45:27 2008 -0700 ath9k: enable ANI to help with noisy environments This enables Adaptive Noise Immunity (ANI) on ath9k. ANI is as algorithm designed to minimize the detrimental effects of time-varying interferences. This should help with throughput in noisy environments. To use ANI we re-enable the MIB interrupt. Since ANI works on a timer and updates the noise floor we take advantage of this and also report a non-static noise floor now to mac80211. Signed-off-by: Sujith Manoharan Signed-off-by: Jouni Malinen Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit a477e4e6d48d3ac7c7a75bad40585cb391e5c237 Author: Luis R. Rodriguez Date: Fri Oct 3 15:45:26 2008 -0700 ath9k: fix oops on trying to hold the wrong spinlock We were trying to hold the wrong spinlock due to a typo on IEEE80211_BAR_CTL_TID_S's definition. We use this to compute the tid number and then hold this this tid number's spinlock. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Sujith Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 0345f37be64905846a1ef38378061d4c2730242e Author: Luis R. Rodriguez Date: Fri Oct 3 15:45:25 2008 -0700 ath9k: kill ath9k's memzero() and use memset() instead Part of the cleanup on ath9k -- this was also causing some annoying compile time warnings. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 8ef9dad3f7c0bdae84cd57f2bc6d4f53421406a8 Author: Tomas Winkler Date: Sat Sep 27 22:58:18 2008 +0300 mac80211: remove shadowed variables in ieee80211_master_start_xmit This patch removes doubly defined variables in ieee80211_master_start_xmit Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 74af025073461b9ebe82771e48a5b8596c3cf75c Author: Linus Torvalds Date: Fri Sep 5 12:38:09 2008 -0700 wireless: restore revert lost to merge damage Restore revert "mac80211: Use IWEVASSOCREQIE instead of IWEVCUSTOM", originally reverted in commit bf7394ccc13fe291d9258f01113b4c61214ddeae. Signed-off-by: John W. Linville commit 6b37faa175311128dc920aaa57a5f7fab85537d7 Author: Jeff Layton Date: Mon Oct 6 21:54:41 2008 +0000 [CIFS] fix some settings of cifsAttrs after calling SetFileInfo and SetPathInfo We only need to set them when we call SetFileInfo or SetPathInfo directly, and as soon as possible after then. We had one place setting it where it didn't need to be, and another place where it was missing. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit a5e8546a8bff5d2047adc279df5753c44ba7b1a1 Merge: cb7f6a7... c700448... Author: Simon Horman Date: Tue Oct 7 08:40:11 2008 +1100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 into lvs-next-2.6 commit cb7f6a7b716e801097b564dec3ccb58d330aef56 Author: Julius Volz Date: Fri Sep 19 12:32:57 2008 +0200 IPVS: Move IPVS to net/netfilter/ipvs Since IPVS now has partial IPv6 support, this patch moves IPVS from net/ipv4/ipvs to net/netfilter/ipvs. It's a result of: $ git mv net/ipv4/ipvs net/netfilter and adapting the relevant Kconfigs/Makefiles to the new path. Signed-off-by: Julius Volz Signed-off-by: Simon Horman commit 8ec8ebaeceedf3a845f9e23885f26d0d00eefeb7 Author: John W. Linville Date: Mon Oct 6 16:16:38 2008 -0400 ath9k: fixup some merge damage This hunk was originally removed as part of "ath9k: Fix IRQ nobody cared issue with ath9k". Signed-off-by: John W. Linville commit 67080c82361b7510b602c87b83399421aa2d2895 Author: Tom Tucker Date: Fri Oct 3 12:41:14 2008 -0500 svcrdma: Fix IRD/ORD polarity The inititator/responder resources in the event have been swapped. They no represent what the local peer would set their values to in order to match the peer. Note that iWARP does not exchange these on the wire and the provider is simply putting in the local device max. Signed-off-by: Tom Tucker commit 04911b539c9817aa88a6da8f563e65e3e0bc974b Author: Tom Tucker Date: Mon Aug 11 15:14:53 2008 -0500 svcrdma: Update svc_rdma_send_error to use DMA LKEY Update the svc_rdma_send_error code to use the DMA LKEY which is valid regardless of the memory registration strategy in use. Signed-off-by: Tom Tucker commit afd566ea080572499cc01d42d2f578bf4b54f20f Author: Tom Tucker Date: Fri Oct 3 15:45:03 2008 -0500 svcrdma: Modify the RPC reply path to use FRMR when available Use FRMR to map local RPC reply data. This allows RDMA_WRITE to send reply data using a single WR. The FRMR is invalidated by linking the LOCAL_INV WR to the RDMA_SEND message used to complete the reply. Signed-off-by: Tom Tucker commit 146b6df6a537939570c5772ebd7db826fdbd5d82 Author: Tom Tucker Date: Tue Aug 12 15:12:10 2008 -0500 svcrdma: Modify the RPC recv path to use FRMR when available RPCRDMA requests that specify a read-list are fetched with RDMA_READ. Using an FRMR to map the data sink improves NFSRDMA security on transports that place the RDMA_READ data sink LKEY on the wire because the valid lifetime of the MR is only the duration of the RDMA_READ. The LKEY is invalidated when the last RDMA_READ WR completes. Mapping the data sink also allows for very large amounts to data to be fetched with a single WR, so if the client is also using FRMR, the entire RPC read-list can be fetched with a single WR. Signed-off-by: Tom Tucker commit 5b180a9a64ca2217a658bd515ef910eafefc5e5a Author: Tom Tucker Date: Mon Aug 11 14:10:19 2008 -0500 svcrdma: Add support to svc_rdma_send to handle chained WR WR can be submitted as linked lists of WR. Update the svc_rdma_send routine to handle WR chains. This will be used to submit a WR that uses an FRMR with another WR that invalidates the FRMR. Signed-off-by: Tom Tucker commit a5abf4e81545d9c7280c49cae853cc45fd769ddf Author: Tom Tucker Date: Tue Sep 30 14:05:41 2008 -0500 svcrdma: Modify post recv path to use local dma key Update the svc_rdma_post_recv routine to use the adapter's global LKEY instead of sc_phys_mr which is only valid when using a DMA MR. Signed-off-by: Tom Tucker commit e1183210625cc8e02ce13eec78fb7a246567fc59 Author: Tom Tucker Date: Fri Oct 3 15:22:18 2008 -0500 svcrdma: Add a service to register a Fast Reg MR with the device Fast Reg MR introduces a new WR type. Add a service to register the region with the adapter and update the completion handling to support completions with a NULL WR context. Signed-off-by: Tom Tucker commit 3a5c63803d0552a3ad93b85c262f12cd86471443 Author: Tom Tucker Date: Tue Sep 30 13:46:13 2008 -0500 svcrdma: Query device for Fast Reg support during connection setup Query the device capabilities in the svc_rdma_accept function to determine what advanced memory management capabilities are supported by the device. Based on the query, select the most secure model available given the requirements of the transport and capabilities of the adapter. Signed-off-by: Tom Tucker commit 64be8608c163bd480cf5ec4b34366f11e0f3c87f Author: Tom Tucker Date: Mon Oct 6 14:45:18 2008 -0500 svcrdma: Add FRMR get/put services Add services for the allocating, freeing, and unmapping Fast Reg MR. These services will be used by the transport connection setup, send and receive routines. Signed-off-by: Tom Tucker commit c7004482e8dcb7c3c72666395cfa98a216a4fb70 Author: David S. Miller Date: Mon Oct 6 10:43:54 2008 -0700 tcp: Respect SO_RCVLOWAT in tcp_poll(). Based upon a report by Vito Caputo. Signed-off-by: David S. Miller commit 6252352d16f7b45a0fd42224f7e70e0288dc4480 Author: Jarek Poplawski Date: Mon Oct 6 10:41:50 2008 -0700 pkt_sched: Simplify dev_requeue_skb and dequeue_skb qdisc->requeue was planned to universally replace all requeuing code, but at the top level we never requeue more than one skb, so qdisc-> gso_skb is enough for this. qdisc->requeue would be used on the lower levels only for one level deep requeuing (like in sch_hfsc) after finishing all the changes. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 554794de7949d1a6279336404c066f974d4c2bde Author: Jarek Poplawski Date: Mon Oct 6 09:54:39 2008 -0700 pkt_sched: Fix handling of gso skbs on requeuing Jay Cliburn noticed and diagnosed a bug triggered in dev_gso_skb_destructor() after last change from qdisc->gso_skb to qdisc->requeue list. Since gso_segmented skbs can't be queued to another list this patch brings back qdisc->gso_skb for them. Reported-by: Jay Cliburn Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit e496e3d645c93206faf61ff6005995ebd08cc39c Merge: b159d7a... 5bbd4c3... 175e438... 516cbf3... af2d237... 9b15684... 5b7e41f... 1befdef... a03352d... 7b22ff5... 2c7e9fd... 91030ca... dd55235... b3e15bd... 20211e4... efd327a... c7ffa6c... e51a1ac... 5df4551... d99e901... e621bd1... Author: Ingo Molnar Date: Mon Oct 6 18:17:07 2008 +0200 Merge branches 'x86/alternatives', 'x86/cleanups', 'x86/commandline', 'x86/crashdump', 'x86/debug', 'x86/defconfig', 'x86/doc', 'x86/exports', 'x86/fpu', 'x86/gart', 'x86/idle', 'x86/mm', 'x86/mtrr', 'x86/nmi-watchdog', 'x86/oprofile', 'x86/paravirt', 'x86/reboot', 'x86/sparse-fixes', 'x86/tsc', 'x86/urgent' and 'x86/vmalloc' into x86-v28-for-linus-phase1 commit b159d7a989e53ab3529084348aa80441520b8575 Merge: 0962f40... 4ab4ba3... Author: Ingo Molnar Date: Mon Oct 6 18:16:40 2008 +0200 Merge branch 'x86/tracehook' into x86-v28-for-linus-phase1 Conflicts: arch/x86/kernel/signal_64.c Signed-off-by: Ingo Molnar commit 0962f402af1bb0b53ccee626785d202a10c12fff Merge: 19268ed... 8d7ccaa... Author: Ingo Molnar Date: Mon Oct 6 16:18:26 2008 +0200 Merge branch 'x86/prototypes' into x86-v28-for-linus-phase1 Conflicts: arch/x86/kernel/process_32.c Signed-off-by: Ingo Molnar commit 1e19b16a30c34c042f1eaa23db4c99bfad1dac0e Author: Thomas Gleixner Date: Mon Oct 6 14:15:24 2008 +0200 AMD IOMMU: use iommu_device_max_index, fix include/linux/iommu-helper.h has no header guards, which breaks sparc64 build. Add them. Signed-off-by: Thomas Gleixner Cc: Joerg Roedel Cc: FUJITA Tomonori Signed-off-by: Ingo Molnar commit 19268ed7449c561694d048a34601a30e2d1aaf79 Merge: b8cd9d0... 493cd91... Author: Ingo Molnar Date: Mon Oct 6 16:17:23 2008 +0200 Merge branch 'x86/pebs' into x86-v28-for-linus-phase1 Conflicts: include/asm-x86/ds.h Signed-off-by: Ingo Molnar commit b8cd9d056bbc5f2630ab1787dbf76f83bbb517c0 Merge: fec6ed1... 1503af6... Author: Ingo Molnar Date: Mon Oct 6 16:15:57 2008 +0200 Merge branch 'x86/header-guards' into x86-v28-for-linus-phase1 Conflicts: include/asm-x86/dma-mapping.h include/asm-x86/gpio.h include/asm-x86/idle.h include/asm-x86/kvm_host.h include/asm-x86/namei.h include/asm-x86/uaccess.h Signed-off-by: Ingo Molnar commit 646e3ed1a349fbccce651fed2d3987f0e7b0f0f4 Author: Tony Lindgren Date: Mon Oct 6 15:49:36 2008 +0300 ARM: OMAP2: Misc updates from linux-omap tree Misc updates from linux-omap tree, mostly to update common device initialization and add missing defines from linux-omap tree. Also some changes to make room for adding 34xx in following patches. Note that the I2C resources are now set up in arch/arm/plat-omap/i2c.c helper, and can be removed from devices.c. Signed-off-by: Tony Lindgren commit fd1dc87ded0f29c1ba1e8da62f03ab0d591d9bdd Author: Paul Walmsley Date: Mon Oct 6 15:49:17 2008 +0300 ARM: OMAP2: Fix sparse, checkpatch warnings fro GPMC code, use ioremap Fix sparse, checkpatch warnings fro GPMC code. Also change to use ioremap, and add missing function prototypes to gpmc.h. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 2351872c44be50c27001bbfa91d6e14e3cee8b88 Author: Vikram Pandita Date: Mon Oct 6 15:49:16 2008 +0300 ARM: OMAP2: Add pinmux support for omap34xx This patch adds pinmux support for OMAP3. Incorporated review comments from Tony to make mux_value as bit mask. Tested on 3430SDP. Also merge in adding of I2C pins from Jarkko Nikula. Acked-by: Anand Gadiyar Signed-off-by: Vikram Pandita Signed-off-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit 0e564848693b06b037ec05e68c9e4b266250789e Author: Tony Lindgren Date: Mon Oct 6 15:49:16 2008 +0300 ARM: OMAP2: Use omap_globals for CPU detection for multi-omap This allows to get rid of the ifdefs and will allow simpler CPU detection in the future. Signed-off-by: Tony Lindgren commit 1835f1d720786138c43147448f4527dd380c1e33 Author: Tony Lindgren Date: Mon Oct 6 15:49:15 2008 +0300 ARM: OMAP2: Move sleep.S into sleep24xx.S Some register offsets are different for 242x and 243x. This will allow compiling sleep code for both chips into the same kernel. Pass the addresses for SDRC_DDLA_CTRL and SDRC_POWER to the omap24xx_cpu_suspend instead of loading the values since the only. Also fix a bug to call omap2_sram_suspend with the value of SDRC_DLLA_CTRL instead of the address as that's what omap24xx_cpu_suspend expects to determine between DDR and SDR. This bug has not been noticed as the boards seem to have DDR instead of SDR. Note that some PM patches are still missing. The PM patches will be added later on once the base files are in sync with linux-omap tree. Signed-off-by: Tony Lindgren commit 6e81176dc8b7ec20da9f48b9be076e83f5d7d2ec Author: Jouni Hogander Date: Mon Oct 6 15:49:15 2008 +0300 ARM: OMAP2 Provide function to enable/disable uart clocks This patch adds common function to enable/disable omap2/3 uart clocks. Enabled uarts are passed by bootloader in atags and clocks for these enabled uarts are touched. Signed-off-by: Jouni Hogander Signed-off-by: Tony Lindgren commit 34b3ede2353604ec9861c1d900b2a835ff85de47 Author: Li Zefan Date: Mon Oct 6 09:27:00 2008 +0800 sched: remove redundant code in cpu_cgroup_create() css will be initialized by cgroup core. Signed-off-by: Li Zefan Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 2c10c22af088ab5d94fae93ce3fe6436b2a208b4 Merge: f6121f4... fec6ed1... Author: Ingo Molnar Date: Mon Oct 6 08:13:18 2008 +0200 Merge branch 'linus' into sched/devel commit 13c1d18931ebb5cf407cb348ef2cd6284d68902d Author: Arnaud Ebalard Date: Sun Oct 5 13:33:42 2008 -0700 xfrm: MIGRATE enhancements (draft-ebalard-mext-pfkey-enhanced-migrate) Provides implementation of the enhancements of XFRM/PF_KEY MIGRATE mechanism specified in draft-ebalard-mext-pfkey-enhanced-migrate-00. Defines associated PF_KEY SADB_X_EXT_KMADDRESS extension and XFRM/netlink XFRMA_KMADDRESS attribute. Signed-off-by: Arnaud Ebalard Signed-off-by: David S. Miller commit 5e7184ae0dd49456387e8b1cdebc6b2c92fc6d51 Author: Haavard Skinnemoen Date: Sun Oct 5 15:27:50 2008 +0200 atmel-mci: Add missing flush_dcache_page() in PIO transfer code Signed-off-by: Haavard Skinnemoen commit ca55f46e13dd07b029b0a3d64637f983a6627b23 Author: Haavard Skinnemoen Date: Sun Oct 5 15:16:59 2008 +0200 atmel-mci: Don't overwrite error bits when NOTBUSY is set After a data error, we wait for the NOTBUSY bit to be set so that we can be sure the data transfer is completely finished. However, when NOTBUSY is set, the interrupt handler copies the contents of SR into data_status, overwriting any error bits we may have detected earlier. To avoid this, initialize data_status to 0 before starting a request, and don't overwrite it unless it still contains 0. Signed-off-by: Haavard Skinnemoen commit 65e8b083fc8ec303499baa1924ae032d46d29990 Author: Haavard Skinnemoen Date: Wed Jul 30 20:29:03 2008 +0200 atmel-mci: Add experimental DMA support This adds support for DMA transfers through the generic DMA engine framework with the DMA slave extensions. The driver has been tested using mmc-block and ext3fs on several SD, SDHC and MMC+ cards. Reads and writes work fine, with read transfer rates up to 7.5 MiB/s on fast cards with debugging disabled. Unfortunately, the driver has been known to lock up from time to time with DMA enabled, so DMA support is currently optional and marked EXPERIMENTAL. However, I didn't see any problems while testing 13 different cards (MMC, SD and SDHC of different brands and sizes), so I suspect the "Initialize BLKR before sending data transfer command" fix that was posted earlier fixed this as well. Signed-off-by: Haavard Skinnemoen commit 965ebf33ea5afb6386f5b57cc71e6572253746b3 Author: Haavard Skinnemoen Date: Wed Sep 17 20:53:55 2008 +0200 atmel-mci: support multiple mmc slots The Atmel MCI controller can drive multiple cards through separate sets of pins, but only one at a time. This patch adds support for multiplexing access to the controller so that multiple card slots can be used as if they were hooked up to separate mmc controllers. The atmel-mci driver registers each slot as a separate mmc_host. Both access the same common controller state, but they also have some state on their own for card detection/write protect handling, and separate shadows of the MR and SDCR registers. When one of the slots receives a request from the mmc core, the common controller state is checked. If it's idle, the request is submitted immediately. If not, the request is added to a queue. When a request is done, the queue is checked and if there is a queued request, it is submitted before the completion callback is called. This patch also includes a few cleanups and fixes, including a locking overhaul. I had to change the locking extensively in any case, so I might as well try to get it right. The driver no longer takes any irq-safe locks, which may or may not improve the overall system performance. This patch also adds a bit of documentation of the internal data structures. Signed-off-by: Haavard Skinnemoen commit 6b918657b7431e4c5c953b8222ae2f4fc1b2576a Author: Haavard Skinnemoen Date: Thu Aug 7 14:08:49 2008 +0200 atmel-mci: Platform code for supporting multiple mmc slots Add the necessary platform infrastructure to support multiple mmc/sdcard slots all at once through a single controller. Currently, the driver will use the first valid slot it finds and stick with that, but later patches will add support for switching between several slots on the fly. Extend the platform data structure with per-slot information: MMC/SDcard bus width and card detect/write protect pins. This will affect the pin muxing as well as the capabilities announced to the mmc core. Note that board code is now required to supply a mci_platform_data struct to at32_add_device_mci(). Signed-off-by: Haavard Skinnemoen commit 945533b538c6c6185afc77ba4a81eeba8f6ef8dd Author: Haavard Skinnemoen Date: Fri Oct 3 17:48:16 2008 +0200 atmel-mci: Don't stop the clock between transfers Some cards might get upset if we turn off the clock for extended periods of time. So keep the clock running until the mmc core tells us to turn it off. Also, don't reset the controller between each transfer. That was an attempt to work around earlier bugs, and it never really worked very well. Signed-off-by: Haavard Skinnemoen commit c06ad2580dca4eb14ca07541d4f00a3b7cbcf12f Author: Haavard Skinnemoen Date: Thu Jul 31 14:49:16 2008 +0200 atmel-mci: Implement tasklet as a state machine With the current system of completed/pending events, things may get handled in different order depending on which event triggers first. For example, if the data transfer is complete before the command, the stop command must be sent after the command is complete, not the data. This creates a bit of complexity around the stop command. By having the tasklet go through a sequence of clearly defined states, things always happen in a certain order even if the events come at different times, so the stop command can simply be sent when we exit the "sending data" state because we will never enter that state before the command has been sent successfully. Signed-off-by: Haavard Skinnemoen commit a252e3e35ef8144fb772da70bb93c99a1486097a Author: Haavard Skinnemoen Date: Fri Oct 3 14:46:17 2008 +0200 atmel-mci: Initialize BLKR before sending data transfer command The atmel-mci driver sometimes fails data transfers like this: mmcblk0: error -5 transferring data end_request: I/O error, dev mmcblk0, sector 2749769 end_request: I/O error, dev mmcblk0, sector 2749777 It turns out that this might be caused by the BLKR register (which contains the block size and the number of blocks being transfered) being initialized too late. This patch moves the initialization of BLKR so that it contains the correct value before the block transfer command is sent. This error is difficult to reproduce, but if you insert a long delay (mdelay(10) or thereabouts) between the calls to atmci_start_command() and atmci_submit_data(), all transfers seem to fail without this patch, while I haven't seen any failures with this patch. Reported-by: Hein_Tibosch Signed-off-by: Haavard Skinnemoen commit 95430c0b140c31cb9e39f876afe1c0e9947d1aaf Author: Rémi Denis-Courmont Date: Sun Oct 5 11:16:36 2008 -0700 Phonet: pipe end-point protocol documentation Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 02a47617cdce440f60c71a51f3a93f9f5fcc5a7a Author: Rémi Denis-Courmont Date: Sun Oct 5 11:16:16 2008 -0700 Phonet: implement GPRS virtual interface over PEP socket Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit c41bd97f815720f9404f97da0c4f4400b52c243d Author: Rémi Denis-Courmont Date: Sun Oct 5 11:15:43 2008 -0700 Phonet: receive pipe control requests as out-of-band data Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 9641458d3ec42def729fde64669abf07f3220cd5 Author: Rémi Denis-Courmont Date: Sun Oct 5 11:15:13 2008 -0700 Phonet: Pipe End Point for Phonet Pipes protocol This protocol provides some connection handling and negotiated congestion control. Nokia cellular modems use it for bulk transfers. It provides packet boundaries (hence SOCK_SEQPACKET). Congestion control is per packet rather per byte, so we do not re-use the generic socket memory accounting. Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 9995a32b4d14dcda2f8df58030526bee91114c16 Author: Rémi Denis-Courmont Date: Sun Oct 5 11:14:48 2008 -0700 Phonet: connected sockets glue Signed-off-by: Rémi Denis-Courmont Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 25532824fb727744a302edb25c6a6ac10b82cb63 Author: Rémi Denis-Courmont Date: Sun Oct 5 11:14:27 2008 -0700 Phonet: modules auto-loading support Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 300bb762513f12068bf6166e0a1a02a4031a979c Author: Alex Raimondi Date: Mon Sep 22 21:40:55 2008 +0200 avr32: Replace static clock list with dynamic linked list This replaces the at32_clock_list array with a linked list. Clocks can now be registered (added) to the list. Signed-off-by: Alex Raimondi Signed-off-by: Haavard Skinnemoen commit 2407390bd20de38740eef87eab4fe3d1deafdbdd Author: Michal Januszewski Date: Sun Oct 5 12:16:04 2008 +0200 x86: replace a magic number with a named constant in the VESA boot code Replace a magic number with a named constant in the VESA boot code. Signed-off-by: Michal Januszewski Cc: linux-fbdev-devel@lists.sourceforge.net Signed-off-by: Ingo Molnar commit 7afb9dc9a5663befea612b03615efc694d5c3ce7 Author: Herbert Xu Date: Sun Oct 5 09:20:28 2008 -0700 netdrv: Fix unregister_netdev typos Found during the (partial) unregister_netdevice audit that we didn't have to have :) It looks like a couple of Sun NIC drivers had unregister_netdevice when they really meant unregister_netdev. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit dd5523552c2897e3fde16fc2fc8f6332addf66ab Author: Yinghai Lu Date: Sat Oct 4 14:50:33 2008 -0700 x86: mtrr_cleanup: treat WRPROT as UNCACHEABLE For the purpose of MTRR canonicalization, treat WRPROT as UNCACHEABLE. Signed-off-by: Yinghai Lu Signed-off-by: H. Peter Anvin commit 99e1aa17ce434010dd820b583628370cc15f10f3 Author: Yinghai Lu Date: Sat Oct 4 14:50:32 2008 -0700 x86: mtrr_cleanup: first 1M may be covered in var mtrrs The first 1M is don't care when it comes to the variables MTRRs. Cover it as WB as a heuristic approximation; this is generally what we want to minimize the number of registers. Signed-off-by: Yinghai Lu Signed-off-by: H. Peter Anvin commit 42fde7a05c5d6dc76e518ae12091ea897b1c132b Author: Yinghai Lu Date: Sat Oct 4 19:34:18 2008 -0700 x86: mtrr_cleanup: print out correct type v2 Print out the correct type when the Write Protected (WP) type is seen. Signed-off-by: Yinghai Lu Signed-off-by: H. Peter Anvin commit 2937391385807b3da9cd7a39345259caf550b032 Author: Chuck Lever Date: Fri Oct 3 17:15:38 2008 -0400 NLM: Remove unused argument from svc_addsock() function Clean up: The svc_addsock() function no longer uses its "proto" argument, so remove it. Signed-off-by: Chuck Lever Cc: Neil Brown Signed-off-by: J. Bruce Fields commit 26a414092353590ceaa5955bcb53f863d6ea7549 Author: Chuck Lever Date: Fri Oct 3 17:15:30 2008 -0400 NLM: Remove "proto" argument from lockd_up() Clean up: Now that lockd_up() starts listeners for both transports, the "proto" argument is no longer needed. Signed-off-by: Chuck Lever Cc: Neil Brown Signed-off-by: J. Bruce Fields commit 8c3916f4bdf9c8388bd70d0b399b3a43daf2087a Author: Chuck Lever Date: Fri Oct 3 17:15:23 2008 -0400 NLM: Always start both UDP and TCP listeners Commit 24e36663, which first appeared in 2.6.19, changed lockd so that the client side starts a UDP listener only if there is a UDP NFSv2/v3 mount. Its description notes: This... means that lockd will *not* listen on UDP if the only mounts are TCP mount (and nfsd hasn't started). The latter is the only one that concerns me at all - I don't know if this might be a problem with some servers. Unfortunately it is a problem for Linux itself. The rpc.statd daemon on Linux uses UDP for contacting the local lockd, no matter which protocol is used for NFS mounts. Without a local lockd UDP listener, NFSv2/v3 lock recovery from Linux NFS clients always fails. Revert parts of commit 24e36663 so lockd_up() always starts both listeners. Signed-off-by: Chuck Lever Cc: Neil Brown Signed-off-by: J. Bruce Fields commit d960c9ce47c5360b39e47c064818e91c89df0e21 Author: Paul Bolle Date: Sat Oct 4 21:18:51 2008 +0200 x86 setup: remove IMAGE_OFFSET After commit 968de4f ("i386: Relocatable kernel support") IMAGE_OFFSET wasn't actually used anymore in the (current) X86 build system. Now remove its last traces. Signed-off-by: Paul Bolle Signed-off-by: H. Peter Anvin commit ba31a5f88b6f907e715ff43db06403e12465b703 Author: Paul Bolle Date: Sat Oct 4 21:21:44 2008 +0200 x86 setup: remove DEF_INITSEG and DEF_SETUPSEG Since v.2.6.23 DEF_INITSEG and DEF_SETUPSEG are unused. Commit c397368 ("Remove old i386 setup code") dropped their usage for i386. They did not return in the x86 tree. (Something similar must have happened for x86_64.) Remove these. Signed-off-by: Paul Bolle Signed-off-by: H. Peter Anvin commit a0a08fdca534e1dffc6d8bb239f53177ab06f946 Author: Hartley Sweeten Date: Sat Oct 4 20:01:49 2008 +0100 [ARM] 5273/2: ep93xx: move ethernet support into core.c All EP93xx based systems can support Ethernet. This patch moves the platform_device setup from the various board support files into the core support file. The Ethernet driver data still remains in the individual platform setup files to allow specific platform configuration. This also adds Ethernet support to the edb9302, edb9312, and edb9315 platforms. Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit f6121f4f8708195e88cbdf8dd8d171b226b3f858 Author: Dario Faggioli Date: Fri Oct 3 17:40:46 2008 +0200 sched_rt.c: resch needed in rt_rq_enqueue() for the root rt_rq While working on the new version of the code for SCHED_SPORADIC I noticed something strange in the present throttling mechanism. More specifically in the throttling timer handler in sched_rt.c (do_sched_rt_period_timer()) and in rt_rq_enqueue(). The problem is that, when unthrottling a runqueue, rt_rq_enqueue() only asks for rescheduling if the runqueue has a sched_entity associated to it (i.e., rt_rq->rt_se != NULL). Now, if the runqueue is the root rq (which has a rt_se = NULL) rescheduling does not take place, and it is delayed to some undefined instant in the future. This imply some random bandwidth usage by the RT tasks under throttling. For instance, setting rt_runtime_us/rt_period_us = 950ms/1000ms an RT task will get less than 95%. In our tests we got something varying between 70% to 95%. Using smaller time values, e.g., 95ms/100ms, things are even worse, and I can see values also going down to 20-25%!! The tests we performed are simply running 'yes' as a SCHED_FIFO task, and checking the CPU usage with top, but we can investigate thoroughly if you think it is needed. Things go much better, for us, with the attached patch... Don't know if it is the best approach, but it solved the issue for us. Signed-off-by: Dario Faggioli Signed-off-by: Michael Trimarchi Acked-by: Peter Zijlstra Cc: Signed-off-by: Ingo Molnar commit 81990fbdd18b9cfdc93dc221ff3250f81468aed8 Author: Paul Moore Date: Fri Oct 3 10:51:15 2008 -0400 selinux: Fix an uninitialized variable BUG/panic in selinux_secattr_to_sid() At some point during the 2.6.27 development cycle two new fields were added to the SELinux context structure, a string pointer and a length field. The code in selinux_secattr_to_sid() was not modified and as a result these two fields were left uninitialized which could result in erratic behavior, including kernel panics, when NetLabel is used. This patch fixes the problem by fully initializing the context in selinux_secattr_to_sid() before use and reducing the level of direct context manipulation done to help prevent future problems. Please apply this to the 2.6.27-rcX release stream. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 68c9d702bb72f367f3b148963ec6cf5e07ff7f65 Author: Josef Bacik Date: Fri Oct 3 17:32:43 2008 -0400 generic block based fiemap implementation Any block based fs (this patch includes ext3) just has to declare its own fiemap() function and then call this generic function with its own get_block_t. This works well for block based filesystems that will map multiple contiguous blocks at one time, but will work for filesystems that only map one block at a time, you will just end up with an "extent" for each block. One gotcha is this will not play nicely where there is hole+data after the EOF. This function will assume its hit the end of the data as soon as it hits a hole after the EOF, so if there is any data past that it will not pick that up. AFAIK no block based fs does this anyway, but its in the comments of the function anyway just in case. Signed-off-by: Josef Bacik Signed-off-by: Mark Fasheh Signed-off-by: "Theodore Ts'o" Cc: linux-fsdevel@vger.kernel.org commit 00dc417fa3e763345b34ccb6034d72de76eea0a1 Author: Mark Fasheh Date: Fri Oct 3 17:32:11 2008 -0400 ocfs2: fiemap support Plug ocfs2 into ->fiemap. Some portions of ocfs2_get_clusters() had to be refactored so that the extent cache can be skipped in favor of going directly to the on-disk records. This makes it easier for us to determine which extent is the last one in the btree. Also, I'm not sure we want to be caching fiemap lookups anyway as they're not directly related to data read/write. Signed-off-by: Mark Fasheh Signed-off-by: "Theodore Ts'o" Cc: ocfs2-devel@oss.oracle.com Cc: linux-fsdevel@vger.kernel.org commit c4b929b85bdb64afacbbf6453b1f2bf7e14c9e89 Author: Mark Fasheh Date: Wed Oct 8 19:44:18 2008 -0400 vfs: vfs-level fiemap interface Basic vfs-level fiemap infrastructure, which sets up a new ->fiemap inode operation. Userspace can get extent information on a file via fiemap ioctl. As input, the fiemap ioctl takes a struct fiemap which includes an array of struct fiemap_extent (fm_extents). Size of the extent array is passed as fm_extent_count and number of extents returned will be written into fm_mapped_extents. Offset and length fields on the fiemap structure (fm_start, fm_length) describe a logical range which will be searched for extents. All extents returned will at least partially contain this range. The actual extent offsets and ranges returned will be unmodified from their offset and range on-disk. The fiemap ioctl returns '0' on success. On error, -1 is returned and errno is set. If errno is equal to EBADR, then fm_flags will contain those flags which were passed in which the kernel did not understand. On all other errors, the contents of fm_extents is undefined. As fiemap evolved, there have been many authors of the vfs patch. As far as I can tell, the list includes: Kalpak Shah Andreas Dilger Eric Sandeen Mark Fasheh Signed-off-by: Mark Fasheh Signed-off-by: "Theodore Ts'o" Cc: Michael Kerrisk Cc: linux-api@vger.kernel.org Cc: linux-fsdevel@vger.kernel.org commit 4d20c685fa365766a8f13584b4c8178a15ab7103 Author: Kalpak Shah Date: Wed Oct 8 23:21:54 2008 -0400 ext4: fix xattr deadlock ext4_xattr_set_handle() eventually ends up calling ext4_mark_inode_dirty() which tries to expand the inode by shifting the EAs. This leads to the xattr_sem being downed again and leading to a deadlock. This patch makes sure that if ext4_xattr_set_handle() is in the call-chain, ext4_mark_inode_dirty() will not expand the inode. Signed-off-by: Kalpak Shah Signed-off-by: "Theodore Ts'o" commit 45a90bfd90c1215bf824c0f705b409723f52361b Author: Theodore Ts'o Date: Mon Oct 6 12:04:02 2008 -0400 jbd2: Fix buffer head leak when writing the commit block Also make sure the buffer heads are marked clean before submitting bh for writing. The previous code was marking the buffer head dirty, which would have forced an unneeded write (and seek) to the journal for no good reason. Signed-off-by: "Theodore Ts'o" commit ede86cc473defab74d778aeac14b19f43129d4d1 Author: Theodore Ts'o Date: Sun Oct 5 20:50:06 2008 -0400 ext4: Add debugging markers that can be used by systemtap This debugging markers are designed to debug problems such as the random filesystem latency problems reported by Arjan. Signed-off-by: "Theodore Ts'o" commit 23f8b79eae8a74e42a006ffa7c456e295c7e1c0d Author: Duane Griffin Date: Wed Oct 8 23:28:31 2008 -0400 jbd2: abort instead of waiting for nonexistent transaction The __jbd2_log_wait_for_space function sits in a loop checkpointing transactions until there is sufficient space free in the journal. However, if there are no transactions to be processed (e.g. because the free space calculation is wrong due to a corrupted filesystem) it will never progress. Check for space being required when no transactions are outstanding and abort the journal instead of endlessly looping. This patch fixes the bug reported by Sami Liedes at: http://bugzilla.kernel.org/show_bug.cgi?id=10976 Signed-off-by: Duane Griffin Cc: Sami Liedes Cc: Signed-off-by: Andrew Morton Signed-off-by: "Theodore Ts'o" commit c806e68f5647109350ec546fee5b526962970fd2 Author: Frederic Bohe Date: Fri Oct 10 08:09:18 2008 -0400 ext4: fix initialization of UNINIT bitmap blocks This fixes a bug which caused on-line resizing of filesystems with a 1k blocksize to fail. The root cause of this bug was the fact that if an uninitalized bitmap block gets read in by userspace (which e2fsprogs does try to avoid, but can happen when the blocksize is less than the pagesize and an adjacent blocks is read into memory) ext4_read_block_bitmap() was erroneously depending on the buffer uptodate flag to decide whether it needed to initialize the bitmap block in memory --- i.e., to set the standard set of blocks in use by a block group (superblock, bitmaps, inode table, etc.). Essentially, ext4_read_block_bitmap() assumed it was the only routine that might try to read a block containing a block bitmap, which is simply not true. To fix this, ext4_read_block_bitmap() and ext4_read_inode_bitmap() must always initialize uninitialized bitmap blocks. Once a block or inode is allocated out of that bitmap, it will be marked as initialized in the block group descriptor, so in general this won't result any extra unnecessary work. Signed-off-by: Frederic Bohe Signed-off-by: "Theodore Ts'o" commit c2ea3fde61f1df1dbf062345f23277dcd6f01dfe Author: Theodore Ts'o Date: Fri Oct 10 09:40:52 2008 -0400 ext4: Remove old legacy block allocator Signed-off-by: "Theodore Ts'o" commit 240799cdf22bd789ea6852653c3b879d35ad0a6c Author: Theodore Ts'o Date: Thu Oct 9 23:53:47 2008 -0400 ext4: Use readahead when reading an inode from the inode table With modern hard drives, reading 64k takes roughly the same time as reading a 4k block. So request readahead for adjacent inode table blocks to reduce the time it takes when iterating over directories (especially when doing this in htree sort order) in a cold cache case. With this patch, the time it takes to run "git status" on a kernel tree after flushing the caches via "echo 3 > /proc/sys/vm/drop_caches" is reduced by 21%. Signed-off-by: "Theodore Ts'o" commit 37515facd001942221d68171c81c1f46d54ffdd0 Author: Theodore Ts'o Date: Thu Oct 9 23:21:54 2008 -0400 ext4: Improve the documentation for ext4's /proc tunables Signed-off-by: "Theodore Ts'o" Cc: Alex Tomas Cc: Andreas Dilger commit 9a38a83880c224c6a3fd973ac9ae30a043487f0f Author: Chuck Lever Date: Fri Oct 3 12:50:51 2008 -0400 lockd: Remove unused fields in the nlm_reboot structure The nlm_reboot structure is used to store information provided by the NSM_NOTIFY procedure. This procedure is not specified by the NLM or NSM protocols, other than to say that the procedure can be used to transmit information private to a particular NLM/NSM implementation. For Linux, the callback arguments include the name of the monitored host, the new NSM state of the host, and a 16-byte private opaque. As a clean up, remove the unused fields and the server-side XDR logic that decodes them. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit b85e4676344fc4d7ec5e0f62c3d3712e48bbe223 Author: Chuck Lever Date: Fri Oct 3 12:50:44 2008 -0400 lockd: Add helper to sanity check incoming NOTIFY requests lockd accepts SM_NOTIFY calls only from a privileged process on the local system. If lockd uses an AF_INET6 listener, the sender's address (ie the local rpc.statd) will be the IPv6 loopback address, not the IPv4 loopback address. Make sure the privilege test in nlmsvc_proc_sm_notify() and nlm4svc_proc_sm_notify() works for both AF_INET and AF_INET6 family addresses by refactoring the test into a helper and adding support for IPv6 addresses. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit dcff09f124f71d1d4fe61eb63c79e52f488ac22e Author: Chuck Lever Date: Fri Oct 3 12:50:36 2008 -0400 lockd: change nlmclnt_grant() to take a "struct sockaddr *" Adjust the signature and callers of nlmclnt_grant() to pass a "struct sockaddr *" instead of a "struct sockaddr_in *" in order to support IPv6 addresses. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 6bfbe8af4674458e6d88aef8f0136bd1b8855b11 Author: Chuck Lever Date: Fri Oct 3 12:50:29 2008 -0400 lockd: Adjust nlmsvc_lookup_host() to accomodate AF_INET6 addresses Fix up nlmsvc_lookup_host() to pass AF_INET6 source addresses to nlm_lookup_host(). Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit d7d204403b31beb83b1aefef7bd76f5209369555 Author: Chuck Lever Date: Fri Oct 3 12:50:21 2008 -0400 lockd: Adjust nlmclnt_lookup_host() signature to accomodate non-AF_INET Pass a struct sockaddr * and a length to nlmclnt_lookup_host() to accomodate non-AF_INET family addresses. As a side benefit, eliminate the hostname_len argument, as the hostname is always NUL-terminated. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 88541c848746442ddff45dea05ddea6b734d88b5 Author: Chuck Lever Date: Fri Oct 3 12:50:14 2008 -0400 lockd: Support non-AF_INET addresses in nlm_lookup_host() Use struct sockaddr * and length in nlm_lookup_host_info to all callers to pass in either AF_INET or AF_INET6 addresses. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 7f1ed18bd3aa1e8008cf5cc768a141787633da18 Author: Chuck Lever Date: Fri Oct 3 12:50:07 2008 -0400 NLM: Convert nlm_lookup_host() to use a single argument The nlm_lookup_host() function already has a large number of arguments, and I'm about to add a few more. As a clean up, convert the function to use a single data structure argument. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 0d3ebb9ae9f9c887518fd4c81a68084111d154d7 Author: Tom Tucker Date: Tue Sep 30 13:06:13 2008 -0500 svcrdma: Add Fast Reg MR Data Types Add data types to track Fast Reg Memory Regions. The core data type is svc_rdma_fastreg_mr that associates a device MR with a host kva and page list. A field is added to the WR context to keep track of the FRMR used to map the local memory for an RPC. An FRMR list and spin lock are added to the transport instance to keep track of all FRMR allocated for the transport. Also added are device capability flags to indicate what the memory registration capabilities are for the underlying device and whether or not fast memory registration is supported. Signed-off-by: Tom Tucker commit d22b1cff099737f74f3ac5950094508b4cddec1e Author: J. Bruce Fields Date: Wed Feb 6 15:05:12 2008 -0500 lockd: reject reclaims outside the grace period The current lockd does not reject reclaims that arrive outside of the grace period. Accepting a reclaim means promising to the client that no conflicting locks were granted since last it held the lock. We can meet that promise if we assume the only lockers are nfs clients, and that they are sufficiently well-behaved to reclaim only locks that they held before, and that only reclaim locks have been permitted so far. Once we leave the grace period (and start permitting non-reclaims), we can no longer keep that promise. So we must start rejecting reclaims at that point. Signed-off-by: J. Bruce Fields commit b2b5028905226f85075a408b1118857c9aa48bb3 Author: J. Bruce Fields Date: Wed Feb 6 13:59:23 2008 -0500 lockd: move grace period checks to common code Do all the grace period checks in svclock.c. This simplifies the code a bit, and will ease some later changes. Signed-off-by: J. Bruce Fields commit af558e33bedab672f5cfd3260bce7445e353fe21 Author: J. Bruce Fields Date: Thu Sep 6 12:34:25 2007 -0400 nfsd: common grace period control Rewrite grace period code to unify management of grace period across lockd and nfsd. The current code has lockd and nfsd cooperate to compute a grace period which is satisfactory to them both, and then individually enforce it. This creates a slight race condition, since the enforcement is not coordinated. It's also more complicated than necessary. Here instead we have lockd and nfsd each inform common code when they enter the grace period, and when they're ready to leave the grace period, and allow normal locking only after both of them are ready to leave. We also expect the locks_start_grace()/locks_end_grace() interface here to be simpler to build on for future cluster/high-availability work, which may require (for example) putting individual filesystems into grace, or enforcing grace periods across multiple cluster nodes. Signed-off-by: J. Bruce Fields commit 7191a0a18228c8da9abc7776433c6a3953ff1e4b Author: Bob Sharp Date: Fri Oct 3 12:21:19 2008 -0700 RDMA/nes: Fix routed RDMA connections Fix routed RDMA connections to destinations where the next hop is not the final destination. Use neigh_*() to properly locate neighbor. Signed-off-by: Bob Sharp Signed-off-by: Sweta Bhatt Signed-off-by: Chien Tung commit 7e36d3d732438de894802f87a0ca21372e00fb74 Author: Vadim Makhervaks Date: Fri Oct 3 12:21:18 2008 -0700 RDMA/nes: Enhanced PFT management scheme Change management of perfect filter table to allow enhanced performance applications. Signed-off-by: Vadim Makhervaks Signed-off-by: Sweta Bhatt Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit f68ec0c24755e5cdb779be6240925f2175311d84 Merge: 98920dc... 94aca1d... Author: Ingo Molnar Date: Fri Oct 3 19:28:46 2008 +0200 Merge commit 'v2.6.27-rc8' into x86/setup commit 98920dc3d1113b883cbc73e3293446d3525c6042 Author: H. Peter Anvin Date: Fri Oct 3 10:22:33 2008 -0700 Revert "x86: fix ghost EDD devices in /sys again" This reverts commit 464f04c9e9b3b1c4f5ffb89c51d8ba2a2034c846. Obsoleted by commit 6cdcdb99cf7c2e1835fc5b471864d21161c3e679. Signed-off-by: H. Peter Anvin commit 6cdcdb99cf7c2e1835fc5b471864d21161c3e679 Author: Andrey Borzenkov Date: Fri Oct 3 21:08:49 2008 +0400 x86 setup: fix ghost entries under /sys/firmware/edd take 3 Some BIOSes do not indicate error when trying to read from non- existing device. Zero buffer before reading and check that we possibly have valid MBR by looking for MBR magic. This was fixed in different way for edd.S in http://marc.info/?l=linux-kernel&m=114087765422490&w=2, but lost again when edd.S was rewritten in C. Signed-off-by: Andrey Borzenkov < arvidjaar@mail.ru> Signed-off-by: H. Peter Anvin commit 41bfcf90101601f9507240ff0435c1b73d28a132 Author: Swen Schillig Date: Wed Oct 1 12:42:26 2008 +0200 [SCSI] zfcp: fix double dbf id usage Trace ids 107 and 3 are used twice, fix this to have unique ids for the erp triggers. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 091694a556d168dc9df4d79e3a40116550b183cf Author: Swen Schillig Date: Wed Oct 1 12:42:25 2008 +0200 [SCSI] zfcp: wait on SCSI work to be finished before proceeding with init dev Due to the character of a scheduled work we cannot guarantee the LUN register to be finished before an initial device tries to use it. Therefor we have to wait for PENDING_SCSI_WORK flag to be cleared before proceeding. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 9fb3cd86e4870d54d71a80323e97c48df4de05bd Author: Swen Schillig Date: Wed Oct 1 12:42:24 2008 +0200 [SCSI] zfcp: fix erp list usage without using locks The zfcp_erp_thread was using the nolock version of the dbf function. This resulted in a list access while other tasks could modifying the list. The symptom was an erp thread running at 100% CPU and never returning from the dbf function. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit e4e9ba5d9313f362d2192fb7a2d35a3bfb714b1e Author: Swen Schillig Date: Wed Oct 1 12:42:23 2008 +0200 [SCSI] zfcp: prevent fc_remote_port_delete calls for unregistered rport In case of an adapter reopen all rports have to be deleted from the environment. This should only happen for already registered rports otherwise fc_remote_port_delete is called with a NULL pointer. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit b7f15f3c94196accac799727502ed88a029ae7ef Author: Swen Schillig Date: Wed Oct 1 12:42:22 2008 +0200 [SCSI] zfcp: fix deadlock caused by shared work queue tasks Each adapter reopen trigger automatically a scan_port task which is waiting for the ERP to be finished before further processing. Since the initial device setup enqueues adapter, port and LUN which are individual ERP actions, this process would start after everything is done. Unfortunately the port_reopen requires another scheduled work to be finished which is queued after the automatic scan_port -> deadlock ! This fix creates an own work queue for ERP based nameserver requests. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 57069386699994c3e67042fc4928c418f3a39e01 Author: Swen Schillig Date: Wed Oct 1 12:42:21 2008 +0200 [SCSI] zfcp: put threshold data in hba trace Now that we removed the long messages for the bit error threshold data, put the data in the hba trace. This way, we get a short warning for the threshold event from the hardware and have the data in the trace for further analysis. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 0406289ed57955860a4f8d744a14f4c819260ce4 Author: Christof Schmitt Date: Wed Oct 1 12:42:20 2008 +0200 [SCSI] zfcp: Simplify zfcp data structures Reduce the size of zfcp data structures by removing unused and redundant members. scsi_lun is only the mangled version of the fcp_lun. So, remove the redundant field and use the fcp_lun instead. Since the queue lock and the pci_batch indicator are only used in the request queue, move them from the common queue struct to the adapter struct. Signed-off-by: Christof Schmitt Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit a1b449de5d35b9eec8981c6ea999eea263b19a0b Author: Swen Schillig Date: Wed Oct 1 12:42:19 2008 +0200 [SCSI] zfcp: Simplify get_adapter_by_busid Call the helper function from cio instead looping through all zfcp adapters. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 7ba58c9cc16d296290fe645acb11db2b01276544 Author: Swen Schillig Date: Wed Oct 1 12:42:18 2008 +0200 [SCSI] zfcp: remove all typedefs and replace them with standards Remove typedefs from zfcp, use already existing types instead. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 5ab944f97e09a3d52951fe903eed9a7b88d810b2 Author: Swen Schillig Date: Wed Oct 1 12:42:17 2008 +0200 [SCSI] zfcp: attach and release SAN nameserver port on demand Changing the zfcp behaviour from always having the nameserver port open to an on-demand strategy. This strategy reduces the use of limited resources like port connections. The patch provides a common infrastructure which could be used for all WKA ports in future. Also reduce the number of nameserver lookups by changing the zfcp behaviour of always querying the nameserver for the corresponding destination ID of the remote port. If the destination ID has changed during the reopen process we will be informed and then trigger a nameserver query on demand. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 44cc76f2d154aa24340354b4711a0fe7f8f08adc Author: Swen Schillig Date: Wed Oct 1 12:42:16 2008 +0200 [SCSI] zfcp: remove unused references, declarations and flags - Remove unused references and declarations, including one instance of the FC ls_adisc struct that has been defined twice. - Also remove the flags COMMON_OPENING, COMMON_CLOSING, ADAPTER_REGISTERED and XPORT_OK that are only set and cleared, but not checked anywhere. - Remove the zfcp specific atomic_test_mask makro. Simply use atomic_read directly instead. - Remove the zfcp internal sg helper functions and switch the places where it is still used to call sg_virt directly. - With the update of the QDIO code, the QDIO data structures no longer use the volatile type qualifier. Now we can also remove the volatile qualifiers from the zfcp code. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit ff3b24fa5370a7ca618f212284d9b36fcedb9c0e Author: Christof Schmitt Date: Wed Oct 1 12:42:15 2008 +0200 [SCSI] zfcp: Update message with input from review Update the kernel messages in zfcp with input from the message review and remove some messages that have been identified as redundant. Signed-off-by: Christof Schmitt Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit 2450d3e7b8604d0abb042817f2502cb7ee0b782f Author: Stefan Raspl Date: Wed Oct 1 12:42:14 2008 +0200 [SCSI] zfcp: add queue_full sysfs attribute Adds a new sysfs attribute queue_full for adapters that records the number of incidents where a requests could not be submitted due to insufficient free space on the request queue. Signed-off-by: Stefan Raspl Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 7ae628d9d21a088b4a2d26a9d39c29c0acd2d03b Author: James Bottomley Date: Tue Sep 23 07:58:59 2008 -0700 [SCSI] scsi_dh: suppress comparison warning On Mon, 2008-09-22 at 14:56 -0700, akpm@linux-foundation.org wrote: > From: Andrew Morton > > s390: > > drivers/scsi/device_handler/scsi_dh_emc.c: In function 'parse_sp_info_reply': > drivers/scsi/device_handler/scsi_dh_emc.c:179: warning: comparison is always false due to limited range of data type > > because chars are unsigned, I assume. Fix by making csdev->buffer explicitly an unsigned char and dropping the < 0 test. Signed-off-by: James Bottomley commit 650849d71ca05d55a1553fe42fb21af9dce5612b Author: Yanqing_Liu@Dell.com Date: Thu Oct 2 12:18:33 2008 -0500 [SCSI] scsi_dh: add Dell product information into rdac device handler Add Dell Powervault storage arrays into device list of rdac device handler. Signed-off-by: Yanqing Liu Signed-off-by: James Bottomley commit b78ded89156827b50729518b1d13fea6defb46ee Author: Adrian Bunk Date: Mon Sep 22 14:56:49 2008 -0700 [SCSI] qla2xxx: remove the unused SCSI_QLOGIC_FC_FIRMWARE option This option was forgotten when the SCSI_QLOGIC_FC driver was removed. Reported-by: Robert P. J. Day Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 4a3e1ea8b2f25f962e91883be880de678bad8e3e Author: Alexander Beregalov Date: Thu Sep 18 04:09:57 2008 +0400 [SCSI] qla2xxx: fix printk format warnings Signed-off-by: Alexander Beregalov Acked-by: Andrew Vasquez Signed-off-by: James Bottomley commit 36d1cdcffbbb33b966d6bdd6534bb03c22b3fd0c Author: Andrew Vasquez Date: Thu Sep 11 21:22:54 2008 -0700 [SCSI] qla2xxx: Update version number to 8.02.01-k8. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 59d72d873ccfaf59e9ceea1487459f5a57c0d504 Author: Ravi Anand Date: Thu Sep 11 21:22:53 2008 -0700 [SCSI] qla2xxx: Ignore payload reserved-bits during RSCN processing. As the driver is only interested in bits 0-9 of the 1st RSCN-payload word: rsvd[15:14]RscnEventQualifier[13:10]Fmt[9:8]Domain[7:0] Area[15:8]Alpa[7:0] Signed-off-by: Ravi Anand Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 2d136938792ba04bf3b6bb2d3a2807dc05c396fc Author: Andrew Vasquez Date: Thu Sep 11 21:22:52 2008 -0700 [SCSI] qla2xxx: Additional residual-count corrections during UNDERRUN handling. Add additional tightening of residual-count handling (originally from commit 6acf8190025e9c4ea513d4084ff089d476112816) where the driver should discard any lower SCSI-status during firmware/transport residual-count mismatches. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit cc3ef7bc40bbede7bbd0bb395d6452a575e95efe Author: Bjorn Helgaas Date: Thu Sep 11 21:22:51 2008 -0700 [SCSI] qla2xxx: Fix "occured" spelling errors. Fix "occured" spelling errors. Most of these are in comments, which I wouldn't normally bother with, but a couple are in printks, which irritate me more. So I just fixed them all at the same time. Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 272976ca186982f7bbc4f22876c53d6c9f7b6e32 Author: Andrew Vasquez Date: Thu Sep 11 21:22:50 2008 -0700 [SCSI] qla2xxx: Add NPIV-Config Table support. To instatiate pre-configured vport entities defined within an HBA's flash memory. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit c00d8994d91e51aa6b891ad0e877f66cc1011de2 Author: Andrew Vasquez Date: Thu Sep 11 21:22:49 2008 -0700 [SCSI] qla2xxx: Add Flash Layout Table support. The Flash Layout Table (FLT) present on many recent HBAs encodes flash usage information, organizes data stored into separate regions and presents the information uniformly to the driver. Use this information rather than using specific hard-coded values based on ISP type. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 4b89258c7320bab4155b692e76ae9ffdd85e79be Author: Andrew Vasquez Date: Thu Sep 11 21:22:48 2008 -0700 [SCSI] qla2xxx: Change GFP_ATOMIC to GFP_KERNEL for non-atomic allocations. Both call-sites are sleeping-capable. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 49fd462a1ba4a1b9bfbfe01d279d506017d85492 Author: Harish Zunjarrao Date: Thu Sep 11 21:22:47 2008 -0700 [SCSI] qla2xxx: Add input/output byte-count statistics. Currently Firmware does not have counters for input megabytes and output megabytes, therefore driver counts these values depending on the status of the scsi command and direction of the command. The values are exported in the FC_HOST path. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit ac26d41dee65167109e7cdcd0289b44ca61cd741 Author: Mike Christie Date: Sat Sep 6 08:39:15 2008 -0500 [SCSI] libiscsi: return error passed in during iscsi recovery Due to patch building error on my side, we are still passing DID_BUS_BUSY for commands that are running, when we want to return whatever the caller of fail_all_commands wanted. This replaces the hardcoded error code with the value that is passed in. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit a7bbb57333447d0cf950992653b6b079585f3531 Author: Pierre Ossman Date: Sat Sep 6 10:57:57 2008 +0200 [SCSI] mmc_block: use generic helper to print capacities Signed-off-by: Pierre Ossman Signed-off-by: James Bottomley commit a30c3f69e6336cb9b09a989595e417367e4e9b1b Author: Andrew Vasquez Date: Fri Jul 18 08:32:52 2008 -0700 [SCSI] fc_transport: Add an API to allow an LLD to create vports There's already a fc_vport_termintate() call exported by the transport. This patch adds a symmetric call to the API to allow an NPIV-capable LLD to instantiate vports sans user intervention. Additional comments/updates: Re: scsi_fc_transport.txt Add a function prototype for fc_vport_terminate similar to what's done for fc_vport_create Re: fc_vport_create I recommend we pass the channel number in fc_vport_create rather than fixing it at zero. Also, ids->vport_type should be set to FC_PORTTYPE_NPIV prior to calling fc_vport_create. The comment is also meaningless. Added-by and Signed-off-by: James Smart Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 7404ad3b6d04efbd918e9e2e776bf560fbedf47d Author: James Bottomley Date: Sun Aug 31 10:41:52 2008 -0500 [SCSI] sd: use generic helper to print capacities in both binary and SI Signed-off-by: James Bottomley commit 3c9f3681d0b4af09c1cbf04f92fdfb72bd81ad7b Author: James Bottomley Date: Sun Aug 31 10:13:54 2008 -0500 [SCSI] lib: add generic helper to print sizes rounded to the correct SI range This patch adds the ability to print sizes in either units of 10^3 (SI) or 2^10 (Binary) units. It rounds up to three significant figures and can be used for either memory or storage capacities. Oh, and I'm fully aware that 64 bits is only 16EiB ... the Zetta and Yotta units are added for future proofing against the day we have 128 bit computers ... [fujita.tomonori@lab.ntt.co.jp: fix missed unsigned long long cast] Signed-off-by: James Bottomley commit 114f1ea408944f9515e45aa7452238fb15a1fa00 Author: FUJITA Tomonori Date: Mon Aug 25 13:51:58 2008 -0700 [SCSI] scsi_dh: no need to initialize rq->cmd with blk_get_request blk_get_request initializes rq->cmd (rq_init does) so the users don't need to do that. Signed-off-by: FUJITA Tomonori Signed-off-by: Chandra Seetharaman Signed-off-by: James Bottomley commit 6f4267e3bd1211b3d09130e626b0b3d885077610 Author: James Bottomley Date: Fri Aug 22 16:53:31 2008 -0500 [SCSI] Update the SCSI state model to allow blocking in the created state Brian King reported that fibre channel devices can oops during scanning if their ports block (because the device goes from CREATED -> BLOCK -> RUNNING rather than CREATED -> BLOCK -> CREATED). Fix this by adding a new state: CREATED_BLOCK which can only transition back to CREATED and disallow the CREATED -> BLOCK transition. Now both the created and blocked states that the mid-layer recognises can include CREATED_BLOCK. Signed-off-by: James Bottomley commit 0f1d87a2acb8fd1f2ef8af109a785123ddc1a6cb Author: James Bottomley Date: Fri Aug 22 16:43:59 2008 -0500 [SCSI] add inline functions for recognising created and blocked states The created and blocked states are very shortly going to correspond to mixed sdev_state states. Signed-off-by: James Bottomley commit 22447be7d15aefcfab84e9bec4859a28198b0c62 Author: James Smart Date: Fri Aug 8 02:14:18 2008 -0400 [SCSI] scsi_netlink: Add transport and LLD recieve and event support This patch adds scsi netlink recieve and event support for transport and scsi LLDD's. It is a reimplementation of the patch posted last week by David Somayajulu. http://marc.info/?l=linux-scsi&m=121745486221819&w=2 There are a few things done differently: - Transport support is included - Event delivery is included - The vendor message is now its own unique message type, considered part of the generic "SCSI Transport". - LLDD entry points are now registered rather than included in the scsi_host_template. Background: When I started to implement the event handler via template, I had to either: muck up scsi_add_host and scsi_remove_host; or have the event handler search all possible shosts. Neither was acceptable. Moving to a registration solves this, and also limits the scope of the changes to something that could be backported to a distro without breaking an already-released-distro kabi. However, I admit it isn't as elegant, as the passing of the LLDD host template in the registration and the complexity around dynamic add/remove shows. - The receive path was augmented to require a unique identifier for the LLDD before the message was allowed to be handed off to the driver. Given how quickly very fatal errors occur if there's msg mismatches (which I saw in testing my own tools :), I believe this to be a very good thing. The id plays off the vendor id scheme already introduced for the vendor unique event messages used by FC. Additionally, the id use as the basis of the registration/deregistration. - Send assist functions, for both the transport and LLDDs are included. [fujita.tomonori@lab.ntt.co.jp: fix missing cast] Signed-off-by: James Smart Signed-off-by: James Bottomley commit 557cc476c04146ee610f4bc77bfe20ce1c823d7c Author: Nick Warne Date: Sun Aug 17 00:00:44 2008 +0200 [SCSI] tmscsim: Fixup KERN_INFO in printk Multiline kernel messages should contain a priority in every line, besides, some log daemons represent a tabulator as "^I", fix both these issues. Signed-off-by: Nick Warne Signed-off-by: Guennadi Liakhovetski Signed-off-by: James Bottomley commit 3fd7f938831b7f2e7b6103118ad1a455f6f03110 Author: Matthew Wilcox Date: Wed Aug 13 21:36:55 2008 -0700 [SCSI] qla2xxx: Remove semaphore.h Now that qla2xxx has been converted to mutexes, it no longer needs the semaphore include. Signed-off-by: Matthew Wilcox Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 315cb0ad124575e75da2d0e0a95990587fc23485 Author: James Smart Date: Thu Aug 7 20:49:30 2008 -0400 [SCSI] scsi_host_lookup: error returns and NULL pointers This patch cleans up the behavior of scsi_host_lookup(). The original implementation attempted to use the dual role of either returning a pointer value, or a negative error code. User's needed to use IS_ERR() to check the result. Additionally, the IS_ERR() macro never checks for when a NULL pointer was returned, so a NULL pointer actually passes with a success case. Note: scsi_host_get(), used by scsi_host_lookup(), can return a NULL pointer. Talk about a mudhole for the unitiated to step into.... This patch converts scsi_host_lookup() to return either NULL or a valid pointer. The consumers were updated for the change. Signed-off-by: James Smart Signed-off-by: James Bottomley commit c46c948260f41af18b277c1eb1895d788d3605dc Author: Jonathan Cameron Date: Fri Oct 3 15:07:36 2008 +0100 [ARM] 5278/1: i2c-pxa fast mode support Add fast_mode option to i2c_pxa_platform_data and use it to set the ICR_FM bit appropriately when i2c_pxa_reset is called. Parameter called fast_mode rather than frequency as this driver is also used for the i2c_pxa_pwr bus which has different normal and fast frequencies. Signed-off-by: Jonathan Cameron Acked-by: Eric Miao Signed-off-by: Russell King commit d294eb83d8d39a29f01dad391f15fc3a29aa04f9 Author: Frederic Weisbecker Date: Fri Oct 3 12:10:10 2008 +0200 cpusets: scan_for_empty_cpusets(), cpuset doesn't seem to be so const This fixes a warning on latest -tip: kernel/cpuset.c: Dans la fonction «scan_for_empty_cpusets» : kernel/cpuset.c:1932: attention : passing argument 1 of «list_add_tail» discards qualifiers from pointer target type Actually the struct cpuset *root passed in parameter to scan_for_empty_cpusets is not supposed to be const since an entry is added on the tail of its list. Just correct the qualifier. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 56f68556d7bbb51dd158c74deb09c783345bfbbd Merge: fd9470c... 7c8ad98... Author: Russell King Date: Fri Oct 3 11:52:33 2008 +0100 Merge unstable branch 'omap-rmk' Merge branch 'omap-rmk' into omap-all commit fd9470ce3ac6fb54d6026e4b1cdab0936e34805e Merge: b8e6c91... e89087c... Author: Russell King Date: Fri Oct 3 11:52:30 2008 +0100 Merge branch 'omap2-clock' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git Merge branch 'omap2-clock' into omap-all commit 000b50259271c9c14f6e175795f5164e1d51d35b Author: Catalin Marinas Date: Fri Oct 3 11:09:10 2008 +0100 [ARM] 5229/3: Replace some ARMv7 opcodes with the instruction name These instructions were placed in the code directly as opcodes because early compilers didn't support them. Toolchains supporting ARMv7 understand these instructions and the patch puts the mnemonics back. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 92e88aa7fb8190031dca9e04acbf4821bd77941b Author: Hartley Sweeten Date: Thu Oct 2 17:13:02 2008 +0100 [ARM] 5276/1: ep93xx: allow selecting UART for early kernel messages Currently on the EP93xx platform early kernel messages go to UART1. Since this UART is the only one that has modem control signals it might be used for another purpose and it is undesirable for those messages to appear. This patch allows one of the other UARTs to be selected in the kernel configuration. It is assumed that the bootloader has configured and initialized the UART since this was the previous assumption. Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit 77af7e3403e7314c47b0c07fbc5e4ef21d939532 Author: Frederic Weisbecker Date: Fri Oct 3 11:39:46 2008 +0200 softirq, warning fix: correct a format to avoid a warning Last -tip gives this warning: kernel/softirq.c: Dans la fonction «__do_softirq» : kernel/softirq.c:216: attention : format «%ld» expects type «long int», but argument 2 has type «int» This patch corrects the format type, and a small mistake in the "softirq" word. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit ec36b16d0d1ae0a43eb8c395e9bf58efdadad1d7 Author: Dmitry Baryshkov Date: Thu Dec 27 14:19:44 2007 +0100 [ARM] 4733/1: export sharpsl_param EXPORT sharpsl_param which is necessary to support modular build of some depending drivers. Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit 2ec2b482b10a1ed3493c224f1893cddd3d33833b Author: Ingo Molnar Date: Fri Oct 3 10:41:00 2008 +0200 rcu: RCU-based detection of stalled CPUs for Classic RCU, fix fix the !CONFIG_RCU_CPU_STALL_DETECTOR path: kernel/rcuclassic.c: In function '__rcu_pending': kernel/rcuclassic.c:609: error: too few arguments to function 'check_cpu_stall' Signed-off-by: Ingo Molnar commit 2133b5d7ff531bc15a923db4a6a50bf96c561be9 Author: Paul E. McKenney Date: Thu Oct 2 16:06:39 2008 -0700 rcu: RCU-based detection of stalled CPUs for Classic RCU This patch adds stalled-CPU detection to Classic RCU. This capability is enabled by a new config variable CONFIG_RCU_CPU_STALL_DETECTOR, which defaults disabled. This is a debugging feature to detect infinite loops in kernel code, not something that non-kernel-hackers would be expected to care about. This feature can detect looping CPUs in !PREEMPT builds and looping CPUs with preemption disabled in PREEMPT builds. This is essentially a port of this functionality from the treercu patch, replacing the stall debug patch that is already in tip/core/rcu (commit 67182ae1c4). The changes from the patch in tip/core/rcu include making the config variable name match that in treercu, changing from seconds to jiffies to avoid spurious warnings, and printing a boot message when this feature is enabled. Signed-off-by: Paul E. McKenney Signed-off-by: Ingo Molnar commit b5259d944279d0b7e78a83849a352d8ba0447c4c Merge: 1c50b72... 94aca1d... Author: Ingo Molnar Date: Fri Oct 3 10:34:36 2008 +0200 Merge commit 'v2.6.27-rc8' into core/rcu commit 175e438f7a2de9d94110046be48697969569736a Author: Russ Anderson Date: Thu Oct 2 17:32:06 2008 -0500 x86: trivial printk fix in efi.c [patch] x86: Trivial printk fix in efi.c The following line is lacking a space between "memdesc" and "doesn't". "Kernel-defined memdescdoesn't match the one from EFI!" Fixed the printk by adding a space. Signed-off-by: Russ Anderson Cc: Russ Anderson Signed-off-by: Ingo Molnar commit 69e13ad56f9e2cd81c4f8bfd6267211c10c14c08 Author: Hiroshi Shimamoto Date: Thu Oct 2 22:18:47 2008 -0700 x86: signal: remove indent in restore_sigcontext() remove braces and indent for flags and fpstate in restore_sigcontext(). Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit a2e8d3dcfd420177aaa0c53aca60a869bad75f4b Author: Hiroshi Shimamoto Date: Thu Oct 2 22:09:20 2008 -0700 x86: signal: move macros out from restore_sigcontext() move macros, COPY, COPY_SEG*, GET_SEG, out from restore_sigcontext(). x86_64: introduce COPY_SEG_STRICT for cs. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit d19c8e516e0a17e049bcfbe96f86e040254ddf14 Author: Jeremy Fitzhardinge Date: Thu Oct 2 16:42:35 2008 -0700 xen: remove unused balloon.h The balloon driver doesn't have any externally callable functions at the moment, so remove the (effectively empty) header. We can add it back if we need to. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit db053b86f4b1ec790da2dafe2acb93be76288bb9 Author: Jeremy Fitzhardinge Date: Thu Oct 2 16:41:31 2008 -0700 xen: clean up x86-64 warnings There are a couple of Xen features which rely on directly accessing per-cpu data via a segment register, which is not yet available on x86-64. In the meantime, just disable direct access to the vcpu info structure; this leaves some of the code as dead, but it will come to life in time, and the warnings are suppressed. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 8bb39311bf461243f6cade3644764d848516dd23 Author: Yinghai Lu Date: Thu Oct 2 23:26:59 2008 -0700 x86, debug: mtrr_cleanup print out var mtrr before change it Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 834836ee6a3a9deadff9394b23db965a08bcde35 Author: Yinghai Lu Date: Thu Oct 2 15:46:20 2008 -0700 x86: mtrr_cleanup try gran_size to less than 1M, v3 J.A. Magallón reported: >> Also, on a 64 bit box with 4Gb, it gives this: >> >> cicely:~# cat /proc/mtrr >> reg00: base=0x00000000 ( 0MB), size=4096MB: write-back, count=1 >> reg01: base=0x100000000 (4096MB), size=1024MB: write-back, count=1 >> reg02: base=0x140000000 (5120MB), size= 512MB: write-back, count=1 >> reg03: base=0x160000000 (5632MB), size= 256MB: write-back, count=1 >> reg04: base=0x80000000 (2048MB), size=2048MB: uncachable, count=1 boundary handling has a problem ... fix it. Reported-by: J.A. Magallón Signed-off-by: Ingo Molnar commit 136c82c6f7f12c9bed8bf709f92123077966512c Author: J.A. Magallón Date: Fri Oct 3 00:32:37 2008 +0200 x86: mtrr_cleanup try gran_size to less than 1M, cleanup Patch below cleans up formatting, with space for big bases and sizes (64 Gb). Signed-off-by: Ingo Molnar commit 49ea26d0a0fa8eebc4bf0432ec3ad35a35202615 Author: Kristoffer Ericson Date: Thu Oct 2 20:15:35 2008 +0100 [ARM] 5277/1: Add basic support for MobilePro 900/c This patch adds basic support for the Mobilepro 900/c mini-laptop. At present it won't do much more than build and boot. Signed-off-by: Kristoffer Ericson Signed-off-by: Russell King commit 4e9687d9c843dc34d368358a36f5f1610e4fbab3 Author: Marek Vašut Date: Thu Sep 11 19:37:32 2008 +0100 [ARM] 5248/1: wm97xx generic battery driver This patch adds generic battery driver for wm97xx chips. Signed-off-by: Marek Vasut Acked-by: Anton Vorontsov Acked-by: Mark Brown Signed-off-by: Russell King commit 3319f5e51a20f3e3c59ed7dac9fc2d5c89aa2d9f Author: Nicolas Pitre Date: Thu Oct 2 03:29:22 2008 +0100 [ARM] 5274/1: simplify request_standard_resources() There is no point converting memory bank addresses from physical to virtual just to convert them back to physical addresses. Furthermore this isn't "right" for highmem even if in this case the end result is the correct one. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 3d5fa877bdf65451c78c3b3d581355deea403b80 Author: Victor Gallardo Date: Wed Oct 1 23:29:26 2008 -0700 powerpc/44x: Add AMCC Arches defconfig file Add a defconfig for the AMCC Arches evaluation board Signed-off-by: Victor Gallardo Signed-off-by: Josh Boyer commit e9ee2924ddd86ca7c97d8a8770069d2c6035d349 Author: Victor Gallardo Date: Wed Oct 1 23:29:16 2008 -0700 powerpc/44x: Add AMCC Arches DTS Basic functionality for the AMCC Arches eval Board. Signed-off-by: Victor Gallardo Signed-off-by: Josh Boyer commit e00de30a9decf48793ac83173144884a1f33de82 Author: Victor Gallardo Date: Wed Oct 1 23:29:06 2008 -0700 powerpc/44x: Add AMCC Arches eval board support The Arches Evaluation board is based on the AMCC 460GT SoC chip. This board is a dual processor board with each processor providing independent resources for Rapid IO, Gigabit Ethernet, and serial communications. Each 460GT has it's own 512MB DDR2 memory, 32MB NOR FLASH, UART, EEPROM and temperature sensor, along with a shared debug port. The two 460GT's will communicate with each other via shared memory, Gigabit Ethernet and x1 PCI-Express. Signed-off-by: Victor Gallardo Signed-off-by: Josh Boyer commit 9e3cb29497561c846d0e7efc445731764d93c749 Author: Victor Gallardo Date: Wed Oct 1 23:37:57 2008 -0700 ibm_newemac: Add support for GPCS, SGMII and M88E1112 PHY Add support for the phy types found on the Arches and other PowerPC 460 based boards. Signed-off-by: Victor Gallardo Acked-by: Benjamin Herrenschmidt Acked-by: Jeff Garzik Signed-off-by: Josh Boyer commit 5a013fc7bb48acefe94011f4b83fef95b381f875 Author: Matthias Fuchs Date: Wed Sep 10 05:55:46 2008 +0000 powerpc/4xx: Allow 4xx PCI bridge to be disabled via device tree This patch allows the 4xx (conventional) PCI bridge to be disabled via the device tree. This is needed for 4xx PCI adapter hardware. Use the PCI node's status property to disable the PCI bridge. Signed-off-by: Matthias Fuchs Acked-by: Stefan Roese Signed-off-by: Josh Boyer commit fd1452ebf257317f24e0e285a17a2ec2ce3e6df7 Author: Dmitry Adamushko Date: Thu Oct 2 16:56:19 2008 +0300 x86/microcode: fix sleeping function called from invalid context at kernel/mutex.c Fix the following "sleeping function called from invalid context" bug: ... __might_sleep mutex_lock_nested microcode_update_cpu mc_sysdev_resume __sysdev_resume sysdev_resume device_power_up ... Signed-off-by: Dmitry Adamushko Signed-off-by: Ingo Molnar commit 40becd8d5af03ee7935e79c3fccd0d1f380d95b4 Author: FUJITA Tomonori Date: Mon Sep 29 00:06:36 2008 +0900 AMD IOMMU: use iommu_device_max_index AMD IOMMU can use iommu_device_max_index() instead of the homegrown function. Signed-off-by: FUJITA Tomonori Acked-by: Joerg Roedel Signed-off-by: Ingo Molnar commit 8e85b4b553fc932e1c5141feb5fda389b7f5db01 Author: Thomas Gleixner Date: Thu Oct 2 10:50:53 2008 +0200 softirqs, debug: preemption check if a preempt count leaks out of a softirq handler it can be very hard to figure it out. Add a debug check for this. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c9b59da130b4430910e02a80816f317534cd5e53 Merge: 9f5494b... 4ee7084... Author: Benjamin Herrenschmidt Date: Thu Oct 2 16:11:49 2008 +1000 Merge commit 'kumar/kumar-mmu' commit 9f5494b797eb334f3aba5894a0b5b34d332a3149 Merge: d2b194e... b957968... Author: Benjamin Herrenschmidt Date: Thu Oct 2 16:11:44 2008 +1000 Merge commit 'kumar/kumar-dma' commit 0ac4ed9d76400e7c073b9d81cea13f8613d24361 Author: Gilles Chanteperdrix Date: Fri Sep 26 15:44:43 2008 +0100 [NET] 5268/1: cs89x0: add support for i.MX31ADS ARM board. Add support for i.MX31ADS board to the cs89x0 ethernet driver. Rework Kconfig options for the cs89x0 driver to reduce the #ifdef clutter. Signed-off-by: Gilles Chanteperdrix Signed-off-by: Russell King commit 457cd4f5e3011da47f2f76e2bdc545ffcc1189db Author: Dick Hollenbeck Date: Tue Sep 16 18:30:27 2008 +0100 [ARM] 5250/1: unbalanced enable_irq() for serial_ks8695.c fix The function ks8695uart_set_termios() would cause an unbalanced enable_irq() generated message to be printk()ed. This is because there was no book keeping support to remember if the calls to enable_irq() and disable_irq() were balanced for the modem control irq. Signed-off-by: Dick Hollenbeck Signed-off-by: Russell King commit 2532967147f750fa661bdc3d1f890314c37dda28 Author: Jürgen Schindele Date: Tue Sep 16 21:36:30 2008 +0100 [ARM] 5251/1: remove old LED support for Trizeps4 SOM Remove the old led support in arch/arm/mach-pxa/leds... for TRIZEPS4 SOM. It is / will be replaced by generic led driver drivers/leds/... Signed-off-by: Jürgen Schindele Acked-by: Eric Miao Signed-off-by: Russell King commit 642aa6637e46ae788f1f8916dc9aa5a68917e12e Author: Jürgen Schindele Date: Mon Aug 18 21:45:03 2008 +0100 [ARM] 5204/1: Trizeps4 SOM update - use MFP-API for GPIO - support TRIZEPS4WL module - cleanups Signed-off-by: Jrgen Schindele Acked-by: Eric Miao Signed-off-by: Russell King commit bda03086093d4535e39ee8a6120e3fbb73e83b1a Author: Kristoffer Ericson Date: Mon Sep 29 17:09:10 2008 +0100 [ARM] 5270/1: Fix Formatting in mach-sa1100/ machine files This patch fixes formatting issues in mach-sa1100/ machine files. More specificly badge4.c,generic.c and pleb.c. Signed-off-by: Kristoffer Ericson Signed-off-by: Russell King commit 89c816b94892e4132aaf4a8b92b0d512e3adc6f3 Author: Kristoffer Ericson Date: Thu Sep 18 12:36:36 2008 +0100 [ARM] 5256/1: Update jornada default config This patch updates the jornada default config (which was made for 2.6.12). Plenty of development has happend since then, most importantly the SSP driver and kbd/touchscr. This config has been tested to compile and bootup properly. Signed-off-by: Kristoffer Ericson Signed-off-by: Russell King commit 4ba3f7c55938d7e51e23c1feedd035dd46716ae7 Author: Russell King Date: Wed Oct 1 21:38:23 2008 +0100 [ARM] mm: allow LH7A40x to use sparsemem Enable Sparsemem support for LH7A40x SoCs, while still allowing the existing discontig support for the time being. Signed-off-by: Russell King commit 07a2f737ba1d73ace591dd03c512bb0dd63f6785 Author: Russell King Date: Wed Oct 1 21:39:58 2008 +0100 [ARM] mm: deprecate discontigmem on ARM Signed-off-by: Russell King commit ee93916efe22f767628f9d25abb8ad8548797336 Author: Russell King Date: Wed Oct 1 21:03:21 2008 +0100 [ARM] mm: switch SA1100 to use sparsemem Tested on Assabet, and Assabet with Neponset's SDRAM at 3328M phys. Signed-off-by: Russell King commit 07f841b7c587a3cbf481509be09ba5eda05f8d31 Author: Russell King Date: Wed Oct 1 17:11:06 2008 +0100 [ARM] mm: enable sparsemem on clps7500 and RiscPC Signed-off-by: Russell King commit b7a69ac303cbfc8d6fa8e91d10e8049244ba6847 Author: Russell King Date: Wed Oct 1 16:58:32 2008 +0100 [ARM] mm: finish ARM sparsemem support ... including some comments about the ordering required to bring sparsemem up. You have to repeatedly guess, test, reguess, try again and again to work out what the right ordering is. Many hours later... Signed-off-by: Russell King commit d2a38ef9c1585b47462c7be5501228ac57fbd3b1 Author: Russell King Date: Wed Oct 1 16:56:15 2008 +0100 [ARM] mm: provide helpers for accessing membanks Provide helpers for getting physical addresses or pfns from the meminfo array, and use them. Move for_each_nodebank() to asm/setup.h alongside the meminfo structure definition. Signed-off-by: Russell King commit 8ec53663d2698076468b3e1edc4e1b418bd54de3 Author: Russell King Date: Sun Sep 7 17:16:54 2008 +0100 [ARM] Improve non-executable support Add support for detecting non-executable stack binaries, and adjust permissions to prevent execution from data and stack areas. Also, ensure that READ_IMPLIES_EXEC is enabled for older CPUs where that is true, and for any executable-stack binary. Signed-off-by: Russell King commit 5ec9407dd1196daaf12b427b351e2cd62d2a16a7 Author: Russell King Date: Sun Sep 7 19:15:31 2008 +0100 [ARM] Don't include asm/elf.h in asm code asm code really wants asm/hwcap.h, so include that instead. Signed-off-by: Russell King commit 9b727abdff93b0039fba94e96216fc280af4cf01 Author: Russell King Date: Sun Sep 7 12:45:01 2008 +0100 [ARM] Remove MT_NONSHARED_DEVICE alias Use MT_DEVICE_NONSHARED instead. Signed-off-by: Russell King commit db5b7169474882fabbd811a4cf5c1bae3157e677 Author: Russell King Date: Sun Sep 7 12:42:51 2008 +0100 [ARM] Remove MT_DEVICE_IXP2000 and associated definitions As of the previous commit, MT_DEVICE_IXP2000 encodes to the same PTE bit encoding as MT_DEVICE, so it's now redundant. Convert MT_DEVICE_IXP2000 to use MT_DEVICE instead, and remove its aliases. Signed-off-by: Russell King commit 40df2d1d8538865341a4cb9d4b7a375296517ad2 Author: Russell King Date: Sun Sep 7 12:36:46 2008 +0100 [ARM] Update Xscale and Xscale3 PTE mappings Use 'shared device' mappings for devices, and use the standard bit combinations for Xscale3. Signed-off-by: Russell King commit 40d192b63d079db1f76cec9ae8ccbf461fda23e4 Author: Russell King Date: Sat Sep 6 21:15:56 2008 +0100 [ARM] remove 'prot_pte_ext' from memory type table This member is now redundant; the memory type is encoded in the Linux PTE bits. Signed-off-by: Russell King commit 3f69c0c1af288d6b124d0a928a33b51061ebf850 Author: Russell King Date: Mon Sep 15 17:23:10 2008 +0100 [ARM] Convert ARMv7 to use TEX remapping Signed-off-by: Russell King commit 639b0ae7f5bcd645862a9c3ea2d4321475c71d7a Author: Russell King Date: Sat Sep 6 21:07:45 2008 +0100 [ARM] Convert ARMv6 and ARMv7 to use new memory types Signed-off-by: Russell King commit 9e8b5199a753a2583a8ef8360e6428304a242283 Author: Russell King Date: Sat Sep 6 20:47:54 2008 +0100 [ARM] Convert Xscale and Xscale3 to use new memory types Signed-off-by: Russell King commit bb30f36f9b71c31dc8fe3483bba4c9884fc86080 Author: Russell King Date: Sat Sep 6 20:04:59 2008 +0100 [ARM] Introduce new PTE memory type bits Provide L_PTE_MT_xxx definitions to describe the memory types that we use in Linux/ARM. These definitions are carefully picked such that: 1. their LSBs match what is required for pre-ARMv6 CPUs. 2. they all have a unique encoding, including after modification by build_mem_type_table() (the result being that some have more than one combination.) Signed-off-by: Russell King commit 9cff96e5bfc8e366166bfb07610604c7604ac48c Author: Russell King Date: Sat Sep 6 18:53:37 2008 +0100 [ARM] Re-jig Linux PTE bits to allow room for 4 memory type bits Signed-off-by: Russell King commit da0916539d20f257dfa46784357300e49d6bfd00 Author: Russell King Date: Sat Sep 6 17:19:08 2008 +0100 [ARM] Convert set_pte_ext implementions to macros There are actually only four separate implementations of set_pte_ext. Use assembler macros to insert code for these into the proc-*.S files. Signed-off-by: Russell King commit e69c4e0f1210450841e40716894ba6a877b31d52 Author: Vlad Yasevich Date: Mon Sep 15 16:29:49 2008 -0400 sctp: correctly save sctp_adaptation from parameter. The INIT perameter carries the adapatation value in network-byte order. We need to store it in host byte order as expected by data types and the user API. Signed-off-by: Vlad Yasevich commit 96cd0d3d710e64c55e034b77052d7ac46f094759 Author: Vlad Yasevich Date: Mon Sep 8 14:00:26 2008 -0400 sctp: enable cookie-echo retransmission transport switch This patch enables cookie-echo retransmission transport switch feature. If COOKIE-ECHO retransmission happens, it will be sent to the address other than the one last sent to. Signed-off-by: Gui Jianfeng Signed-off-by: Vlad Yasevich commit 8190f89dfd09dae0c117fb0745f5a820bd19a5a4 Author: Wei Yongjun Date: Mon Sep 8 12:13:55 2008 +0800 sctp: Fix the SNMP counter of SCTP_MIB_OUTOFBLUES RFC3873 defined SCTP_MIB_OUTOFBLUES: sctpOutOfBlues OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of out of the blue packets received by the host. An out of the blue packet is an SCTP packet correctly formed, including the proper checksum, but for which the receiver was unable to identify an appropriate association." REFERENCE "Section 8.4 in RFC2960 deals with the Out-Of-The-Blue (OOTB) packet definition and procedures." But OOTB packet INIT, INIT-ACK and SHUTDOWN-ACK(COOKIE-WAIT or COOKIE-ECHOED state) are not counted by SCTP_MIB_OUTOFBLUES. Case 1(INIT): Endpoint A Endpoint B (CLOSED) (CLOSED) INIT ----------> <---------- ABORT Case 2(INIT-ACK): Endpoint A Endpoint B (CLOSED) (CLOSED) INIT-ACK ----------> <---------- ABORT Case 3(SHUTDOWN-ACK): Endpoint A Endpoint B (CLOSED) (CLOSED) <---------- INIT SHUTDOWN-ACK ----------> <---------- SHUTDOWN-COMPLETE Case 4(SHUTDOWN-ACK): Endpoint A Endpoint B (CLOSED) (COOKIE-ECHOED) SHUTDOWN-ACK ----------> <---------- SHUTDOWN-COMPLETE This patch fixed the problem. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 536428a9b9a98495f7ea54ad95cad83e22f1d47d Author: Wei Yongjun Date: Fri Sep 5 08:55:26 2008 +0800 sctp: Fix to start T5-shutdown-guard timer while enter SHUTDOWN-SENT state RFC 4960: Section 9.2 The sender of the SHUTDOWN MAY also start an overall guard timer 'T5-shutdown-guard' to bound the overall time for the shutdown sequence. At the expiration of this timer, the sender SHOULD abort the association by sending an ABORT chunk. If the 'T5-shutdown- guard' timer is used, it SHOULD be set to the recommended value of 5 times 'RTO.Max'. The timer 'T5-shutdown-guard' is used to counter the overall time for shutdown sequence, and it's start by the sender of the SHUTDOWN. So timer 'T5-shutdown-guard' should be start when we send the first SHUTDOWN chunk and enter the SHUTDOWN-SENT state, not start when we receipt of the SHUTDOWN primitive and enter SHUTDOWN-PENDING state. If 'T5-shutdown-guard' timer is start at SHUTDOWN-PENDING state, the association may be ABORT while data is still transmitting. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 52cae8f06babf9eed327479c1aa024ce3732f912 Author: Vlad Yasevich Date: Mon Aug 18 10:34:34 2008 -0400 sctp: try harder to figure out address family when checking wildcards sctp_is_any() function that is used to check for wildcard addresses only looks at the address itself to determine the address family. This function is used in the API to check the address passed in from the user. If the user simply zerroes out the sockaddr_storage and pass that in, we'll end up failing. So, let's try harder to determine the address family by also checking the socket if it's possible. Signed-off-by: Vlad Yasevich commit c226ef9b83694311327f3ab0036c6de9c22e9daf Author: Neil Horman Date: Fri Jul 25 12:44:09 2008 -0400 sctp: reduce memory footprint of sctp_chunk structure sctp_chunks should be put on a diet. This is some of the low hanging fruit that we can strip out. Changes all the __s8/__u8 flags to bitfields. Saves 12 bytes per chunk. Signed-off-by: Neil Horman Signed-off-by: Vlad Yasevich commit 845b8eda4d783a7ce2670d482a716840a650389e Author: Vlad Yasevich Date: Mon Jun 23 15:26:20 2008 -0400 sctp: Retransmit list is ineligable for missing indications Chunks placed on the retransmit list are marked as inelegible for fast retrasnmission. Since missing indications determine when fast reransmission is done, there is not point in calling sctp_mark_missing() on the retransmit list since those chunks will not be marked. Signed-off-by: Vlad Yasevich commit ab5216a5bd453752f04bb79c29e8f01b11d69006 Author: Vlad Yasevich Date: Thu Jun 19 18:17:24 2008 -0400 sctp: Optimize SFR-CACC transport list walking during SACK processing There is a possibility of walking the transport list twice during SACK processing when doing SFR-CACC algorithm. We can restructure the code to only do this once. Signed-off-by: Vlad Yasevich commit 2cd9b822bfa79fc1335d3e71a0449f3cd0b5078e Author: Vlad Yasevich Date: Thu Jun 19 17:59:13 2008 -0400 sctp: Only mark chunks as missing when there are gaps Frist small step in optimizing SACK processing. Do not call sctp_mark_missing() when there are no gaps reported and thus not missing chunks. Signed-off-by: Vlad Yasevich commit bcd41303f422015ab662c9276d108414aa75b796 Author: KOVACS Krisztian Date: Wed Oct 1 07:48:10 2008 -0700 udp: Export UDP socket lookup function The iptables tproxy code has to be able to do UDP socket hash lookups, so we have to provide an exported lookup function for this purpose. Signed-off-by: KOVACS Krisztian Signed-off-by: David S. Miller commit a3116ac5c216fc3c145906a46df9ce542ff7dcf2 Author: KOVACS Krisztian Date: Wed Oct 1 07:46:49 2008 -0700 tcp: Port redirection support for TCP Current TCP code relies on the local port of the listening socket being the same as the destination address of the incoming connection. Port redirection used by many transparent proxying techniques obviously breaks this, so we have to store the original destination port address. This patch extends struct inet_request_sock and stores the incoming destination port value there. It also modifies the handshake code to use that value as the source port when sending reply packets. Signed-off-by: KOVACS Krisztian Signed-off-by: David S. Miller commit 86b08d867d7de001ab224180ed7865fab93fd56e Author: KOVACS Krisztian Date: Wed Oct 1 07:44:42 2008 -0700 ipv4: Make Netfilter's ip_route_me_harder() non-local address compatible Netfilter's ip_route_me_harder() tries to re-route packets either generated or re-routed by Netfilter. This patch changes ip_route_me_harder() to handle packets from non-locally-bound sockets with IP_TRANSPARENT set as local and to set the appropriate flowi flags when re-doing the routing lookup. Signed-off-by: KOVACS Krisztian Signed-off-by: David S. Miller commit 88ef4a5a78e63420dd1dd770f1bd1dc198926b04 Author: KOVACS Krisztian Date: Wed Oct 1 07:41:00 2008 -0700 tcp: Handle TCP SYN+ACK/ACK/RST transparency The TCP stack sends out SYN+ACK/ACK/RST reply packets in response to incoming packets. The non-local source address check on output bites us again, as replies for transparently redirected traffic won't have a chance to leave the node. This patch selectively sets the FLOWI_FLAG_ANYSRC flag when doing the route lookup for those replies. Transparent replies are enabled if the listening socket has the transparent socket flag set. Signed-off-by: KOVACS Krisztian Signed-off-by: David S. Miller commit 79876874ce20d37ecdc7f481ebf142466999152f Author: KOVACS Krisztian Date: Wed Oct 1 07:35:39 2008 -0700 ipv4: Conditionally enable transparent flow flag when connecting Set FLOWI_FLAG_ANYSRC in flowi->flags if the socket has the transparent socket option set. This way we selectively enable certain connections with non-local source addresses to be routed. Signed-off-by: KOVACS Krisztian Signed-off-by: David S. Miller commit 1668e010cbe1a7567c81d4c02d31dde9859e9da1 Author: KOVACS Krisztian Date: Wed Oct 1 07:33:10 2008 -0700 ipv4: Make inet_sock.h independent of route.h inet_iif() in inet_sock.h requires route.h. Since users of inet_iif() usually require other route.h functionality anyway this patch moves inet_iif() to route.h. Signed-off-by: KOVACS Krisztian Signed-off-by: David S. Miller commit b9fb15067ce93497bef852c05e406d7a96212a9a Author: Tóth László Attila Date: Wed Oct 1 07:31:24 2008 -0700 ipv4: Allow binding to non-local addresses if IP_TRANSPARENT is set Setting IP_TRANSPARENT is not really useful without allowing non-local binds for the socket. To make user-space code simpler we allow these binds even if IP_TRANSPARENT is set but IP_FREEBIND is not. Signed-off-by: Tóth László Attila Signed-off-by: David S. Miller commit f5715aea4564f233767ea1d944b2637a5fd7cd2e Author: KOVACS Krisztian Date: Wed Oct 1 07:30:02 2008 -0700 ipv4: Implement IP_TRANSPARENT socket option This patch introduces the IP_TRANSPARENT socket option: enabling that will make the IPv4 routing omit the non-local source address check on output. Setting IP_TRANSPARENT requires NET_ADMIN capability. Signed-off-by: KOVACS Krisztian Signed-off-by: David S. Miller commit a210d01ae3ee006b59e54e772a7f212486e0f021 Author: Julian Anastasov Date: Wed Oct 1 07:28:28 2008 -0700 ipv4: Loosen source address check on IPv4 output ip_route_output() contains a check to make sure that no flows with non-local source IP addresses are routed. This obviously makes using such addresses impossible. This patch introduces a flowi flag which makes omitting this check possible. The new flag provides a way of handling transparent and non-transparent connections differently. Signed-off-by: Julian Anastasov Signed-off-by: KOVACS Krisztian Signed-off-by: David S. Miller commit 4edd87ad5cad8e159e0db3ce3131b3d97219c9cd Author: Herbert Xu Date: Wed Oct 1 07:09:38 2008 -0700 net: BUG instead of corrupting memory in pskb_expand_head If the caller of pskb_expand_head specifies a negative nhead we'll silently overwrite other people's memory. This patch makes it BUG instead. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 12a169e7d8f4b1c95252d8b04ed0f1033ed7cfe2 Author: Herbert Xu Date: Wed Oct 1 07:03:24 2008 -0700 ipsec: Put dumpers on the dump list Herbert Xu came up with the idea and the original patch to make xfrm_state dump list contain also dumpers: As it is we go to extraordinary lengths to ensure that states don't go away while dumpers go to sleep. It's much easier if we just put the dumpers themselves on the list since they can't go away while they're going. I've also changed the order of addition on new states to prevent a never-ending dump. Timo Teräs improved the patch to apply cleanly to latest tree, modified iteration code to be more readable by using a common struct for entries in the list, implemented the same idea for xfrm_policy dumping and moved the af_key specific "last" entry caching to af_key. Signed-off-by: Herbert Xu Signed-off-by: Timo Teras Signed-off-by: David S. Miller commit d2b194ed820880eb19c43b9c10d9f5f30026ee54 Author: Kumar Gala Date: Wed Jun 4 02:59:29 2008 -0500 powerpc/math-emu: Use kernel generic math-emu code The math emulation code is centered around a set of generic macros that provide the core of the emulation that are shared by the various architectures and other projects (like glibc). Each arch implements its own sfp-machine.h to specific various arch specific details. For historic reasons that are now lost the powerpc math-emu code had its own version of the common headers. This moves us to using the kernel generic version and thus getting fixes when those are updated. Also cleaned up exception/error reporting from the FP emulation functions. Signed-off-by: Kumar Gala commit b262e60309e1b0eb25d300c7e739427d5316abb1 Merge: 93c8b90... 0523820... Author: David S. Miller Date: Wed Oct 1 06:12:56 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/ath9k/core.c drivers/net/wireless/ath9k/main.c net/core/dev.c commit 93c8b90f01f0dc73891da4e84b26524b61d29d66 Author: Ilpo Järvinen Date: Wed Oct 1 02:48:31 2008 -0700 ipv6: almost identical frag hashing funcs combined $ diff-funcs ip6qhashfn reassembly.c netfilter/nf_conntrack_reasm.c --- reassembly.c:ip6qhashfn() +++ netfilter/nf_conntrack_reasm.c:ip6qhashfn() @@ -1,5 +1,5 @@ -static unsigned int ip6qhashfn(__be32 id, struct in6_addr *saddr, - struct in6_addr *daddr) +static unsigned int ip6qhashfn(__be32 id, const struct in6_addr *saddr, + const struct in6_addr *daddr) { u32 a, b, c; @@ -9,7 +9,7 @@ a += JHASH_GOLDEN_RATIO; b += JHASH_GOLDEN_RATIO; - c += ip6_frags.rnd; + c += nf_frags.rnd; __jhash_mix(a, b, c); a += (__force u32)saddr->s6_addr32[3]; And codiff xx.o.old xx.o.new: net/ipv6/netfilter/nf_conntrack_reasm.c: ip6qhashfn | -512 nf_hashfn | +6 nf_ct_frag6_gather | +36 3 functions changed, 42 bytes added, 512 bytes removed, diff: -470 net/ipv6/reassembly.c: ip6qhashfn | -512 ip6_hashfn | +7 ipv6_frag_rcv | +89 3 functions changed, 96 bytes added, 512 bytes removed, diff: -416 net/ipv6/reassembly.c: inet6_hash_frag | +510 1 function changed, 510 bytes added, diff: +510 Total: -376 Compile tested. Signed-off-by: Ilpo Järvinen Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 2bcb4b0f111053d0e8fb4366f0708395d997e93a Author: Lennert Buytenhek Date: Wed Oct 1 02:33:57 2008 -0700 mv643xx_eth: hook up skb recycling This gives a nice increase in the maximum loss-free packet forwarding rate in routing workloads. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit 04a4bb55bcf35b63d40fd2725e58599ff8310dd7 Author: Lennert Buytenhek Date: Wed Oct 1 02:33:12 2008 -0700 net: add skb_recycle_check() to enable netdriver skb recycling This patch adds skb_recycle_check(), which can be used by a network driver after transmitting an skb to check whether this skb can be recycled as a receive buffer. skb_recycle_check() checks that the skb is not shared or cloned, and that it is linear and its head portion large enough (as determined by the driver) to be recycled as a receive buffer. If these conditions are met, it does any necessary reference count dropping and cleans up the skbuff as if it just came from __alloc_skb(). Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit 788df7322a7543a337c1ea400d38b621346ea78e Merge: 6e50e8a... 0d5f031... Author: David S. Miller Date: Wed Oct 1 01:55:41 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 6e50e8a2136f1a90de251c653226ded447c5c915 Author: Remi Denis-Courmont Date: Wed Oct 1 01:30:19 2008 -0700 phonet: Protect if_phonet.h against multiple inclusions. From: Remi Denis-Courmont Signed-off-by: David S. Miller commit 24268245d8ba9270152b2281666099ddc8ca389d Author: Ingo Molnar Date: Wed Oct 1 08:59:40 2008 +0200 x86: add PCI IDs for AMD Barcelona PCI devices Signed-off-by: Robert Richter Cc: oprofile-list Cc: Barry Kasindorf Signed-off-by: Ingo Molnar commit 2ffb3501f6f356ff80e7149214bc64d3fa9021c4 Author: Yinghai Lu Date: Tue Sep 30 16:29:40 2008 -0700 x86: change MTRR_SANITIZER to def_bool y This option has been added in v2.6.26 as a default-disabled feature and went through several revisions since then. The feature fixes a wide range of MTRR setup problems that BIOSes leave us with: slow system, slow Xorg, slow system when adding lots of RAM, etc., so we want to enable it by default for v2.6.28. See: [Bug 10508] Upgrade to 4GB of RAM messes up MTRRs http://bugzilla.kernel.org/show_bug.cgi?id=10508 and the test results in: http://lkml.org/lkml/2008/9/29/273 1. hpa reg00: base=0xc0000000 (3072MB), size=1024MB: uncachable, count=1 reg01: base=0x13c000000 (5056MB), size= 64MB: uncachable, count=1 reg02: base=0x00000000 ( 0MB), size=4096MB: write-back, count=1 reg03: base=0x100000000 (4096MB), size=1024MB: write-back, count=1 reg04: base=0xbf700000 (3063MB), size= 1MB: uncachable, count=1 reg05: base=0xbf800000 (3064MB), size= 8MB: uncachable, count=1 will get Found optimal setting for mtrr clean up gran_size: 1M chunk_size: 128M num_reg: 6 lose RAM: 0M range0: 0000000000000000 - 00000000c0000000 Setting variable MTRR 0, base: 0MB, range: 2048MB, type WB Setting variable MTRR 1, base: 2048MB, range: 1024MB, type WB hole: 00000000bf700000 - 00000000c0000000 Setting variable MTRR 2, base: 3063MB, range: 1MB, type UC Setting variable MTRR 3, base: 3064MB, range: 8MB, type UC range0: 0000000100000000 - 0000000140000000 Setting variable MTRR 4, base: 4096MB, range: 1024MB, type WB hole: 000000013c000000 - 0000000140000000 Setting variable MTRR 5, base: 5056MB, range: 64MB, type UC 2. Dylan Taft reg00: base=0x00000000 ( 0MB), size=4096MB: write-back, count=1 reg01: base=0x100000000 (4096MB), size= 512MB: write-back, count=1 reg02: base=0x120000000 (4608MB), size= 256MB: write-back, count=1 reg03: base=0xd0000000 (3328MB), size= 256MB: uncachable, count=1 reg04: base=0xe0000000 (3584MB), size= 512MB: uncachable, count=1 reg05: base=0xc7e00000 (3198MB), size= 2MB: uncachable, count=1 reg06: base=0xc8000000 (3200MB), size= 128MB: uncachable, count=1 will get Found optimal setting for mtrr clean up gran_size: 1M chunk_size: 4M num_reg: 6 lose RAM: 0M range0: 0000000000000000 - 00000000c8000000 Setting variable MTRR 0, base: 0MB, range: 2048MB, type WB Setting variable MTRR 1, base: 2048MB, range: 1024MB, type WB Setting variable MTRR 2, base: 3072MB, range: 128MB, type WB hole: 00000000c7e00000 - 00000000c8000000 Setting variable MTRR 3, base: 3198MB, range: 2MB, type UC rangeX: 0000000100000000 - 0000000130000000 Setting variable MTRR 4, base: 4096MB, range: 512MB, type WB Setting variable MTRR 5, base: 4608MB, range: 256MB, type WB 3. Gabriel reg00: base=0xd0000000 (3328MB), size= 256MB: uncachable, count=1 reg01: base=0xe0000000 (3584MB), size= 512MB: uncachable, count=1 reg02: base=0x00000000 ( 0MB), size=4096MB: write-back, count=1 reg03: base=0x100000000 (4096MB), size= 512MB: write-back, count=1 reg04: base=0x120000000 (4608MB), size= 128MB: write-back, count=1 reg05: base=0x128000000 (4736MB), size= 64MB: write-back, count=1 reg06: base=0xcf600000 (3318MB), size= 2MB: uncachable, count=1 will get Found optimal setting for mtrr clean up gran_size: 1M chunk_size: 16M num_reg: 7 lose RAM: 0M range0: 0000000000000000 - 00000000d0000000 Setting variable MTRR 0, base: 0MB, range: 2048MB, type WB Setting variable MTRR 1, base: 2048MB, range: 1024MB, type WB Setting variable MTRR 2, base: 3072MB, range: 256MB, type WB hole: 00000000cf600000 - 00000000cf800000 Setting variable MTRR 3, base: 3318MB, range: 2MB, type UC rangeX: 0000000100000000 - 000000012c000000 Setting variable MTRR 4, base: 4096MB, range: 512MB, type WB Setting variable MTRR 5, base: 4608MB, range: 128MB, type WB Setting variable MTRR 6, base: 4736MB, range: 64MB, type WB 4. Mika Fischer reg00: base=0xc0000000 (3072MB), size=1024MB: uncachable, count=1 reg01: base=0x00000000 ( 0MB), size=4096MB: write-back, count=1 reg02: base=0x100000000 (4096MB), size=1024MB: write-back, count=1 reg03: base=0xbf700000 (3063MB), size= 1MB: uncachable, count=1 reg04: base=0xbf800000 (3064MB), size= 8MB: uncachable, count=1 will get Found optimal setting for mtrr clean up gran_size: 1M chunk_size: 16M num_reg: 5 lose RAM: 0M range0: 0000000000000000 - 00000000c0000000 Setting variable MTRR 0, base: 0MB, range: 2048MB, type WB Setting variable MTRR 1, base: 2048MB, range: 1024MB, type WB hole: 00000000bf700000 - 00000000c0000000 Setting variable MTRR 2, base: 3063MB, range: 1MB, type UC Setting variable MTRR 3, base: 3064MB, range: 8MB, type UC rangeX: 0000000100000000 - 0000000140000000 Setting variable MTRR 4, base: 4096MB, range: 1024MB, type WB Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 7b9cee16ffb495558c1e3ada55cba906e520006e Author: Hiroshi Shimamoto Date: Tue Sep 30 20:30:51 2008 -0700 x86: ia32_signal.c remove unnecessary function calls the below 2 functions are called in save_i387_xstate_ia32() - clear_used_math(); - stts(); Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit bff0aa4b8f8a1c8492e99c522d044bb98a6ec098 Author: Hiroshi Shimamoto Date: Tue Sep 30 20:28:20 2008 -0700 x86: ia32_signal.c: remove unnecessary cast to u32 __put_user() looks type of the 2nd parameter, so casting the 1st parameter is not necessary. text data bss dec hex filename 6227 0 8 6235 185b ia32_signal.o.new 6227 0 8 6235 185b ia32_signal.o.old Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 1bb28499979d926806139bbdef6969fc37621118 Author: Faisal Latif Date: Fri Sep 26 15:08:10 2008 -0500 RDMA/nes: Handle AE bounds violation Handle async error NES_AEQE_AEID_AMP_BOUNDS_VIOLATION. Signed-off-by: Faisal Latif Signed-off-by: Sweta Bhatt Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit 9d156947c734747065178331e0c95745cf3a55e1 Author: Chien Tung Date: Fri Sep 26 15:08:10 2008 -0500 RDMA/nes: Limit critical error interrupts Mask off a critical error after 100 critical error interrupts to keep the system "sane". Signed-off-by: Sweta Bhatt Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit 068e80de6af2b920d2644bba3a2c060431834160 Author: Chien Tung Date: Fri Sep 26 15:08:10 2008 -0500 RDMA/nes: Stop spurious MAC interrupts Mask off MAC interrupts on netdev_stop to prevent spurious MAC interrupts on unload/reload of iw_nes. Signed-off-by: Sweta Bhatt Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit 168ac8244df5af1a9ab03bf39e4a9d3161dd9f11 Author: Chien Tung Date: Fri Sep 26 15:08:10 2008 -0500 RDMA/nes: Correct tso_wqe_length Signed-off-by: Sweta Bhatt Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit 0c93ae355ed7301249d932e509f8546977d53376 Author: Chien Tung Date: Fri Sep 26 15:08:10 2008 -0500 RDMA/nes: Fill in firmware version for ethtool Fill in firmware version for ethtool_drvinfo. Signed-off-by: Sweta Bhatt Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit 27ffed603f555ce0a644de6e550d3462ff51d64f Author: John Lacombe Date: Fri Sep 26 15:08:10 2008 -0500 RDMA/nes: Use ethtool timer value Use timer value set via ethtool intead of #defines. Signed-off-by: John Lacombe Signed-off-by: Sweta Bhatt Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit a06fd26d48eb3304db246f3f4a0aa5a50afb10ec Author: Bob Sharp Date: Fri Sep 26 15:08:10 2008 -0500 RDMA/nes: Correct MAX TSO frags value Use correct define for max TSO fragments. Signed-off-by: Bob Sharp Signed-off-by: Sweta Bhatt Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit e0e31afbf9a9bb6ca934d3c64ef321cb5f873efe Author: Bob Sharp Date: Fri Sep 26 15:08:10 2008 -0500 RDMA/nes: Enable MC/UC after changing MTU Re-enable multicast and unicast after changing MTU. Signed-off-by: Bob Sharp Signed-off-by: Sweta Bhatt Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit 7a8d14070b3e2d52d2b531434ed09fa1787ae7ca Author: Bob Sharp Date: Fri Sep 26 15:08:10 2008 -0500 RDMA/nes: Free NIC TX buffers when destroying NIC QP Signed-off-by: Bob Sharp Signed-off-by: Sweta Bhatt Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit e88bd7b624133e0b07adb21c45c9e6f68f8fdda2 Author: Chien Tung Date: Fri Sep 26 15:08:10 2008 -0500 RDMA/nes: Fix MDC setting Clear MDC bits before setting them to a new value. Adjust MDC value for 10G. Signed-off-by: Sweta Bhatt Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit 2b537c2824194d50072ab260f54d6fe4cb8d17e8 Author: Chien Tung Date: Fri Sep 26 15:08:10 2008 -0500 RDMA/nes: Add wqm_quanta module option Add a module parameter wqm_quanta. It controls the number of segments transmitted at a time. Signed-off-by: Sweta Bhatt Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit de182149c31786b2b07fa408fb076599b29232a1 Author: Chien Tung Date: Fri Sep 26 15:08:10 2008 -0500 RDMA/nes: Module parameter permissions Change permission to 0644 so root can set mpa_version, disable_mpa_crc, send_first, and nes_drv_opt at runtime. Signed-off-by: Sweta Bhatt Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit c752c78275fbf3fcb1d6d0af9b03ac999fe1963d Author: Jon Mason Date: Tue Sep 30 14:51:19 2008 -0700 RDMA/cxgb3: Set active_mtu in ib_port_attr When running ibv_devinfo, the active_mtu returned is garbage. This is due to the field not being populated in the query_port function in the driver. The patch below populates the active_mtu field with a MTU of 2k. It also zeros the struct, so that any new additions to it will return 0. Signed-off-by: Jon Mason Acked-by: Steve Wise Signed-off-by: Roland Dreier commit fcb7ad31beda842804167f0645ca54660713bcd6 Author: Chien Tung Date: Tue Sep 30 14:49:44 2008 -0700 RDMA/nes: Add support for 4-port 1G HP blade card Add support for NetEffect 4 port 1G HP blade card. The mapping between physical port and MAC is different from the standup card. Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit 54c86a8c838301e8a619e454b686288578002300 Author: Faisal Latif Date: Tue Sep 30 14:47:27 2008 -0700 RDMA/nes: Make mini_cm_connect() static Signed-off-by: Faisal Latif Signed-off-by: Roland Dreier commit 6c5da7aced798c7781f054a76c769b85f0173561 Author: Russell King Date: Tue Sep 30 19:31:44 2008 +0100 [ARM] mm: move vmalloc= parsing to arch/arm/mm/mmu.c There's no point scattering this around the tree, the parsing of the parameter might as well live beside the code which uses it. That also means we can make vmalloc_reserve a static variable. Signed-off-by: Russell King commit eca73214c9c50e290b8dc823b41730b01788872d Author: Russell King Date: Tue Sep 30 19:29:25 2008 +0100 [ARM] mm: move validation of membanks to one place The newly introduced sanity_check_meminfo() function should be used to collect all validation of the meminfo array, which we have in bootmem_init(). Move it there. Signed-off-by: Russell King commit 0d5f0316593df606515b17b037a1fd36c4b8bfdf Author: Nick Kossifidis Date: Mon Sep 29 01:27:27 2008 +0300 ath5k: Add support for AR2417 v2 * Add support for AR2417 (include pci id) since my previous patch doesn't sit on top of base.c/ath5k.h anymore. * Update module version to 0.6.0 Changes-Licensed-under: ISC Signed-Off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 75d0edb82269a1bcf83d32b1d77ab94a5e3ed8af Author: Nick Kossifidis Date: Mon Sep 29 01:24:44 2008 +0300 ath5k: Fix SREV reporting after SREV updates * Fix srev reporting during attach Changes-Licensed-under: ISC Signed-Off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 509a106e68aa42acc1a0c44ab365d0de6869bd9e Author: Nick Kossifidis Date: Mon Sep 29 01:23:07 2008 +0300 ath5k: Use QUIET mechanism on tx dma stop * Use QUIET mechanism to drain tx buffer on PCU for newer chips * Make sure that INTPEND is really 1 and not 0xffffffff while checking for pending interrupts Changes-Licensed-under: ISC Signed-Off-by: Nick Kossifidis Signed-off-by: John W. Linville commit ee81c5544bbf49ea5b301784a605d865947ac1b0 Author: Nick Kossifidis Date: Mon Sep 29 01:18:16 2008 +0300 ath5k: Use new srevs to properly attach radio chips * Use new SREV values and PHY srevs to identify radio type durring attach Changes-Licensed-under: ISC Signed-Off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 1d280ddcfd6666a45915ccc3a76dee033a6b917b Author: Larry Finger Date: Mon Sep 29 14:19:29 2008 -0500 b43: Increase loop tries in do_dummy_tx One of the spin-on-condition loops in routine do_dummy_tx always exits before the condition is satisfied. The hardware might be left in an inconsistent state that might be the cause of the PHY transmission errors seen by some users. Signed-off-by: Larry Finger Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 1bef016a5a2c52de45b332c8fa797958becde9bf Author: Nick Kossifidis Date: Mon Sep 29 02:09:09 2008 +0300 ath5k: Update registers and SREV ids v2 * Update registers * Update SREV values and add some PHY srevs * Prepare ath5k.h for newer radios etc Thanks to Atheros 's HAL source we now know for sure how many parts we have and what their SREV values are. We also have some updates on registers. Prepare ath5k for some major updates ;-) My previous mail had 2 more patches following (git log misusage), sorry for double posting ;-( Changes-Licensed-under: ISC Signed-Off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 14be9947ef9843102b67d315c7483de112b5b2d7 Author: Bob Copeland Date: Sun Sep 28 12:09:43 2008 -0400 ath5k: write beacon control register twice when resetting tsf According to the newly-released Atheros HAL code, asserting the TSF reset bit will toggle a hardware internal state, resulting in a spurious reset on the next chip reset. Whenever we force a TSF bit, write the bit twice to clear the internal signal. Signed-off-by: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit b0dee5784dff3e2984510a7fe7a7e48109001f94 Author: Davide Pesavento Date: Sat Sep 27 17:29:12 2008 +0200 Fix modpost failure when rx handlers are not inlined. When CONFIG_MAC80211_MESH=n and CONFIG_MAC80211_NOINLINE=y, gcc doesn't optimize out a call to ieee80211_rx_h_mesh_fwding, even if the previous comparison is always false in this case. This leads to the following errors during modpost: ERROR: "mpp_path_lookup" [net/mac80211/mac80211.ko] undefined! ERROR: "mpp_path_add" [net/mac80211/mac80211.ko] undefined! Fix by removing the possibility of uninlining ieee80211_rx_h_mesh_fwding rx handler. Signed-off-by: Davide Pesavento Signed-off-by: John W. Linville commit 4c99f3e4cfc3190e01c55e72d15a837d9dc41426 Author: Gertjan van Wingerde Date: Sun Sep 28 15:11:38 2008 +0200 rt2x00: Fix build errors due to modularized rfkill or leds and built-in rt2x00. Fix by disabling rt2x00 rfkill support when rt2x00 is built-in and rfkill has been modularized, and a similar scheme for the relationship between leds_class and rt2x00.. Also, give a warning to the end-user when rfkill-/leds-support is disabled this way, so that the end-user has at least some clues on what is going on. Proper fixing required some general updates of the Kconfig-structure for the rt2x00 driver, whereby internal configuration symbols had to be moved to after the user-visible configuration symbols. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 55ad175fb65a4a3a7e4d1aa13c460de281b4e8ac Author: John W. Linville Date: Mon Sep 29 16:28:21 2008 -0400 ieee80211.h: remove superfluous ETH_P_PAE definition Signed-off-by: John W. Linville commit 3ed6e0803b4fe95107f6cb5a432587d03cd4d17a Author: Anna Neal Date: Fri Sep 26 11:34:35 2008 -0400 libertas: Improvements on automatic tx power control via SIOCSIWTXPOW (fixups) This patch addresses comments from Dan Williams about the patch committed as "libertas: Improvements on automatic tx power control via SIOCSIWTXPOW." Signed-off-by: Anna Neal Signed-off-by: Javier Cardona Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit d88410a0b657c5ccebd1c120af1f14c5ca6a3d95 Author: Rami Rosen Date: Thu Sep 25 20:45:01 2008 +0300 mac80211: remove wme_tx_queue and wme_rx_queue from net/mac80211/sta_info.h This patch removes wme_tx_queue and wme_rx_queue from struct sta_info and from the debugfs sub-structure of struct sta_info in net/mac80211/sta_info.h, as they are useless and not used. Signed-off-by: Rami Rosen Signed-off-by: John W. Linville commit 570bdfb17dfc92061f7e26f6320b309c1df00997 Author: Larry Finger Date: Fri Sep 26 08:23:00 2008 -0500 b43: Fix Bluetooth Coexistence SPROM programming error for HP 12f8 version of BCM4306 Yet another BCM4306 card with the Bluetooth Coexistence SPROM programming error has been found. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit b4a4bf5d77c7d32098a7080f34a8857dd7fa466d Author: Johannes Berg Date: Fri Sep 26 13:34:54 2008 +0200 mac80211: fixups for "make master iface not wireless" In "mac80211: make master iface not wireless" I accidentally forgot to include these changes ... leading to the expected BUG_ON errors. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 093d874c02e8d3091aa38596faf0ff2bfd4f0ceb Author: Winkler, Tomas Date: Fri Sep 26 15:09:34 2008 +0800 iwlwifi: use correct DMA_MASK Use correct DMA_MASK: 4964 and 5000 support 36 bit addresses for pci express memory access. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit e602cb180e97c46dfb01a4644781ec68ee0cda22 Author: Ester Kummer Date: Fri Sep 26 15:09:33 2008 +0800 iwlwifi: enable power save setting upon config This patch enables power save setting from config (iwconfig power) The sysfs power_level interface is still preserved as it has mac80211 power implementation is not yet rich enough. Signed-off-by: Ester Kummer Reviewed-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 8cd519e89616057c8a433a54a3e60883e4893017 Author: Winkler, Tomas Date: Fri Sep 26 15:09:32 2008 +0800 iwlwifi: refactor rx register initialization The patch adds HW bug W/A FH_RCSR_CHNL0_RX_IGNORE_RXF_EMPTY so that we can enable again interrupt coalescing. It also uses named constants for open code. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 1f1c0e33a0ab1379272da68fe58abf586c8e96e5 Author: Larry Finger Date: Thu Sep 25 14:54:28 2008 -0500 p54: Fix sparse warnings The command make C=2 CF="-D__CHECK_ENDIAN__" drivers/net/wireless/p54/ generates the following warnings: .../p54common.c:152:38: warning: incorrect type in argument 1 (different base types) .../p54common.c:152:38: expected restricted __be32 const [usertype] *p .../p54common.c:152:38: got unsigned int * .../p54common.c:184:15: warning: restricted __le32 degrades to integer .../p54common.c:185:29: warning: cast to restricted __le16 .../p54common.c:309:11: warning: symbol 'p54_rf_chips' was not declared. Should it be static? .../p54common.c:313:5: warning: symbol 'p54_parse_eeprom' was not declared. Should it be static? .../p54common.c:620:43: warning: incorrect type in argument 3 (different base types) .../p54common.c:620:43: expected unsigned long [unsigned] [usertype] len .../p54common.c:620:43: got restricted __le16 [usertype] len .../p54common.c:780:41: warning: restricted __le16 degrades to integer .../p54common.c:781:32: warning: restricted __le16 degrades to integer .../p54common.c:1250:28: warning: incorrect type in argument 2 (different base types) .../p54common.c:1250:28: expected unsigned short [unsigned] [usertype] filter_type .../p54common.c:1250:28: got restricted __le16 [usertype] filter_type .../p54common.c:1252:28: warning: incorrect type in argument 2 (different base types) .../p54common.c:1252:28: expected unsigned short [unsigned] [usertype] filter_type .../p54common.c:1252:28: got restricted __le16 [usertype] filter_type .../p54common.c:1257:42: warning: incorrect type in argument 2 (different base types) .../p54common.c:1257:42: expected unsigned short [unsigned] [usertype] filter_type .../p54common.c:1257:42: got restricted __le16 .../p54common.c:1260:42: warning: incorrect type in argument 2 (different base types) .../p54common.c:1260:42: expected unsigned short [unsigned] [usertype] filter_type .../p54common.c:1260:42: got restricted __le16 .../p54usb.c:228:10: warning: restricted __le32 degrades to integer .../p54usb.c:228:23: warning: restricted __le32 degrades to integer .../p54usb.c:228:7: warning: incorrect type in assignment (different base types) .../p54usb.c:228:7: expected restricted __le32 [assigned] [usertype] chk .../p54usb.c:228:7: got unsigned int .../p54usb.c:221:8: warning: symbol 'p54u_lm87_chksum' was not declared. Should it be static? All of the above have been fixed. One question, however, remains: In struct bootrec, the array "data" is treated in many places as native CPU order, but it may be little-endian everywhere. As far as I can tell, this driver has only been used with little-endian hardware. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 3bb91bff8165223aa14f015a6c9150a536b40d9b Author: Larry Finger Date: Fri Sep 19 14:47:38 2008 -0500 b43: Fix Bluetooth coexistence SPROM coding error for Motorola 7010 variant of BCM4306 An additional BCM4306 has been found with the Bluetooth coexistence SPROM coding error. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 99c6bb390cf599b9e0aa6e69beacc4e5d875bf77 Author: Nicolas Pitre Date: Thu Sep 11 15:14:59 2008 -0400 [ARM] Feroceon: small cleanups to L2 cache code - Make sure that coprocessor instructions for range ops are contiguous and not reordered. - s/invalidate_and_disable_dcache/flush_and_disable_dcache/ - Don't re-enable I/D caches if they were not enabled initially. - Change some masks to shifts for better generated code. Signed-off-by: Nicolas Pitre Acked-by: Lennert Buytenhek commit a7e80ce26caa174b1caa5fdfbb3dbd740a87d33a Author: Hefty, Sean Date: Tue Sep 30 10:36:54 2008 -0700 IB/cm: Correctly free cm_device structure commit 110cf374 ("infiniband: make cm_device use a struct device and not a kobject.") introduced a memory leak, since it deleted cm_release_dev_obj(), which was where cm_dev was freed. Fix this by freeing the leaked structure after calling device_unregister(). Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 943c246e9ba9078a61b6bcc5b4a8131ce8befb64 Author: Roland Dreier Date: Tue Sep 30 10:36:21 2008 -0700 IPoIB: Use netif_tx_lock() and get rid of private tx_lock, LLTX Currently, IPoIB is an LLTX driver that uses its own IRQ-disabling tx_lock. Not only do we want to get rid of LLTX, this actually causes problems because of the skb_orphan() done with this tx_lock held: some skb destructors expect to be run with interrupts enabled. The simplest fix for this is to get rid of the driver-private tx_lock and stop using LLTX. We kill off priv->tx_lock and use netif_tx_lock[_bh]() instead; the patch to do this is a tiny bit tricky because we need to update places that take priv->lock inside the tx_lock to disable IRQs, rather than relying on tx_lock having already disabled IRQs. Also, there are a couple of places where we need to disable BHs to make sure we have a consistent context to call netif_tx_lock() (since we no longer can use _irqsave() variants), and we also have to change ipoib_send_comp_handler() to call drain_tx_cq() through a timer rather than directly, because ipoib_send_comp_handler() runs in interrupt context and drain_tx_cq() must run in BH context so it can call netif_tx_lock(). Signed-off-by: Roland Dreier commit da46c79a5418dd6ba006665c1535af0713bb77b9 Author: Nicolas Pitre Date: Tue Sep 30 16:10:11 2008 +0100 [ARM] 5272/1: remove conditional compilation in show_pte() The PTRS_PER_PMD != 1 condition can be evaluated with C code and optimized at compile time. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit dfcc64497cbbf942cdd5af4b7eb17542b62aa759 Author: Nicolas Pitre Date: Tue Sep 30 16:05:09 2008 +0100 [ARM] 5271/1: get rid of pages_to_mb() There is no use of this in the whole tree. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 64b9e0294d24a4204232e13e01630b0690e48d61 Author: Amit K. Arora Date: Tue Sep 30 17:15:39 2008 +0530 sched: minor optimizations in wake_affine and select_task_rq_fair This patch does following: o Removes unused variable and argument "rq". o Optimizes one of the "if" conditions in wake_affine() - i.e. if "balanced" is true, we need not do rest of the calculations in the condition. o If this cpu is same as the previous cpu (on which woken up task was running when it went to sleep), no need to call wake_affine at all. Signed-off-by: Amit K Arora Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit fbcc4bacee30cad4e4a13d05492a9ed0c9c3e8c7 Author: Josh Boyer Date: Thu Sep 4 04:08:20 2008 +0000 ibm_newemac: MAL support for PowerPC 405EZ The PowerPC 405EZ SoC has some differences in the interrupt layout and handling for the MAL. The SERR, TXDE, and RXDE interrupts are OR'd into a single interrupt. Also, due to the possibility for interrupt coalescing, the TXEOB and RXEOB interrupts require an interrupt bit to be cleared in the ICINTSTAT SDR. This sets the proper MAL feature bits for 405EZ boards, and adds a common shared handler for SERR, TXDE, and RXDE. The defines for the ICINTSTAT DCR are added to the proper header file as well. This has been adapted from code originally written by Stefan Roese. Signed-off-by: Josh Boyer Acked-by: Benjamin Herrenschmidt Acked-by: Jeff Garzik Signed-off-by: Josh Boyer commit ec4f9945b5b3e9e491a04eb1efe1c959371fa6de Author: Josh Boyer Date: Thu Sep 4 04:03:45 2008 +0000 ibm_newemac: Introduce mal_has_feature There are some PowerPC SoCs that do odd things with the MAL handling. In order to accommodate them, we need to introduce a feature mechanism that is similar to the existing emac_has_feature function. This adds a feature variable to the mal_instance structure, and adds a mal_has_feature function. Two features are defined and are guarded by Kconfig options that are selected by the affected platforms. MAL_FTR_CLEAR_ICINSTAT is used for platforms that need to clear the interrupt bits in the ICINTSTAT SDR for txeob/rxeob. This is common on MAL implementations that have interrupt coalescing. MAL_FTR_COMMON_ERR_INT is used for platforms that have SERR, TXDE, and RXDE OR'd into a single interrupt bit. Signed-off-by: Josh Boyer Acked-by: Benjamin Herrenschmidt Acked-by: Jeff Garzik Signed-off-by: Josh Boyer commit b68d185ab12b1fc8000432c5d5ab5404d4788b4c Author: Josh Boyer Date: Thu Sep 4 02:57:57 2008 +0000 ibm_newemac: Allow the "no flow control" EMAC feature to work Some PowerPC 40x chips have errata that force us not to use the integrated flow control. We have the feature defined, but it currently can't be used because it is never added to EMAC_FTRS_POSSIBLE. This adds a Kconfig option for affected platforms to select and puts the feature in the EMAC_FTRS_POSSIBLE list. This is set for PowerPC 405EZ platforms as well. Signed-off-by: Josh Boyer Acked-by: Benjamin Herrenschmidt Acked-by: Jeff Garzik Signed-off-by: Josh Boyer commit 76ebc6a429ec2becc2fa738c85ab9688ea4b9006 Author: Catalin Marinas Date: Mon Sep 29 11:06:09 2008 +0100 [ARM] 5269/1: ARMv7: Use -march=armv7-a as compiler flag The current -march=armv7a is not supported by mainline gcc. Cc: Paul Brook Cc: Wei Zhong Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 7807c6098a716567fe408775c1c1999467088305 Author: Russell King Date: Tue Sep 30 11:30:24 2008 +0100 [ARM] dma: fix some comments in dma-mapping.h ... to prevent people being mislead. Signed-off-by: Russell King commit 1c50b728c3e734150b8a4a8310ce3e01bc5c70be Author: Mathieu Desnoyers Date: Mon Sep 29 11:06:46 2008 -0400 rcu: add rcu_read_lock_sched() / rcu_read_unlock_sched() Add rcu_read_lock_sched() and rcu_read_unlock_sched() to rcupdate.h to match the recently added write-side call_rcu_sched() and rcu_barrier_sched(). They also match the no-so-recently-added synchronize_sched(). It will help following matching use of the update/read lock primitives. Those new read lock will replace preempt_disable()/enable() used in pair with RCU-classic synchronization. Signed-off-by: Mathieu Desnoyers Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 309dbbabee7b19e003e1ba4b98f43d28f390a84e Author: Russell King Date: Mon Sep 29 19:50:59 2008 +0100 [ARM] dma: don't touch cache on dma_*_for_cpu() As per the dma_unmap_* calls, we don't touch the cache when a DMA buffer transitions from device to CPU ownership. Presently, no problems have been identified with speculative cache prefetching which in itself is a new feature in later architectures. We may have to revisit the DMA API later for these architectures anyway. Signed-off-by: Russell King commit a57334e95e4fb132acca05bdc0efa2f9dda194af Author: Rémi Denis-Courmont Date: Tue Sep 30 02:53:18 2008 -0700 Phonet: declare headers Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit ac2dc8ca14fb9028b160d89fdef04ecc66add3a2 Author: Rémi Denis-Courmont Date: Tue Sep 30 02:52:01 2008 -0700 Phonet: improve documentation Fix grammar errors spotted by Randy Dunlap, and adds some more details. Signed-off-by: Remi Denis-Courmont Signed-off-by: David S. Miller commit 8980713b97393b21a50d11408a22d2caa87d016a Author: Rémi Denis-Courmont Date: Tue Sep 30 02:51:18 2008 -0700 Phonet: Netlink factorization and cleanup Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit f0db275a81ef184293ca7ef3646fe065b336efb7 Author: Stephen Hemminger Date: Tue Sep 30 02:23:58 2008 -0700 netdev: docbook comment update (revised) Add more docbook comments to network device functions and cleanup the comments. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit cf04a4c764cd3e651a64b3e667bb6a673ead99e1 Author: Stephen Hemminger Date: Tue Sep 30 02:22:14 2008 -0700 netdev: use const for some name functions dev_change_name and netdev_drivername should use const char on parameters that are read-only input values. The strcpy to newname is not needed since newname is not used later in function. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 9b1568458a3ef006361710dc12848aec891883b5 Author: Adam Jackson Date: Mon Sep 29 14:52:03 2008 -0400 x86, debug printouts: IOMMU setup failures should not be KERN_ERR The number of BIOSes that have an option to enable the IOMMU, or fix anything about its configuration, is vanishingly small. There's no good reason to punish quiet boot for this. Signed-off-by: Adam Jackson Signed-off-by: Ingo Molnar commit 08115ab4d98cb577a83971ebd57cdfbcc6f50b68 Author: Chuck Ebbert Date: Mon Sep 29 18:24:23 2008 -0400 xen: make CONFIG_XEN_SAVE_RESTORE depend on CONFIG_XEN Xen options need to depend on XEN. Also, add newline at end of file. Without this patch you need to disable CONFIG_PM in order to disable CPU hotplugging. Signed-off-by: Chuck Ebbert Acked-by Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit a03352d2c1dcb00970801fb8b800a39acd3103d9 Author: Bruce Allan Date: Mon Sep 29 20:19:22 2008 -0700 x86: export set_memory_ro and set_memory_rw Export set_memory_ro() and set_memory_rw() calls for use by drivers that need to have more debug information about who might be writing to memory space. this was initially developed for use while debugging a memory corruption problem with e1000e. Signed-off-by: Bruce Allan Signed-off-by: Jesse Brandeburg Signed-off-by: Ingo Molnar commit 208dde28b0f73c0e2dc6be74040fa562e129a6e8 Author: Roland Dreier Date: Mon Sep 29 21:37:33 2008 -0700 IB/mthca: Use pci_request_regions() Back in prehistoric (pre-git!) days, the kernel's MSI-X support did request_mem_region() on a device's MSI-X tables, which meant that a driver that enabled MSI-X couldn't use pci_request_regions() (since that would clash with the PCI layer's MSI-X request). However, that was removed (by me!) years ago, so mthca can just use pci_request_regions() and pci_release_regions() instead of its own much more complicated code that avoids requesting the MSI-X tables. Signed-off-by: Roland Dreier commit e441d6342890838bfc6d64ca2f0964aca08ae2a2 Author: Yannick Cote Date: Mon Sep 29 21:24:04 2008 -0700 IB/ipath: Fix hang on module unload Handle the case where posting a send is requested when the link is down. This fixes . Signed-off-by: Yannick Cote Signed-off-by: Roland Dreier commit 4624065731751a3ace88e5824d8e5654e2d7abd3 Author: Yinghai Lu Date: Mon Sep 29 18:54:12 2008 -0700 x86: mtrr_cleanup try gran_size to less than 1M one have gran < 1M reg00: base=0xd8000000 (3456MB), size= 128MB: uncachable, count=1 reg01: base=0xe0000000 (3584MB), size= 512MB: uncachable, count=1 reg02: base=0x00000000 ( 0MB), size=4096MB: write-back, count=1 reg03: base=0x100000000 (4096MB), size= 512MB: write-back, count=1 reg04: base=0x120000000 (4608MB), size= 128MB: write-back, count=1 reg05: base=0xd7f80000 (3455MB), size= 512KB: uncachable, count=1 will get Found optimal setting for mtrr clean up gran_size: 512K chunk_size: 2M num_reg: 7 lose RAM: 0G range0: 0000000000000000 - 00000000d8000000 Setting variable MTRR 0, base: 0GB, range: 2GB, type WB Setting variable MTRR 1, base: 2GB, range: 1GB, type WB Setting variable MTRR 2, base: 3GB, range: 256MB, type WB Setting variable MTRR 3, base: 3328MB, range: 128MB, type WB hole: 00000000d7f00000 - 00000000d7f80000 Setting variable MTRR 4, base: 3455MB, range: 512KB, type UC rangeX: 0000000100000000 - 0000000128000000 Setting variable MTRR 5, base: 4GB, range: 512MB, type WB Setting variable MTRR 6, base: 4608MB, range: 128MB, type WB so start from 64k instead of 1M Signed-off-by: Yinghai Lu Signed-off-by: H. Peter Anvin commit dd7e52224fd7438d701b4bb9834a9ddc06828210 Author: Yinghai Lu Date: Mon Sep 29 18:54:11 2008 -0700 x86: mtrr_cleanup prepare to make gran_size to less 1M make the print out right with size < 1M Signed-off-by: Yinghai Lu Signed-off-by: H. Peter Anvin commit 73436a1d2501575f9c2e6ddb26889145e23cefd8 Author: Yinghai Lu Date: Mon Sep 29 13:39:17 2008 -0700 x86: mtrr_cleanup safe to get more spare regs now Delay exit to make sure we can actually get the optimal result in as many cases as possible. Signed-off-by: Yinghai Lu Signed-off-by: H. Peter Anvin commit d5b337b4877f7c4e1d761434ee04d045b0201e03 Author: Benny Halevy Date: Sun Sep 28 09:21:26 2008 +0300 nfsd: use nfs client rpc callback program since commit ff7d9756b501744540be65e172d27ee321d86103 "nfsd: use static memory for callback program and stats" do_probe_callback uses a static callback program (NFS4_CALLBACK) rather than the one set in clp->cl_callback.cb_prog as passed in by the client in setclientid (4.0) or create_session (4.1). This patches introduces rpc_create_args.prognumber that allows overriding program->number when creating rpc_clnt. Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 97eb89bb0e5d9ab20dbc677cb18fad1421473287 Author: Benny Halevy Date: Fri Sep 26 15:14:13 2008 +0300 nfsd: do_probe_callback should not clear rpc stats Now that cb_stats are static (since commit ff7d9756b501744540be65e172d27ee321d86103) there's no need to clear them. Initially I thought it might make sense to do that every callback probing but since the stats are per-program and they are shared between possibly several client callback instances, zeroing them out seems like the wrong thing to do. Note that that commit also introduced a bug since stats.program is also being cleared in the process and it is not restored after the memset as it used to be. Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit db820d6376aa81accf5b648651e160fd76e363e2 Author: Chuck Lever Date: Thu Sep 25 11:57:05 2008 -0400 SUNRPC: Clean up debug messages in rpcb_clnt.c The RPCB XDR functions are used for multiple procedures. For instance, rpcb_encode_getaddr() is used for RPCB_GETADDR, RPCB_SET, and RPCB_UNSET. Make the XDR debug messages more generic so they are less confusing. And, unlike in other RPC consumers in the kernel, a single debug flag enables all levels of debug messages in the RPC bind client, including XDR debug messages. Since the XDR decoders already report success or failure in this case, remove redundant debug messages in the mid-level rpcb_register_call() function. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit f6fb3f6f591b50fa4f51962ad06ee0d8782e1bc8 Author: Chuck Lever Date: Thu Sep 25 11:56:57 2008 -0400 SUNRPC: Fix up svc_unregister() With the new rpcbind code, a PMAP_UNSET will not have any effect on services registered via rpcbind v3 or v4. Implement a version of svc_unregister() that uses an RPCB_UNSET with an empty netid string to make sure we have cleared *all* entries for a kernel RPC service when shutting down, or before starting a fresh instance of the service. Use the new version only when CONFIG_SUNRPC_REGISTER_V4 is enabled; otherwise, the legacy PMAP version is used to ensure complete backwards-compatibility with the Linux portmapper daemon. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 9d548b9c955c0709d1229d21d0bc14afa6b356de Author: Chuck Lever Date: Mon Sep 15 16:27:30 2008 -0500 SUNRPC: Use short-hand IPv6 ANYADDR for RPCB_SET Clean up: When doing an RPCB_SET, make the kernel's rpcb client use the shorthand "::" for the universal form of the IPv6 ANY address. Without this patch, rpcbind will advertise: 0000:0000:0000:0000:0000:0000:0000:0000.x.y This is cosmetic only. It cleans up the display of information from /sbin/rpcinfo. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 2c7eb0b206b8408d92c518033a359f4374c75314 Author: Chuck Lever Date: Mon Sep 15 16:27:23 2008 -0500 SUNRPC: Register both netids for AF_INET6 servers TI-RPC is a user-space library of RPC functions that replaces ONC RPC and allows RPC to operate in the new world of IPv6. TI-RPC combines the concept of a transport protocol (UDP and TCP) and a protocol family (PF_INET and PF_INET6) into a single identifier called a "netid." For example, "udp" means UDP over IPv4, and "udp6" means UDP over IPv6. For rpcbind, then, the RPC service tuple that is registered and advertised is: [RPC program, RPC version, service address and port, netid] instead of [RPC program, RPC version, port, protocol] Service address is typically ANYADDR, but can be a specific address of one of the interfaces on a multi-homed host. The third item in the new tuple is expressed as a universal address. The current Linux rpcbind implementation registers a netid for both protocol families when RPCB_SET is done for just the PF_INET6 version of the netid (ie udp6 or tcp6). So registering "udp6" causes a registration for "udp" to appear automatically as well. We've recently determined that this is incorrect behavior. In the TI-RPC world, "udp6" is not meant to imply that the registered RPC service handles requests from AF_INET as well, even if the listener socket does address mapping. "udp" and "udp6" are entirely separate capabilities, and must be registered separately. The Linux kernel, unlike TI-RPC, leverages address mapping to allow a single listener socket to handle requests for both AF_INET and AF_INET6. This is still OK, but the kernel currently assumes registering "udp6" will cover "udp" as well. It registers only "udp6" for it's AF_INET6 services, even though they handle both AF_INET and AF_INET6 on the same port. So svc_register() actually needs to register both "udp" and "udp6" explicitly (and likewise for TCP). Until rpcbind is fixed, the kernel can ignore the return code for the second RPCB_SET call. Please merge this with commit 15231312: SUNRPC: Support IPv6 when registering kernel RPC services Signed-off-by: Chuck Lever Cc: Olaf Kirch Signed-off-by: J. Bruce Fields commit e018040a824ab48211a1fcb86acebc9fc84759b0 Author: Chuck Lever Date: Wed Sep 3 14:36:23 2008 -0400 lockd: Update nsm_find() to support non-AF_INET addresses Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit bc48e4d6371137b1b06e985ea76c1254e9c06e83 Author: Chuck Lever Date: Wed Sep 3 14:36:16 2008 -0400 lockd: Combine __nsm_find() and nsm_find(). Clean up: Having two separate functions doesn't add clarity, so eliminate one of them. Use contemporary kernel coding conventions where appropriate. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit ede2fea099cf1dabe41e5b9563558bc7aee82248 Author: Chuck Lever Date: Wed Sep 3 14:36:08 2008 -0400 lockd: Support AF_INET6 when hashing addresses in nlm_lookup_host Adopt an approach similar to the RPC server's auth cache (from Aurelien Charbon and Brian Haley). Note nlm_lookup_host()'s existing IP address hash function has the same issue with correctness on little-endian systems as the original IPv4 auth cache hash function, so I've also updated it with a hash function similar to the new auth cache hash function. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 781b61a6f4ff94cb8c14cf598b547f5d5c490969 Author: Chuck Lever Date: Wed Sep 3 14:36:01 2008 -0400 lockd: Teach nlm_cmp_addr() to support AF_INET6 addresses Update the nlm_cmp_addr() helper to support AF_INET6 as well as AF_INET addresses. New version takes two "struct sockaddr *" arguments instead of "struct sockaddr_in *" arguments. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 7e9d7746bfd40121438b155023793796499497d8 Author: Chuck Lever Date: Wed Sep 3 14:35:54 2008 -0400 NSM: Use sockaddr_storage for sm_addr field To store larger addresses in the nsm_handle structure, make sm_addr a sockaddr_storage. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 90151e6e4d00a3150d03d52170c246734b274622 Author: Chuck Lever Date: Wed Sep 3 14:35:46 2008 -0400 lockd: Use sockaddr_storage for h_saddr field To store larger addresses in the nlm_host structure, make h_saddr a sockaddr_storage. And let's call it something more self-explanatory: "saddr" could easily be mistaken for "server address". Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit b4ed58fd34d4def88bda59f9cc566ec9fca6a096 Author: Chuck Lever Date: Wed Sep 3 14:35:39 2008 -0400 lockd: Use sockaddr_storage + length for h_addr field To store larger addresses in the nlm_host structure, make h_addr a sockaddr_storage, and add an address length field. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 5344b12d4f97d4a9a62d806425977a6ff64b6baf Author: Chuck Lever Date: Wed Aug 27 16:57:46 2008 -0400 SUNRPC: Make svc_addr's argument a constant Clean up: Add extra type safety and squelch a few compiler complaints in upcoming patches. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 396cb3d003c2ce72b50c8c06fddfbb7516f30eb1 Author: Chuck Lever Date: Wed Aug 27 16:57:38 2008 -0400 lockd: Add address family-agnostic helper for zeroing the port number Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 2860a0227b700feb8d6e5c4f07a62a1b40d96022 Author: Chuck Lever Date: Wed Aug 27 16:57:31 2008 -0400 lockd: Specify address family for source address Make sure an address family is specified for source addresses passed to nlm_lookup_host(). nlm_lookup_host() will need this when it becomes capable of dealing with AF_INET6 addresses. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 1b333c54a15a746ff6b04a684b0845a66daacef2 Author: Chuck Lever Date: Wed Aug 27 16:57:23 2008 -0400 lockd: address-family independent printable addresses Knowing which source address is used for communicating with remote NLM services can be helpful for debugging configuration problems on hosts with multiple addresses. Keep the dprintk debugging here, but adapt it so it displays AF_INET6 addresses properly. There are also a couple of dprintk clean-ups as well. At some point we will aggregate the helpers that display presentation format addresses into a single set of shared helpers. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit c2526f42711d93f3455f92a82b5e586880fc44be Author: Chuck Lever Date: Wed Aug 27 16:57:15 2008 -0400 NLM: Clean up before introducing new debugging messages We're about to introduce some extra debugging messages in nlm_lookup_host(). Bring the coding style up to date first so we can cleanly introduce the new debugging messages. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit a26cfad6e0a308a2c68df1f1ef50aabd48b17e6d Author: Chuck Lever Date: Mon Aug 18 19:34:16 2008 -0400 SUNRPC: Support IPv6 when registering kernel RPC services In order to advertise NFS-related services on IPv6 interfaces via rpcbind, the kernel RPC server implementation must use rpcb_v4_register() instead of rpcb_register(). A new kernel build option allows distributions to use the legacy v2 call until they integrate an appropriate user-space rpcbind daemon that can support IPv6 RPC services. I tried adding some automatic logic to fall back if registering with a v4 protocol request failed, but there are too many corner cases. So I just made it a compile-time switch that distributions can throw when they've replaced portmapper with rpcbind. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 7252d575ab0e8771269a3d245c36a05ace5152bd Author: Chuck Lever Date: Mon Aug 18 19:34:08 2008 -0400 SUNRPC: Split portmap unregister API into separate function Create a separate server-level interface for unregistering RPC services. The mechanics of, and the API for, registering and unregistering RPC services will diverge further as support for IPv6 is added. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 14aeb2118d6e9fd9ee988324c740a00c80979093 Author: Chuck Lever Date: Mon Aug 18 19:34:00 2008 -0400 SUNRPC: Simplify rpcb_register() API Bruce suggested there's no need to expose the difference between an error sending the PMAP_SET request and an error reply from the portmapper to rpcb_register's callers. The user space equivalent of rpcb_register() is pmap_set(3), which returns a bool_t : either the PMAP set worked, or it didn't. Simple. So let's remove the "*okay" argument from rpcb_register() and rpcb_v4_register(), and simply return an error if any part of the call didn't work. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit b6632339e3afbcbb438a3c8935190ea22464fc99 Author: Chuck Lever Date: Mon Aug 18 19:33:44 2008 -0400 SUNRPC: Set V6ONLY socket option for RPC listener sockets My plan is to use an AF_INET listener on systems that support only IPv4, and an AF_INET6 listener on systems that can support IPv6. Incoming IPv4 packets will be posted to an AF_INET6 listener with a mapped IPv4 address. Max Matveev says: Creating a single listener can be dangerous - if net.ipv6.bindv6only is enabled then it's possible to create another listener in v4 namespace on the same port and steal the traffic from the "unifed" listener. You need to disable V6ONLY explicitly via a sockopt to stop that. Set appropriate socket option on RPC server listener sockets to prevent this. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit c8ab5f2a13fb41a878863c61a1e27d78f1844b5e Author: J. Bruce Fields Date: Tue Mar 18 19:00:19 2008 -0400 lockd: don't depend on lockd main loop to end grace End lockd's grace period using schedule_delayed_work() instead of a check on every pass through the main loop. After a later patch, we'll depend on lockd to end its grace period even if it's not currently handling requests; so it shouldn't depend on being woken up from the main loop to do so. Also, Nakano Hiroaki (who independently produced a similar patch) noticed that the current behavior is buggy in the face of jiffies wraparound: "lockd uses time_before() to determine whether the grace period has expired. This would seem to be enough to avoid timer wrap-around issues, but, unfortunately, that is not the case. The time_* family of comparison functions can be safely used to compare jiffies relatively close in time, but they stop working after approximately LONG_MAX/2 ticks. nfsd can suffer this problem because the time_before() comparison in lockd() is not performed until the first request comes in, which means that if there is no lockd traffic for more than LONG_MAX/2 ticks we are screwed. "The implication of this is that once time_before() starts misbehaving any attempt from a NFS client to execute fcntl() will be received with a NLM_LCK_DENIED_GRACE_PERIOD message for 25 days (assuming HZ=1000). In other words, the 50 seconds grace period could turn into a grace period of 50 days or more. "Note: This bug was analyzed independently by Oda-san and myself." Signed-off-by: J. Bruce Fields Cc: Nakano Hiroaki Cc: Itsuro Oda commit 8fafa90082ab18859d97627fc454edf12f7efbff Author: J. Bruce Fields Date: Thu Jan 24 11:11:34 2008 -0500 locks: allow lockd to process blocked locks during grace period The check here is currently harmless but unnecessary, since, as the comment notes, there aren't any blocked-lock callbacks to process during the grace period anyway. And eventually we want to allow multiple grace periods that come and go for different filesystems over the course of the lifetime of lockd, at which point this check is just going to get in the way. Signed-off-by: J. Bruce Fields commit 54a66e548079f12a6f54c3cae96812a9ed9b54ae Author: Jeff Layton Date: Wed Aug 13 22:03:27 2008 -0400 knfsd: allocate readahead cache in individual chunks I had a report from someone building a large NFS server that they were unable to start more than 585 nfsd threads. It was reported against an older kernel using the slab allocator, and I tracked it down to the large allocation in nfsd_racache_init failing. It appears that the slub allocator handles large allocations better, but large contiguous allocations can often be problematic. There doesn't seem to be any reason that the racache has to be allocated as a single large chunk. This patch breaks this up so that the racache is built up from separate allocations. (Thanks also to Takashi Iwai for a bugfix.) Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields Cc: Takashi Iwai commit e31a1b662f40fd460e982ef87582c66c51596cd0 Author: Benny Halevy Date: Tue Aug 12 20:46:18 2008 +0300 nfsd: nfs4xdr decode_stateid helper function Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 5bf8c6911fe88bea4f9850007796fbacf9fbfb88 Author: Benny Halevy Date: Tue Aug 12 20:45:51 2008 +0300 nfsd: properly xdr-decode NFS4_OPEN_CLAIM_DELEGATE_CUR stateid Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 1b6b2257dc5a88aae375ff44485f8d6c4ee800e4 Author: Benny Halevy Date: Tue Aug 12 20:45:28 2008 +0300 nfsd: don't declare p in ENCODE_SEQID_OP_HEAD After using the encode_stateid helper the "p" pointer declared by ENCODE_SEQID_OP_HEAD is warned as unused. In the single site where it is still needed it can be declared separately using the ENCODE_HEAD macro. Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit e2f282b9f0538e4f63255ffa35bf3b902f5fbde2 Author: Benny Halevy Date: Tue Aug 12 20:45:07 2008 +0300 nfsd: nfs4xdr encode_stateid helper function Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 5033b77a931a12bc7395c1834fa50f6d477be3ae Author: Benny Halevy Date: Tue Aug 12 20:44:41 2008 +0300 nfsd: fix nfsd4_encode_open buffer space reservation nfsd4_encode_open first reservation is currently for 36 + sizeof(stateid_t) while it writes after the stateid a cinfo (20 bytes) and 5 more 4-bytes words, for a total of 40 + sizeof(stateid_t). Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit c47b2ca42e848e2dce122acbefa0de59320f5683 Author: Benny Halevy Date: Tue Aug 12 20:43:37 2008 +0300 nfsd: properly xdr-encode deleg stateid returned from open Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 8e40741494bd08a15af17b8cfd26a1f7ad1f5081 Author: Benny Halevy Date: Tue Aug 12 20:42:51 2008 +0300 nfsd: properly xdr-encode stateid4.seqid as uint32_t for cb_recall Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit bfcd17a6c5529bc37234cfa720a047cf9397bcfc Author: Thomas Petazzoni Date: Wed Aug 6 15:12:22 2008 +0200 Configure out file locking features This patch adds the CONFIG_FILE_LOCKING option which allows to remove support for advisory locks. With this patch enabled, the flock() system call, the F_GETLK, F_SETLK and F_SETLKW operations of fcntl() and NFS support are disabled. These features are not necessarly needed on embedded systems. It allows to save ~11 Kb of kernel code and data: text data bss dec hex filename 1125436 118764 212992 1457192 163c28 vmlinux.old 1114299 118564 212992 1445855 160fdf vmlinux -11137 -200 0 -11337 -2C49 +/- This patch has originally been written by Matt Mackall , and is part of the Linux Tiny project. Signed-off-by: Thomas Petazzoni Signed-off-by: Matt Mackall Cc: matthew@wil.cx Cc: linux-fsdevel@vger.kernel.org Cc: mpm@selenic.com Cc: akpm@linux-foundation.org Signed-off-by: J. Bruce Fields commit 04716e6621ff4abb422d64ba7b48718f52716a3e Author: J. Bruce Fields Date: Thu Aug 7 13:00:20 2008 -0400 nfsd: permit unauthenticated stat of export root RFC 2623 section 2.3.2 permits the server to bypass gss authentication checks for certain operations that a client may perform when mounting. In the case of a client that doesn't have some form of credentials available to it on boot, this allows it to perform the mount unattended. (Presumably real file access won't be needed until a user with credentials logs in.) Being slightly more lenient allows lots of old clients to access krb5-only exports, with the only loss being a small amount of information leaked about the root directory of the export. This affects only v2 and v3; v4 still requires authentication for all access. Thanks to Peter Staubach testing against a Solaris client, which suggesting addition of v3 getattr, to the list, and to Trond for noting that doing so exposes no additional information. Signed-off-by: J. Bruce Fields Cc: Peter Staubach Cc: Trond Myklebust commit 5dd248f6f1ffe1f691fd66749e2a3dc8f8eb7b5e Author: Chuck Lever Date: Mon Jun 30 18:45:37 2008 -0400 SUNRPC: Use proper INADDR_ANY when setting up RPC services on IPv6 Teach svc_create_xprt() to use the correct ANY address for AF_INET6 based RPC services. No caller uses AF_INET6 yet. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit e851db5b05408b89b9a9429a66814b79fabee2a1 Author: Chuck Lever Date: Mon Jun 30 18:45:30 2008 -0400 SUNRPC: Add address family field to svc_serv data structure Introduce and initialize an address family field in the svc_serv structure. This field will determine what family to use for the service's listener sockets and what families are advertised via the local rpcbind daemon. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 791ccf2e4deeea8426b389fd0f5bb0e9167bb75d Author: Andrew Victor Date: Wed Sep 24 22:03:52 2008 +0100 [ARM] 5267/1: [AT91] Name conflict in mach-at91/leds.c The name of the platform device 'at91_pwm_leds' conflicts with the function at91_pwm_leds(). So rename the device 'at91_pwm_leds_device' to be more specific. Similarly rename 'at91_gpio_leds_device' for consistency. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit bf07e4404ebb0911d378172c01748bf822343cde Author: Andrew Victor Date: Thu Sep 18 19:48:32 2008 +0100 [ARM] 5261/1: [AT91] Support for LEDs on Conitec ARM&EVA board Add support for the LEDs on the Conitec ARM&EVA board. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit ea6b184f7d521a503ecab71feca6e4057562252b Author: Stephen Smalley Date: Mon Sep 22 15:41:19 2008 -0400 selinux: use default proc sid on symlinks As we are not concerned with fine-grained control over reading of symlinks in proc, always use the default proc SID for all proc symlinks. This should help avoid permission issues upon changes to the proc tree as in the /proc/net -> /proc/self/net example. This does not alter labeling of symlinks within /proc/pid directories. ls -Zd /proc/net output before and after the patch should show the difference. Signed-off-by: Stephen D. Smalley Signed-off-by: James Morris commit a969e76a7101bf5f3d369563df1ca1253dd6131b Author: Martyn Welch Date: Mon Sep 29 13:35:15 2008 +0100 powerpc: Correct USB support for GE Fanuc SBC610 Support for the SBC610 VPX Single Board Computer from GE Fanuc (PowerPC MPC8641D). Fixup to correctly reconfigure USB, provided by an NEC uPD720101, after device is reset. This requires a set of chip specific registers in the devices configuration space to be correctly written, enabling all ports and switching the device to use an external 48-MHz Oscillator. Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala commit 0161dca52d950676d727336cef1441ea2bcfba98 Author: Becky Bruce Date: Wed Sep 24 16:53:34 2008 -0500 powerpc: Drop redundant machine type print in show_cpuinfo For many of the embedded boards, "model" and "Machine" are printing the same thing; remove the redundant code and allow the generic show_cpuinfo to print the model information. Signed-off-by: Becky Bruce Acked-by: Paul Gortmaker Acked-by: Martyn Welch Signed-off-by: Kumar Gala commit 20d38e01d48019c578ab0ec1464454c03003b300 Author: Anton Vorontsov Date: Mon Sep 29 17:56:03 2008 +0400 powerpc/fsl_soc: remove mpc83xx_wdt code mpc83xx_wdt is the OF driver now, so we don't need fsl_soc constructor. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 0e18b5d7c6339311f1e32e7b186ae3556c5b6d33 Author: Russell King Date: Mon Sep 29 13:48:17 2008 +0100 [ARM] dma: add validation of DMA params Validate the direction argument like x86 does. In addition, validate the dma_unmap_* parameters against those passed to dma_map_* when using the DMA bounce code. Signed-off-by: Russell King commit 3216a97bb0d5166ec5795aa3db1c3a02415ac060 Author: Russell King Date: Thu Sep 25 22:23:31 2008 +0100 [ARM] dma: coding style cleanups Signed-off-by: Russell King commit 125ab12acf64ff86b55d20e14db20becd917b7c4 Author: Russell King Date: Thu Sep 25 22:16:22 2008 +0100 [ARM] dma: fix dmabounce dma_sync_xxx() implementations The dmabounce dma_sync_xxx() implementation have been broken for quite some time; they all copy data between the DMA buffer and the CPU visible buffer no irrespective of the change of ownership. (IOW, a DMA_FROM_DEVICE mapping copies data from the DMA buffer to the CPU buffer during a call to dma_sync_single_for_device().) Fix it by getting rid of sync_single(), moving the contents into the recently created dmabounce_sync_for_xxx() functions and adjusting appropriately. This also makes it possible to properly support the DMA range sync functions. Signed-off-by: Russell King commit 8c8a0ec57ee285ff407e9a64b3a5a37eaf800ad8 Author: Russell King Date: Thu Sep 25 21:52:49 2008 +0100 [ARM] dma: use new dmabounce_sync_for_xxx() for dma_sync_single_xxx() Signed-off-by: Russell King commit 2638b4dbe768aba023a06acd8e7eba708bb76ee6 Author: Russell King Date: Thu Sep 25 21:38:41 2008 +0100 [ARM] dma: Reduce to one dma_sync_sg_* implementation Signed-off-by: Russell King commit 12544697f12e0ecdcf971075415c7678fae502af Author: dcg Date: Sun Sep 28 18:49:46 2008 +0200 x86_64: be less annoying on boot, v2 Honour "quiet" boot parameter in early_printk() calls Signed-off-by: Diego Calleja Signed-off-by: Ingo Molnar commit 0395e61babd59c749fb5efe112affbfaa7d50eb7 Author: Seth Heasley Date: Wed Aug 27 16:40:06 2008 -0700 ata_piix: IDE Mode SATA patch for Intel Ibex Peak DeviceIDs This patch updates the Intel Ibex Peak (PCH) IDE mode SATA Controller DeviceIDs. Signed-off-by: Seth Heasley Signed-off-by: Jeff Garzik commit 11fc33da8d8413d6bfa5143f454dfcb998c27617 Author: Tejun Heo Date: Sat Aug 30 14:20:01 2008 +0200 libata-eh: clear UNIT ATTENTION after reset Resets make ATAPI devices raise UNIT ATTENTION which fails the next command. As resets can happen asynchronously for unrelated reasons, this sometimes disrupts innocent users. For example, reading DVD fails after the system wakes up from suspend or the other device sharing the channel went through bus error. Clearing UA has some problems as it might clear UA which the userland needs to know about. However, UA after resets can only be about the reset itself and benefits of clearing it overweights cons. Missing UA can only delay failure to one of the following commands anyway. For example, timeout while burning is in progress will trigger reset and reset the device state and probably corrupt the burning run. Although the userland application won't get the UA, its pending writes will fail. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit d09addf65cb5b3b19a536aa3329efeedbc6bb56c Author: Herton Ronaldo Krzesinski Date: Wed Sep 17 14:29:05 2008 -0300 ata_piix: add Hercules EC-900 mini-notebook to ich_laptop short cable list Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Jeff Garzik commit 6866e7bc83f13a1bc6de59099930e9db1ab0042f Author: Richard Kennedy Date: Mon Sep 22 14:47:13 2008 -0700 libata: reorder ata_device to remove 8 bytes of padding on 64 bits reduce size by 8 bytes from 1160 to 1152 allowing it to fit in 1 fewer cachelines. Signed-off-by: Richard Kennedy Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 67e3e221d61c0e70b2f244fd921e5e601d6c7339 Author: Sonic Zhang Date: Mon Sep 22 14:47:10 2008 -0700 [libata] pata_bf54x: Add proper PM operation [akpm@linux-foundation.org: remove ifdefs, make things static] Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 47d692a946f12c299c21536fff6b39369311f002 Author: Kumar Gala Date: Mon Sep 22 14:47:33 2008 -0700 pata_sil680: convert CONFIG_PPC_MERGE to CONFIG_PPC Now that arch/ppc is dead CONFIG_PPC_MERGE is always defined for all powerpc platforms and we want to get rid of CONFIG_PPC_MERGE use CONFIG_PPC instead. Signed-off-by: Kumar Gala Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 45fabbb77bd95adff7a80bde1c7a0ace1075fde6 Author: Elias Oltmanns Date: Sun Sep 21 11:54:08 2008 +0200 libata: Implement disk shock protection support On user request (through sysfs), the IDLE IMMEDIATE command with UNLOAD FEATURE as specified in ATA-7 is issued to the device and processing of the request queue is stopped thereafter until the specified timeout expires or user space asks to resume normal operation. This is supposed to prevent the heads of a hard drive from accidentally crashing onto the platter when a heavy shock is anticipated (like a falling laptop expected to hit the floor). In fact, the whole port stops processing commands until the timeout has expired in order to avoid any resets due to failed commands on another device. Signed-off-by: Elias Oltmanns Signed-off-by: Jeff Garzik commit ea6ce53cd5d005455ec0a3cc1d45d3af0cb90919 Author: Elias Oltmanns Date: Fri Sep 19 23:46:01 2008 +0200 [libata] Introduce ata_id_has_unload() Add a function to check an ATA device's id for head unload support as specified in ATA-7. Signed-off-by: Elias Oltmanns Signed-off-by: Jeff Garzik commit 2ad69677b626fc311783b47af25dfecf7be2845b Author: Ben Dooks Date: Fri Sep 26 18:12:52 2008 +0100 PATA: RPC now selects HAVE_PATA_PLATFORM for pata platform driver The RPC machine type now selects HAVE_PATA_PLATFORM so we can remove the special case in the PATA_PLATFORM configuration code. Cc: Russell King Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit be77e43abb433c2d6f2fc69352289e34dcbf040a Author: Tejun Heo Date: Thu Jul 31 17:02:44 2008 +0900 ata_piix: drop merged SCR access and use slave_link instead Now that libata has slave_link, there's no need to keep ugly merged SCR access. Drop it and use slave_link instead. This results in simpler code and much better separate link handling for master and slave. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit b1c72916abbdd0a55015c87358536ca0ebaf6735 Author: Tejun Heo Date: Thu Jul 31 17:02:43 2008 +0900 libata: implement slave_link Explanation taken from the comment of ata_slave_link_init(). In libata, a port contains links and a link contains devices. There is single host link but if a PMP is attached to it, there can be multiple fan-out links. On SATA, there's usually a single device connected to a link but PATA and SATA controllers emulating TF based interface can have two - master and slave. However, there are a few controllers which don't fit into this abstraction too well - SATA controllers which emulate TF interface with both master and slave devices but also have separate SCR register sets for each device. These controllers need separate links for physical link handling (e.g. onlineness, link speed) but should be treated like a traditional M/S controller for everything else (e.g. command issue, softreset). slave_link is libata's way of handling this class of controllers without impacting core layer too much. For anything other than physical link handling, the default host link is used for both master and slave. For physical link handling, separate @ap->slave_link is used. All dirty details are implemented inside libata core layer. From LLD's POV, the only difference is that prereset, hardreset and postreset are called once more for the slave link, so the reset sequence looks like the following. prereset(M) -> prereset(S) -> hardreset(M) -> hardreset(S) -> softreset(M) -> postreset(M) -> postreset(S) Note that softreset is called only for the master. Softreset resets both M/S by definition, so SRST on master should handle both (the standard method will work just fine). As slave_link excludes PMP support and only code paths which deal with the attributes of physical link are affected, all the changes are localized to libata.h, libata-core.c and libata-eh.c. * ata_is_host_link() updated so that slave_link is considered as host link too. * iterator extended to iterate over the slave_link when using the underbarred version. * force param handling updated such that devno 16 is mapped to the slave link/device. * ata_link_on/offline() updated to return the combined result from master and slave link. ata_phys_link_on/offline() are the direct versions. * EH autopsy and report are performed separately for master slave links. Reset is udpated to implement the above described reset sequence. Except for reset update, most changes are minor, many of them just modifying dev->link to ata_dev_phys_link(dev) or using phys online test instead. After this update, LLDs can take full advantage of per-dev SCR registers by simply turning on slave link. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit b5b3fa386b8f96c7fa92e507e5deddc2637924b4 Author: Tejun Heo Date: Thu Jul 31 17:02:42 2008 +0900 libata: misc updates to prepare for slave link * Add ATA_EH_ALL_ACTIONS. * Make sata_link_{on|off}_line() return bool instead of int. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit aadffb682cc5572f48cc24883681db65530bd284 Author: Tejun Heo Date: Thu Jul 31 17:02:41 2008 +0900 libata: reimplement link iterator Implement __ata_port_next_link() and reimplement __ata_port_for_each_link() and ata_port_for_each_link() using it. This removes relatively large inlined code and makes iteration easier to extend. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 82ef04fb4c82542b3eda81cca461f0594ce9cd0b Author: Tejun Heo Date: Thu Jul 31 17:02:40 2008 +0900 libata: make SCR access ops per-link Logically, SCR access ops should take @link; however, there was no compelling reason to convert all SCR access ops when adding @link abstraction as there's one-to-one mapping between a port and a non-PMP link. However, that assumption won't hold anymore with the scheduled addition of slave link. Make SCR access ops per-link. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 8f0afaa58e912bbe7d5b0bad9fb024337edf363e Author: Yinghai Lu Date: Sat Sep 27 20:26:06 2008 -0700 x86: mtrr_cleanup hole size should be less than half of chunk_size, v2 v2: should check with half of range0 size instead of chunk_size So don't have silly big hole. in hpa's case we could auto detect instead of adding mtrr_chunk_size in command line. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 0114267be1bebc2e9c913b19579900153583d617 Author: Joerg Roedel Date: Thu Sep 25 12:42:12 2008 +0200 x86/iommu: use __GFP_ZERO instead of memset for GART Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit 3610f2116e961cdcbd3546a3828470f7aa636212 Author: Joerg Roedel Date: Thu Sep 25 12:13:54 2008 +0200 x86/iommu: convert GART need_flush to bool Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit 237a62247c2879331986a300d6ab36ad21264c68 Author: Joerg Roedel Date: Thu Sep 25 12:13:53 2008 +0200 x86/iommu: make GART driver checkpatch clean Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit 54d45ff4208836e62536fc40b0141586dbf6641f Author: Yinghai Lu Date: Sat Sep 27 00:30:06 2008 -0700 x86: add mtrr_cleanup_debug command line add mtrr_cleanup_debug to print out more info about layout Signed-off-by: Yinghai Lu Cc: Yinghai Lu Cc: Andrew Morton Signed-off-by: Ingo Molnar commit 2313c2793d290a8cc37c428f8622c53f3fe1d6dc Author: Yinghai Lu Date: Sat Sep 27 00:30:08 2008 -0700 x86: mtrr_cleanup optimization, v2 fix hpa's t61 with 4g ram: change layout from (n - 1)*chunksize + chunk_size - NC to n*chunksize - NC Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 7fc2368d1d0dce7a778beb2fba3acac8fa7a34b6 Author: Yinghai Lu Date: Sat Sep 27 00:30:07 2008 -0700 x86: don't need to go to chunksize to 4G change back chunksize max to 2g otherwise will get strange layout in 2G ram system like 0 - 4g WB, 2040M - 2048M UC, 2048M - 4G NC instead of 0 - 2g WB, 2040M - 2048M UC Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit de45e806a84909648623119dfe6fc1d31e71ceba Author: Serge E. Hallyn Date: Fri Sep 26 22:27:47 2008 -0400 file capabilities: uninline cap_safe_nice This reduces the kernel size by 289 bytes. Signed-off-by: Serge E. Hallyn Acked-by: Andrew G. Morgan Signed-off-by: James Morris commit a55facae05da311e05ea47b463fc430169812747 Author: Russell King Date: Thu Sep 25 14:35:48 2008 +0100 [ARM] pxa: make "gpio_leds" static Magician's "gpio_leds" was global, but actually is supposed to be private. Make it so. Signed-off-by: Russell King commit 651726592244d859dbbc6ec55881a0ee8112d2ff Author: Eric Miao Date: Fri Sep 12 10:45:41 2008 +0800 [ARM] pxa/pcm027: convert to use new MFP API Signed-off-by: Eric Miao Acked-by: Guennadi Liakhovetski Signed-off-by: Russell King commit 0219e835815be36abacd293d356cbf53480b5644 Author: Eric Miao Date: Thu Sep 11 15:59:23 2008 +0800 [ARM] pxa/lpd270: use new .lcd_conn to specify LCD info Signed-off-by: Eric Miao Signed-off-by: Russell King commit fd90ff200012db86cb96294e2992edf15ec313b3 Author: Eric Miao Date: Thu Sep 11 15:53:50 2008 +0800 [ARM] pxa/lpd270: convert to use new MFP API Signed-off-by: Eric Miao Signed-off-by: Russell King commit b40c6762ba7640be4bd0e1e1bfeb2c629bda9808 Author: Eric Miao Date: Fri Aug 8 14:33:29 2008 +0800 [ARM] pxa/idp: remove the unnecessary idp_init_irq() TOUCH_PANEL_IRQ is never referenced, and set_irq_type() shouldn't be called in this way, remove it, as well as the idp_init_irq(), and use pxa25x_init_irq() instead. Signed-off-by: Eric Miao Cc: Cliff Brake Signed-off-by: Russell King commit bea95d2a1295684d5e6c2754616eb7f5941c5a34 Author: Eric Miao Date: Fri Aug 8 14:17:57 2008 +0800 [ARM] pxa/idp: make use of "lcd_conn", add LCD pin configurations Signed-off-by: Eric Miao Cc: Cliff Brake Signed-off-by: Russell King commit 399ba6268b6ecf6466c7b223a3f1982c53b6870e Author: Eric Miao Date: Fri Aug 8 13:33:31 2008 +0800 [ARM] pxa/idp: convert to use new MFP API Signed-off-by: Eric Miao Cc: Cliff Brake Signed-off-by: Russell King commit c0b1541fc7d3969b662f39214c58fe796e9e4a51 Author: Eric Miao Date: Fri Aug 8 14:59:03 2008 +0800 [ARM] pxa/colibri: convert to use new MFP API Signed-off-by: Eric Miao Cc: Daniel Mack Signed-off-by: Russell King commit 4a5c5eabd4b2dd437bcb0a8d95b4eb5d38f60e54 Author: Eric Miao Date: Thu Sep 11 15:42:10 2008 +0800 [ARM] pxa/lubbock: add missing MFP pin configurations Signed-off-by: Eric Miao Signed-off-by: Russell King commit 5a3d96519040f9736b9f8089e2a1e33a81a6eafe Author: Eric Miao Date: Wed Sep 3 18:06:34 2008 +0800 [ARM] pxa: better MFP low power state support for pxa25x/pxa27x When configured as a specific low power state: MFP_LPM_DRIVE_LOW, MFP_LPM_DRIVE_HIGH, the corresponding GPDR register bit during low power mode shall be re-configured as output (if they are not configured so), thus the PGSRx bits can output. Create an additional low power values GPDR registers, and properly save/restore the GAFR + GPDR registers when doing suspend/resume. Signed-off-by: Eric Miao Signed-off-by: Russell King commit 4fa7c24e94b3f5bfb367bb847af3c3abd8cca3c0 Author: Eric Miao Date: Mon Jul 21 16:20:54 2008 +0800 [ARM] pxa: fix typo in pxa25x MFP definitions Signed-off-by: Eric Miao Signed-off-by: Russell King commit c49e1e63a9c7893d9ff9be4258d86ddc5485d712 Author: Sergey Lapin Date: Fri Aug 29 15:47:52 2008 +0100 [ARM] 5238/2: Very basic Palm Zire 72 support This patch contains very basic support of Palm Zire 72. Signed-off-by: Sergey Lapin Acked-by: Eric Miao Signed-off-by: Russell King commit 15160716eea5591eb31f40fd4dba56d83bea4209 Author: Ingo Molnar Date: Fri Sep 26 11:40:53 2008 +0200 x86, pci-hotplug, calgary / rio: fix EBDA ioremap() IO resource and ioremap debugging uncovered this ioremap() done by drivers/pci/hotplug/ibmphp_ebda.c: initcall pci_hotplug_init+0x0/0x41 returned 0 after 3 msecs calling ibmphp_init+0x0/0x360 @ 1 ibmphpd: IBM Hot Plug PCI Controller Driver version: 0.6 resource map sanity check conflict: 0x9f800 0xaf5e7 0x9f800 0x9ffff reserved ------------[ cut here ]------------ WARNING: at arch/x86/mm/ioremap.c:175 __ioremap_caller+0x5c/0x226() Pid: 1, comm: swapper Not tainted 2.6.27-rc7-tip-00914-g347b10f-dirty #36038 [] warn_on_slowpath+0x41/0x68 [] ? __lock_acquire+0x9ba/0xa7f [] ? do_flush_tlb_all+0x0/0x59 [] ? smp_call_function_mask+0x74/0x17d [] ? do_flush_tlb_all+0x0/0x59 [] ? printk+0x1a/0x1c [] ? iomem_map_sanity_check+0x82/0x8c [] ? _read_unlock+0x22/0x25 [] ? iomem_map_sanity_check+0x82/0x8c [] ? trace_hardirqs_off+0xb/0xd [] __ioremap_caller+0x5c/0x226 [] ? trace_hardirqs_on+0xb/0xd [] ? iounmap+0x9d/0xa5 [] ioremap_nocache+0x15/0x17 [] ? ioremap+0xd/0xf [] ioremap+0xd/0xf [] ibmphp_access_ebda+0x60/0xa0e [] ibmphp_init+0xb5/0x360 [] do_one_initcall+0x57/0x138 [] ? ibmphp_init+0x0/0x360 [] ? trace_hardirqs_on+0xb/0xd [] ? __queue_work+0x2b/0x30 [] ? ibmphp_init+0x0/0x360 [] kernel_init+0x17b/0x1e2 [] ? kernel_init+0x0/0x1e2 [] kernel_thread_helper+0x7/0x10 ======================= ---[ end trace a7919e7f17c0a725 ]--- initcall ibmphp_init+0x0/0x360 returned -19 after 144 msecs calling zt5550_init+0x0/0x6a @ 1 the problem is this code: io_mem = ioremap (ebda_seg<<4, 65000); it assumes that the EBDA is 65000 bytes. But BIOS EBDA pointers are at most 1K large. _if_ the Rio code truly extends upon the customary EBDA size it needs to iounmap() this memory and ioremap() it larger, once it knows it from the generic descriptors that a Rio system is around. Signed-off-by: Ingo Molnar commit 254db57f9b12daba841a4d91ddb9a8161e9c74ba Author: Steven Whitehouse Date: Fri Sep 26 10:23:22 2008 +0100 GFS2: Support for I/O barriers This patch adds barrier support to GFS2. There is not a lot of change really... we just add the barrier flag when we write journal header blocks. If the underlying device refuses to support them, we fall back to the previous way of doing things (wait for the I/O and hope) since there is nothing else we can do. There is no user configuration, barriers will always be on unless the device refuses to support them. This seems a reasonable solution to me since this is a correctness issue. Signed-off-by: Steven Whitehouse commit 13eb83754b40bf01dc84e52a08d4196d1b719a0e Author: Ingo Molnar Date: Fri Sep 26 10:10:12 2008 +0200 IO resources, x86: ioremap sanity check to catch mapping requests exceeding, fix fix this build error: kernel/resource.c: In function 'iomem_map_sanity_check': kernel/resource.c:842: error: implicit declaration of function 'r_next' kernel/resource.c:842: warning: assignment makes pointer from integer without a cast r_next() was only available if CONFIG_PROCFS was enabled. and fix this build warning: kernel/resource.c:855: warning: format '%llx' expects type 'long long unsigned int', but argument 2 has type 'resource_size_t' kernel/resource.c:855: warning: format '%llx' expects type 'long long unsigned int', but argument 3 has type 'long unsigned int' kernel/resource.c:855: warning: format '%llx' expects type 'long long unsigned int', but argument 4 has type 'resource_size_t' kernel/resource.c:855: warning: format '%llx' expects type 'long long unsigned int', but argument 5 has type 'resource_size_t' resource_t can be 32 bits. Signed-off-by: Ingo Molnar commit 379daf6290814e41f14880094b7b773640df2461 Author: Suresh Siddha Date: Thu Sep 25 18:43:34 2008 -0700 IO resources, x86: ioremap sanity check to catch mapping requests exceeding the BAR sizes Go through the iomem resource tree to check if any of the ioremap() requests span more than any slot in the iomem resource tree and do a WARN_ON() if we hit this check. This will raise a red-flag, if some driver is mapping more than what is needed. And hopefully identify possible corruptions much earlier. Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit 92a5de80e5c53c56d098ea3cb6266138efd892f6 Author: Alexey Kopytko Date: Fri Sep 26 11:13:39 2008 +0900 [ARM] Orion: Add Buffalo Linkstation Mini power-off method This patch adds specific power-off method for Buffalo Linkstation Mini board. The board has a hardware switch which should be monitored from userspace. When the switch is in OFF position the board should be rebooted and U-Boot will start in an idle mode and wait for the user to move the power switch back to ON position. Signed-off-by: Alexey Kopytko Signed-off-by: Nicolas Pitre commit 01135d92c1a540cd3370f7cf3d1c762320b85034 Author: Russell King Date: Thu Sep 25 21:05:02 2008 +0100 [ARM] dma: Reduce to one dma_map_sg()/dma_unmap_sg() implementation No point having two of these; dma_map_page() can do all the work for us. Signed-off-by: Russell King commit 56f55f8b58a02e95b401cb50df05086cabeaeeb5 Author: Russell King Date: Thu Sep 25 20:59:12 2008 +0100 [ARM] dma: provide a better dma_map_page() implementation We can translate a struct page directly to a DMA address using page_to_dma(). No need to use page_address() followed by virt_to_dma(). Signed-off-by: Russell King commit c9da4bad5b80c3d9884e2c6ad8d2091252c32d5e Author: Roland Dreier Date: Thu Sep 25 15:26:15 2008 -0700 IPoIB: Fix crash when path record fails after path flush Commit ee1e2c82 ("IPoIB: Refresh paths instead of flushing them on SM change events") changed how paths are flushed on an SM event. This change introduces a problem if the path record query triggered by fails, causing path->ah to become NULL. A later successful path query will then trigger WARN_ON() in path_rec_completion(), and crash because path->ah has already been freed, so the ipoib_put_ah() inside the lock in path_rec_completion() may actually drop the last reference (contrary to the comment that claims this is safe). Fix this by updating path->ah and freeing old_ah only when the path record query is successful. This prevents the neighbour AH and that path AH from getting out of sync. This fixes Reported-by: Rabah Salem Debugged-by: Eli Cohen Signed-off-by: Roland Dreier commit 7b0a26f2ca0001a13473b874d52b3d557e3d7289 Author: Alexey Kopytko Date: Thu Sep 25 22:47:30 2008 +0900 [ARM] Orion: Add Buffalo Linkstation Mini support This patch adds support for Buffalo Linkstation Mini board. Signed-off-by: Alexey Kopytko Signed-off-by: Nicolas Pitre commit 4360bb41920ffacd4a935fa692768129ee5bef4e Author: Ronen Shitrit Date: Tue Sep 23 15:28:10 2008 +0300 [ARM] Kirkwood: add support for L2 cache WB/WT selection Feroceon L2 cache can work in eighther write through or write back mode on Kirkwood. Add the option to configure this mode according to Kconfig. Signed-off-by: Ronen Shitrit Signed-off-by: Nicolas Pitre commit 3d014b01e54ce08d15a598f0bfb3ce597f14ca03 Author: Albert Aribaud Date: Fri Sep 19 21:06:25 2008 +0200 [ARM] EDMINIV2: add support for LED and power button This patch provides standard GPIO LED control for the ED Mini V2, with software blinking only (CPLD hardware blinking capability is not used). This patch also provides status of the power button as a standard GPIO input event. Signed-off-by: Albert Aribaud Signed-off-by: Nicolas Pitre commit 2d0c9e735ab8413d3cf29576ab14e07f7aa8eab9 Author: Lennert Buytenhek Date: Sun Aug 31 07:39:19 2008 +0200 [ARM] Kirkwood: allow configuring mbus window for on-chip sram Signed-off-by: Lennert Buytenhek commit 3a64ebc9ce3d5a364b50fe78ca9c2c507b765784 Author: Ronen Shitrit Date: Sun Sep 14 20:30:27 2008 +0300 [ARM] Kirkwood: remove uart1 init calls for boards that don't expose uart1 Remove uart1 init calls for boards that use the physical pins onto which the UART1 signals are multiplexed for different purposes. Signed-off-by: Ronen Shitrit Signed-off-by: Lennert Buytenhek commit b2b3dc2fc41ef441610d0140f0f5ccacbd43f40c Author: Ronen Shitrit Date: Mon Sep 15 10:40:35 2008 +0300 [ARM] Kirkwood: add support for newer SoC models Add support to the Kirkwood port for newer device models and silicon revisions. Instead of looking at the DEVICE_ID register, the device version is now determined by looking at the PCI-Express device ID and revision registers, as it is done for orion5x, and this information is used to determine the TCLK frequency, again, as it is done for orion5x. Signed-off-by: Ronen Shitrit Signed-off-by: Lennert Buytenhek commit 79d4dd77f0d86e4315887edaa5dfabb0c2081ba7 Author: Ronen Shitrit Date: Mon Sep 15 00:56:38 2008 +0200 [ARM] Kirkwood: prepare for runtime-determined timer tick rate Currently, kirkwood uses a hardcoded timer tick rate of 166 MHz, but the actual timer tick rate varies between different members of the SoC family. This patch prepares for runtime determination of the timer tick rate. Signed-off-by: Ronen Shitrit commit 0b0740c3c120d1fd7b9a04f04ab79bee12c4cc38 Author: Lennert Buytenhek Date: Fri Aug 29 06:59:34 2008 +0200 [ARM] Orion: add RD88F6183AP-GE support The RD88F6183AP-GE is an access point reference design for the 88F6183 SoC, with a 88E6161 six-port gigabit ethernet switch with five PHYs (providing 1 WAN and 4 LAN ports and an interface to the CPU), and a mini-PCIe slot for a wireless card. Signed-off-by: Lennert Buytenhek commit d323ade13b959dfcf14bf18902b600c5cc711dea Author: Lennert Buytenhek Date: Fri Aug 29 06:55:06 2008 +0200 [ARM] Orion: add 88F6183 (Orion-1-90) support The Orion-1-90 (88F6183) is another member of the Orion SoC family, which has a 16 bit DDR2 interface, one x1 PCIe port (configurable as Root Complex or Endpoint), one 10/100/1000 ethernet interface, one USB 2.0 port with PHY, one SPDIF/I2S interface, one SDIO interface, one TWSI interface, two UARTs, one SPI interface, a NAND controller, a crypto engine, and a 4-channel DMA engine. Signed-off-by: Lennert Buytenhek commit 104ea0781a7052e03d731e2ff3df8bde66036bad Author: Sylver Bruneau Date: Thu Aug 28 22:18:54 2008 +0200 [ARM] Orion: add Buffalo Terastation Pro II/Live support This patch adds support for the Buffalo Terastation Pro II/Live. Signed-off-by: Sylver Bruneau Signed-off-by: Lennert Buytenhek commit 0eb66974c089547ed72fe4754076d3b1358b8614 Author: Christopher Moore Date: Fri Jul 18 00:25:10 2008 +0200 [ARM] Orion: add LaCie Ethernet Disk mini V2 support This patch adds support for the LaCie Ethernet Disk mini V2. Signed-off-by: Albert Aribaud Signed-off-by: Christopher Moore Signed-off-by: Lennert Buytenhek commit ebe35aff883496c07248df82c8576c3b6e84bbbe Author: Lennert Buytenhek Date: Fri Aug 29 05:55:51 2008 +0200 [ARM] Orion: prepare for runtime-determined timer tick rate Currently, orion5x uses a hardcoded timer tick rate of 166 MHz, but the actual timer tick rate varies between different members of the SoC family (and can vary based on strap pin settings). This patch prepares for runtime determination of the timer tick rate. Signed-off-by: Lennert Buytenhek commit 1f8081f539a80c3d36a17ecd094d104eae60c01c Author: Lennert Buytenhek Date: Tue Aug 26 16:04:05 2008 +0200 [ARM] mv78xx0: wire up ethernet error interrupt Wire up the ethernet port's error interrupt so that the mv643xx_eth driver can sleep for SMI event completion instead of having to busy-wait for it. Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit 144f814a439ff0b8ad62c51d74e56b490e651ded Author: Lennert Buytenhek Date: Tue Aug 26 16:04:05 2008 +0200 [ARM] Kirkwood: wire up ethernet error interrupt Wire up the ethernet port's error interrupt so that the mv643xx_eth driver can sleep for SMI event completion instead of having to busy-wait for it. Signed-off-by: Lennert Buytenhek commit eeff6d8600afa69fa06ef69a6ffe427b1189cef4 Author: Lennert Buytenhek Date: Tue Aug 26 16:01:21 2008 +0200 [ARM] Orion: wire up ethernet error interrupt Wire up the ethernet port's error interrupt so that the mv643xx_eth driver can sleep for SMI event completion instead of having to busy-wait for it. Signed-off-by: Lennert Buytenhek commit db4148da2cc84c31419b5e3ae3115ac6e11817a1 Merge: ef40a68... 8d09a5e... Author: David S. Miller Date: Thu Sep 25 13:16:16 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit ef40a685311bef053dedd833a72dffaf25669dda Author: David S. Miller Date: Thu Sep 25 13:06:59 2008 -0700 Revert "ehea: fix mutex and spinlock use" This reverts commit 2eefbd63d0c85daa1317636474c226e236beba81. On request by driver author and Jeff Garzik. Signed-off-by: David S. Miller commit afd1a321c49a250dab97cef6f2d3c3c9b9d0174a Author: Russell King Date: Thu Sep 25 16:30:57 2008 +0100 [ARM] Update dma_map_sg()/dma_unmap_sg() API Update the ARM DMA scatter gather APIs for the scatterlist changes. Signed-off-by: Russell King commit 8d1fb8cbaa74938d8c4379adb693d1d5f5c9e130 Author: Kumar Gala Date: Fri Aug 1 11:09:34 2008 -0500 serial/mpc52xx_uart: 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 commit 0ddbccd1187e12bf77e1f19d8b9dec700e09e734 Author: Russell King Date: Thu Sep 25 15:59:19 2008 +0100 [ARM] dma: rename consistent.c to dma-mapping.c Signed-off-by: Russell King commit 2b4ae1f1d2ae595ff2fc5597287881796e0e6bfc Author: Russell King Date: Thu Sep 25 15:39:20 2008 +0100 [ARM] Print details relevant to how we handle the cache This replaces the original cache type decoding printks. We now indicate how we're treating the cache which we found, rather than what we found. Signed-off-by: Russell King commit c0e9587841a0fd79bbf8296034faefb9afe72fb4 Author: Russell King Date: Thu Sep 25 15:35:28 2008 +0100 [ARM] Introduce new bitmask based cache type macros Rather than trying to (inaccurately) decode the cache type from the registers each time we need to decide what type of cache we have, use a bitmask initialized early during boot. Since the setup is a one-off initialization, we can be a little more clever and take account of the CPU architecture as well. Note that we continue to achieve the compactness on optimised kernels by forcing tests to always-false or always-true as appropriate, thereby allowing the compiler to do build-time code elimination. Signed-off-by: Russell King commit 90f1e084783be9bbff4861fa8e460b76de2787f4 Author: Russell King Date: Thu Sep 25 14:45:02 2008 +0100 [ARM] Remove cache type printks The cache type register found in ARMv5 and later CPUs changes format and meaning depending on the CPU architecture version. Currently, this code: a) doesn't work for everything - Xscale's are identified as 'unknown 5'. b) is not able to tell whether the caches are VIVT or VIPT from the cache type. c) prints rubbish on some ARMv6 and ARMv7+ CPUs. The two solutions to this are: 1. Add yet more code to decode and print the various different register formats. 2. Remove the code altogther. The code only exists to decode and print the cache parameters. Increasing the complexity of it just for the sake of a few prinks isn't worth it. Signed-off-by: Russell King commit 73b610affe0b24ecb808ef68a1b0a436a4cf7bd5 Author: Russell King Date: Thu Sep 25 13:35:27 2008 +0100 [ARM] pxa: remove references to pxa_gpio_mode() in comments Signed-off-by: Russell King commit a3927471c65b5ca94da853a1a46ec5db4609c502 Author: Russell King Date: Thu Sep 25 13:30:07 2008 +0100 [ARM] pxa: avoid needless pxa_gpio_mode() during resume The pin configurations are restored early on during resume. There's no need for drivers to re-affirm the gpio modes. Signed-off-by: Russell King commit b87f17242da6b2ac6db2d179b2f93fb84cff2fbe Author: Bharata B Rao Date: Thu Sep 25 09:53:54 2008 +0530 sched: maintain only task entities in cfs_rq->tasks list cfs_rq->tasks list is used by the load balancer to iterate over all the tasks. Currently it holds all the entities (both task and group entities) because of which there is a need to check for group entities explicitly during load balancing. This patch changes the cfs_rq->tasks list to hold only task entities. Signed-off-by: Bharata B Rao Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit f6476774f1fe32593d3d71903b1e98514efbf685 Author: Bill Nottingham Date: Wed Sep 24 14:35:17 2008 -0400 x86_64: be less annoying on boot Remove mostly useless message on every boot. Signed-off-by: Bill Nottingham Signed-off-by: Ingo Molnar commit b4ffb0edf4ed9cef77031dceeaa21d1b66076600 Author: Russell King Date: Thu Sep 25 10:12:25 2008 +0100 [ARM] Update mach-types Signed-off-by: Russell King commit 1615965e54eb94d7bcd298d2163739bd79f602d4 Author: FUJITA Tomonori Date: Wed Sep 24 22:41:10 2008 +0900 x86 gart: remove unnecessary initialization There is no point to have such initialization in struct dma_mapping_ops. Signed-off-by: FUJITA Tomonori Signed-off-by: Ingo Molnar commit 1d990882153f36723f9e8717c4401689e64c7a36 Author: FUJITA Tomonori Date: Wed Sep 24 20:48:37 2008 +0900 x86: restore old GART alloc_coherent behavior Currently, GART alloc_coherent tries to allocate pages with GFP_DMA32 for a device having dma_masks > 24bit < 32bits. If GART gets an address that a device can't access to, GART try to map the address to a virtual I/O address that the device can access to. But Andi pointed out, "The GART is somewhere in the 4GB range so you cannot use it to map anything < 4GB. Also GART is pretty small." http://lkml.org/lkml/2008/9/12/43 That is, it's possible that GART doesn't have virtual I/O address space that a device can access to. The above behavior doesn't work for a device having dma_masks > 24bit < 32bits. This patch restores old GART alloc_coherent behavior (before the alloc_coherent rewrite). Signed-off-by: FUJITA Tomonori Signed-off-by: Ingo Molnar commit ecef533ea68b2fb3baaf459beb2f802a240bdb16 Author: FUJITA Tomonori Date: Wed Sep 24 20:48:36 2008 +0900 revert "x86: make GART to respect device's dma_mask about virtual mappings" This reverts: commit bee44f294efd8417f5e68553778a6cc957af1547 Author: FUJITA Tomonori Date: Fri Sep 12 19:42:35 2008 +0900 x86: make GART to respect device's dma_mask about virtual mappings I wrote the above commit to fix a GART alloc_coherent regression, that can't handle a device having dma_masks > 24bit < 32bits, introduced by the alloc_coherent rewrite: http://lkml.org/lkml/2008/8/12/200 After the alloc_coherent rewrite, GART alloc_coherent tried to allocate pages with GFP_DMA32. If GART got an address that a device can't access to, GART mapped the address to a virtual I/O address. But GART mapping mechanism didn't take account of dma mask, so GART could use a virtual I/O address that the device can't access to again. Alan pointed out: " This is indeed a specific problem found with things like older AACRAID where control blocks must be below 31bits and the GART is above 0x80000000. " The above commit modified GART mapping mechanism to take care of dma mask. But Andi pointed out, "The GART is somewhere in the 4GB range so you cannot use it to map anything < 4GB. Also GART is pretty small." http://lkml.org/lkml/2008/9/12/43 That means it's possible that GART doesn't have virtual I/O address space that a device can access to. The above commit (to modify GART mapping mechanism to take care of dma mask) can't fix the regression reliably so let's avoid making GART more complicated. We need a solution that always works for dma_masks > 24bit < 32bits. That's how GART worked before the alloc_coherent rewrite. Signed-off-by: FUJITA Tomonori Acked-by: Joerg Roedel Acked-by: Alan Cox Signed-off-by: Ingo Molnar commit 9f6ac57729724b58df81ca5dc005326759a806fe Author: FUJITA Tomonori Date: Wed Sep 24 20:48:35 2008 +0900 x86: export pci-nommu's alloc_coherent This patch exports nommu_alloc_coherent (renamed dma_generic_alloc_coherent). GART needs this function. Signed-off-by: FUJITA Tomonori Signed-off-by: Ingo Molnar commit da1a3dc0ebb4f9209a1939eaa6b18901e0cd7bc0 Author: Eric Miao Date: Thu Sep 11 10:43:02 2008 +0800 [ARM] pxa: introduce cpu_is_pxa26x() PXA26x (PXA261/262) is actually a PXA250 with stacked Intel(R) StartaFlash. And this can be decided by bit 3 (PKG_TYPE) of BOOT_DEF register. Due to this extra I/O register access, make cpu_is_pxa26x() a public function instead of a macro. Signed-off-by: Eric Miao Signed-off-by: Russell King commit 0ffcbfd54ea81ca24c0749f55ca4fcf3e2bdc23e Author: Eric Miao Date: Thu Sep 11 10:27:30 2008 +0800 [ARM] pxa: make cpu_is_pxa2* macros more consistent 1. add a CPUID table in the comment 2. make cpu_is_pxa25x() true for PXA210/250/255/26x 3. PXA210 is treated as PXA25x, all related code modified to reflect this Signed-off-by: Eric Miao Signed-off-by: Russell King commit 2b12797c59d60379858050255046dacfbee68a8b Author: Eric Miao Date: Thu Sep 11 10:25:59 2008 +0800 [ARM] pxa: merge common cpu_is_pxa255() code together Signed-off-by: Eric Miao Signed-off-by: Russell King commit fec12a62d74dc93a36c9ce1c3bce9ba045e44846 Author: Eric Miao Date: Fri Sep 19 02:15:08 2008 +0800 Documentation: fix the now deprecated reference to {set,reset}_scoop_gpio Due to recent patches removing the now deprecated references to {set,reset}_scoop_gpio() and converting them to the generic GPIO API, the references in the documentation also need to be fixed. Signed-off-by: Eric Miao Cc: Liam Girdwood Signed-off-by: Russell King commit ff7a4c7130c0ad97d55f7ab3f0a35fbc1f41b376 Author: Eric Miao Date: Sun Sep 7 11:30:06 2008 +0800 [ARM] corgi_lcd: use GPIO API for BACKLIGHT_ON and BACKLIGHT_CONT Signed-off-by: Eric Miao Signed-off-by: Russell King commit 4694d2391221e14fe671602fe34ea7f24f5a561f Author: Hiroshi Shimamoto Date: Wed Sep 24 19:13:29 2008 -0700 x86: signal_32.c: introduce macro ia32_setup_frame and ia32_setup_rt_frame Make 32-bit setup_rt_frame() look like 64-bit version for unification. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 455edbc423db282bb64dec2d7c8968498ea8e619 Author: Hiroshi Shimamoto Date: Wed Sep 24 19:13:11 2008 -0700 x86: signal: introduce helper macro is_ia32 Introduce new macro is_ia32 for unification of setup_rt_frame(). No effect in binary, compiler will optimize. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit b94fd69827b2104a2a4d9d0bc05a8e908a937ae8 Author: Hiroshi Shimamoto Date: Wed Sep 24 19:12:54 2008 -0700 x86: signal_64.c: introduce helper function signr_convert() This helper function is for unification of setup_rt_frame(). No effect in binary. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 8d8c13bdb53977319593d9efc4971a4cacc8bd03 Author: Hiroshi Shimamoto Date: Wed Sep 24 19:10:29 2008 -0700 x86: signal_32.c: introduce signr_convert() Introduce signr_convert(). This function will help unification of setup_rt_frame(). Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 630b25cdf4e3f8c0a11eb04fc8436cc36653cd58 Author: Brandeburg, Jesse Date: Tue Sep 16 13:01:28 2008 -0700 e1000: remove unused Kconfig option for disabling packet split Since the e1000/e1000e split, no hardware supported by e1000 supports packet split, just remove the Kconfig option and associated code from the driver. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Garzik commit b22596726bd37c7a4df4a43406a9a60f617d3d02 Author: Ben Dooks Date: Sun Sep 14 16:56:12 2008 +0100 drivers/net/bonding: sparse fixes for exported tables The following sparse warnings are being generated because bonding.h is missing definitons for items declared in bond_main.c but also used in bond_sysfs.h Also export bond_dev_list as this is also declared in bond_main but used elsewhere in drivers/net/bonding. bond_main.c:105:20: warning: symbol 'bonding_defaults' was not declared. Should it be static? bond_main.c:148:1: warning: symbol 'bond_dev_list' was not declared. Should it be static? bond_main.c:162:22: warning: symbol 'bond_lacp_tbl' was not declared. Should it be static? bond_main.c:168:22: warning: symbol 'bond_mode_tbl' was not declared. Should it be static? bond_main.c:179:22: warning: symbol 'xmit_hashtype_tbl' was not declared. Should it be static? bond_main.c:186:22: warning: symbol 'arp_validate_tbl' was not declared. Should it be static? bond_main.c:194:22: warning: symbol 'fail_over_mac_tbl' was not declared. Should it be static? Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit be61ea52900b97800effbb68478915d73b5d4df2 Author: Weiwei Wang Date: Thu Sep 18 08:23:48 2008 +0800 [netdrvr] convert sbmac tx to spin_lock_irqsave to prevent early IRQ enable Netpoll will call the interrupt handler with interrupts disabled when using kgdboe, so spin_lock_irqsave() should be used instead of spin_lock_irq() to prevent interrupts from being incorrectly enabled. Signed-off-by: Weiwei Wang Signed-off-by: Jeff Garzik commit 315781408ef4a6ff831f8fd37c90d4bb7c234853 Author: Kumar Gala Date: Mon Sep 22 14:52:18 2008 -0700 fs-enet: 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. With this change the pre_request_irq() and post_free_irq() calls became nops so they have been removed. Also removed fs_request_irq() and fs_free_irq() and just called request_irq() and free_irq(). Signed-off-by: Kumar Gala Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Jeff Garzik Cc: Scott Wood Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 83dad4c3773b2be110f9ab0c9031e6129bd2e294 Author: Kumar Gala Date: Mon Sep 22 14:52:19 2008 -0700 netdev: drop CONFIG_PPC_MERGE from Kconfig Now that arch/ppc is dead CONFIG_PPC_MERGE is always defined for all powerpc platforms so we don't need to depend on it. Signed-off-by: Kumar Gala Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Josh Boyer Cc: David Gibson Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit e2f092ff9bf2ab515c14d2208b5f08c7d389d5d2 Author: Jay Cliburn Date: Sat Sep 20 17:37:05 2008 -0500 atl2: add tx bytes statistic Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit 1545e205db6e797861d644e3459339109f7573ff Author: Ayaz Abdulla Date: Mon Sep 22 09:55:35 2008 -0400 forcedeth fix: take phy out of reset during power up This patch will add the phy reset bit into the power up mask which is used during power up. Certain BIOSes will place the phy in reset and therefore the driver must take the phy out of reset when it loads. Signed-off-by: Ayaz Abdulla Signed-off-by: Jeff Garzik commit 6c2a9efadec464f848b18216e41783d3c01c7d10 Author: Frans Pop Date: Mon Sep 22 14:52:22 2008 -0700 e1000e: avoid duplicated output of device name in kernel warning With 2.6.27-rc3 I noticed the following messages in my boot log: 0000:01:00.0: 0000:01:00.0: Warning: detected DSPD enabled in EEPROM 0000:01:00.0: eth0: (PCI Express:2.5GB/s:Width x1) 00:16:76:04:ff:09 The second seems correct, but the first has a silly repetition of the PCI device before the actual message. The message originates from e1000_eeprom_checks in e1000e/netdev.c. With this patch below the first message becomes e1000e 0000:01:00.0: Warning: detected DSPD enabled in EEPROM which makes it similar to directly preceding messages. Use dev_warn instead of e_warn in e1000_eeprom_checks() as the interface name has not yet been assigned at that point. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Frans Pop Signed-off-by: Jeff Kirsher Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit a4e77d063d61e4703db813470fefe90dac672b55 Author: Jie Yang Date: Mon Sep 22 14:52:25 2008 -0700 atl1e: remove the unneeded (struct atl1e_adapter *) Remove the unneeded (struct atl1e_adapter *) casts, for hw->adapter already has type atl1e_adapter *. Signed-off-by: Jie Yang Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit ac7198bb124e7007cfd48990d382678341886dba Author: Andy Fleming Date: Mon Sep 22 14:10:25 2008 -0700 gianfar: free/iounmap memory after an error in mii bus initialization Recent changes to MII bus initialization code added exit points which didn't free or iounmap the bus before returning. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=11372. Signed-off-by: Andy Fleming Reported-by: Daniel Marjamki Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit fbb80230bf1c1dcc81339e991b172006243333e9 Author: David Fries Date: Mon Sep 22 14:10:20 2008 -0700 ne.c: fix rmmod, platform driver improvements Removing the module would cause a kernel oops as platform_driver_probe failed to detect a device and unregistered the platform driver on module init, and cleanup_module would unregister the already unregistered driver. The suspend and resume functions weren't being called. platform_driver support was added earlier, but without any platform_device_register* calls I don't think it was being used. Now all devices are registered using platform_device_register_simple and pointers are kept to unregister the ones that the probe failed for or unregister all devices on module shutdown. init_module no longer calls ne_init to reduce confusion (and multiple unregister paths that caused the rmmod oops). With the devices now registered they are added to the platform driver and get suspend and resume events. netif_device_detach(dev) was added before unregister_netdev(dev) when removing the region as occationally I would see a race condition where the device was still being used in unregister_netdev. Signed-off-by: David Fries Cc: Atsushi Nemoto Cc: Paul Gortmaker Cc: Alan Cox Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit baac03d9bb7b8aa3c33a2dbf5f459ea6ce8abaf4 Author: Trent Piepho Date: Mon Sep 22 10:03:56 2008 -0700 gianfar: Fix error in mdio reset timeout The loop with the timeout used "while (... && timeout--)", which means than when the timeout occurs, "timeout" will be -1 after the loop has exited. The code that checks if the looped exited because of a timeout used "if (timeout <= 0)". Seems ok, except timeout is unsigned, and (unsigned)-1 isn't less than zero! Using "--timeout" in the loop fixes this problem, as now "timeout" will be 0 when the loop times out. This also fixes a bug in the existing code, where it will erroneously think a timeout occurred if the condition the loop was waiting for is satisfied on the final iteration before a timeout. Signed-off-by: Trent Piepho Acked-by: Andy Fleming Signed-off-by: Jeff Garzik commit 2e2e8d53c3f34684af7a7475098b7524a6b854c2 Author: Bruce Allan Date: Tue Sep 23 15:46:38 2008 -0700 e1000e: remove failed request for sw/fw/hw flag When the driver fails to acquire the control flag used to serialize NVM and PHY accesses between the driver, firmware and hardware, remove the request for the flag otherwise the hardware might grant the flag when it becomes available but the driver will not release the flag. This could cause the firmware to prevent the driver getting the flag for all future attempts. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 4b75a442d2affb2ed20422054b1c640bd3b9c36a Author: Scott Feldman Date: Wed Sep 24 11:23:53 2008 -0700 enic: bug fix: don't set netdev->name too early Bug fix: don't set netdev->name early before netdev registration. Setting netdev->name early with dev_alloc_name() would occasionally cause netdev registration to fail returning error that device was already registered. Since we're using netdev->name to name MSI-X vectors, we now need to move the request_irq after netdev registartion, so move it to ->open. Signed-off-by: Scott Feldman Signed-off-by: Jeff Garzik commit 8f4d248cb7c1873275608f267e525e08bcbd543b Author: Scott Feldman Date: Wed Sep 24 11:23:42 2008 -0700 enic: Bug fix: Free MSI intr with correct data handle Bug fix: Free MSI intr with correct data handle Use davem proposed naming for MSI-X tx/rx vectors (ethX-tx-0, ethX-rx-0) Signed-off-by: Scott Feldman Signed-off-by: Jeff Garzik commit 25f0a061d9e491c4b17976065443271e2ddd383f Author: Scott Feldman Date: Wed Sep 24 11:23:32 2008 -0700 enic: fixes for review items from Ben Hutchings Fixes for review items from Ben Hutchings: - use netdev->net_stats rather than private net_stats - use ethtool op .get_sset_count rather than .get_stats_count - err out if setting Tx/Rx csum or TSO using ethtool and setting is not enabled for device. - pass in jiffies + constant to round_jiffies - return err if new MTU is out-of-bounds Signed-off-by: Scott Feldman Signed-off-by: Jeff Garzik commit d9c3c57ffc23b562a6ef8da794fc9702e1c3b328 Author: Scott Feldman Date: Wed Sep 24 11:23:22 2008 -0700 enic: Don't indicate IPv6 pkts using soft-LRO LRO is only applied to IPv4 pkts, so don't use the LRO indication functions for anything other IPv4 pkts. Every non-IPv4 pkt is indicated using non- LRO functions. Signed-off-by: Scott Feldman Signed-off-by: Jeff Garzik commit 3b060be0582373be3c380629d7a6de5f06a311ed Author: Florian Fainelli Date: Wed Sep 24 21:16:40 2008 +0200 r6040: fix wrong assignment in r6040_free_txbufs This patch fixes a wrong assignment in r6040_free_txbufs on a receive skb pointer while we should actually do this on the transmit skb pointer. Signed-off-by: Florian Fainelli Signed-off-by: Jeff Garzik commit 28a7e4c906bd86419eb8572b3b1343e619cd1470 Author: Ursula Braun Date: Fri Sep 19 12:56:03 2008 +0200 qeth: avoid qeth recovery problems Do not touch IFF_UP flag during qeth recovery, but invoke dev_close() in case of failing recovery. Cancel outstanding control commands in case of Data Checks or Channel Checks. Do not invoke qeth_l2_del_all_mc() in case of a hard stop to speed up removal of qeth devices. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit f1d58672de4e89478e0b02ea8fd1f60eb0626457 Author: Ursula Braun Date: Fri Sep 19 12:56:02 2008 +0200 qeth: use firmware MAC-address for layer2 hsi-devices Real HiperSocket devices in layer2 mode have a firmware-created MAC-address. This change enables the qeth driver to use this firmware MAC-address for layer2 HiperSocket devices. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit ae19161e28a7b48d2752eff3ac8eb7703986c313 Merge: 152cbcf... 042af53... Author: Jeff Garzik Date: Wed Sep 24 20:40:52 2008 -0400 Merge branch 'for-2.6.28' of git://git.marvell.com/mv643xx_eth into upstream-next commit 152cbcf94baec68b45832db5024184906ab798b1 Merge: 96ca4a2... fa53eba... Author: David S. Miller Date: Wed Sep 24 16:09:13 2008 -0700 Merge branch 'davem-next' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit fa53ebac42d3de04619c813f5f6628ca2a7ce97f Author: Stephen Hemminger Date: Sat Sep 13 21:17:09 2008 -0400 bonding: add more ethtool support This patch allows reporting the link, checksum, and feature settings of bonded device by using generic hooks. Signed-off-by: Stephen Hemminger Acked-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit ec68db6930635b25ef5ba4983053635f5b4bf35e Author: Dhananjay Phadke Date: Wed Aug 20 13:52:48 2008 -0700 netxen: enable msi-x for quad-gig boards NX3031 firmware now supports MSI-X interrupts on Quad GbE boards. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit 5050015597efb5e52a0b21e30a8adb2f7d7b7fba Author: Dan Nicholson Date: Wed Aug 20 16:51:59 2008 -0700 sundance: set carrier status on link change events Check if the link is available when a changed interrupt has been received and set the carrier status appropriately. The code is copied nearly verbatim from the dl2k module. The link status could be used in more places in the driver, but this is enough to get the carrier status reported to userspace. Fixes kernel bug #7487: http://bugzilla.kernel.org/show_bug.cgi?id=7487 [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Dan Nicholson Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit b39d66a81fb4f5ab555f86a2e49f3714f8369a3d Author: Harvey Harrison Date: Wed Aug 20 16:52:04 2008 -0700 drivers/net: replace __FUNCTION__ with __func__ __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit b514f6b6da3aedcf4eb6f0c69e910ae89ef4632f Author: Hannes Hering Date: Fri Sep 5 16:38:22 2008 +0200 ehea: Enable DLPAR memory remove This patch adds the capability flag to the capability list for dynamic LPAR memory remove to enable this feature. Signed-off-by: Hannes Hering Signed-off-by: Jeff Garzik commit 8ef5ba63b94b04b182ac4a6009dbbf1406beb3c5 Author: Denis Joseph Barrow Date: Fri Sep 5 17:12:07 2008 +0200 [netdrvr] usb/hso: throttle to prevent loss of serial data Patch to stop loss of characters on the hso modems, this patch throttles & unthrottles the modem by not putting out urbs until the tty/line discipline layer has enough space for newly received packets. serial ports. This is required for firmware diagnostics being done at Option. Signed-off-by: Denis Joseph Barrow Signed-off-by: Jeff Garzik commit ead7b9406c252014175bdf7c6c31894edfa0d1fa Author: Brice Goglin Date: Sat Sep 13 22:42:07 2008 +0200 myri10ge: use DCA if DCA is compiled as a module Use DCA in myri10ge when CONFIG_DCA_MODULE is set as well. And thus force INTEL_IOATDMA to =y so that DCA=y if we are =y. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit 004f23b9d3874efc81d2d1cf18fd0fe48dc2f26f Author: Divy Le Ray Date: Thu Sep 4 22:34:13 2008 -0700 cxgb3 - remove duplicate tests in lro The generic lro code checks TCP flags/options. Remove duplicate tests done in the driver. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit b73724921d906d1642f9f6d054079c6b095903fe Author: Francois Romieu Date: Sat Sep 13 15:04:38 2008 +0200 r8169: select MII in Kconfig drivers/built-in.o: In function `rtl8169_gset_xmii': r8169.c:(.text+0x82259): undefined reference to `mii_ethtool_gset' Signed-off-by: Hugh Dickins Acked-by: Francois Romieu Cc: Edward Hsu Signed-off-by: Jeff Garzik commit 2eefbd63d0c85daa1317636474c226e236beba81 Author: Sebastien Dugue Date: Thu Sep 11 15:34:40 2008 +0200 ehea: fix mutex and spinlock use Looks like to me that the ehea_fw_handles.lock mutex and the ehea_bcmc_regs.lock spinlock are taken much longer than necessary and could as well be pushed inside the functions that need them (ehea_update_firmware_handles() and ehea_update_bcmc_registrations()) rather than at each callsite. Signed-off-by: Sebastien Dugue Signed-off-by: Jeff Garzik commit d100ba33f8d2c4dbb53b05f5ac49c39a0dd9dd76 Author: Jesse Brandeburg Date: Thu Sep 11 20:06:15 2008 -0700 ixgbe: fix DCA dependency in Kconfig ixgbe can depend on dca IF it is enabled. So if we are compiled as IXGBE=y, and DCA is enabled, then we must force INTEL_IOATDMA and therefore DCA to be =y also. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 69888674738db42dd73430ebc59a691010c8fa2e Author: Alexander Duyck Date: Thu Sep 11 20:05:39 2008 -0700 ixgbe: whitespace/formatting cleanup This patch cleans up some whitespace items, reorders a couple of functions, and removes some outdated comments. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit b3c8b4ba619f3d461e01c27cdda02adcd48f02d4 Author: Alexander Duyck Date: Thu Sep 11 20:04:56 2008 -0700 ixgbe: correctly add and remove napi queues This patch corrects support for NAPI so that queues are correctly added and removed during suspend/resume in the event that the number of MSI-X vectors changes. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit b46172402f39719e97b921cc3ca85141f3e8b1c2 Author: Peter P Waskiewicz Date: Thu Sep 11 20:04:46 2008 -0700 ixgbe: Whitespace, copyright update and version number change patch This patch cleans up a bit of whitespace issues with the driver, updates the copyright information, and bumps the version number up. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 51ac6445b108abab5e5ebeb5e68665d4509a6f29 Author: Jeff Kirsher Date: Thu Sep 11 20:03:55 2008 -0700 ixgbe: bump version Signed-off-by: Jeff Kirsher Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Garzik commit 9f8cdf4f06f81c7e21689b01bee0439fe9ae1966 Author: Jesse Brandeburg Date: Thu Sep 11 20:03:35 2008 -0700 ixgbe: xmit frame refactor ixgbe_xmit_frame can be refactored to use fewer locals and better utilize common kernel macros. also fixed minor buglet with internal to driver vlan flag variable being passed incorrectly. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 74ce8dd29be934c30d7874276cdb3dfffbf2bc80 Author: Jesse Brandeburg Date: Thu Sep 11 20:03:23 2008 -0700 ixgbe: lower stack space usage some functions were un-necessarily using local variables. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 2adc0511a3126e392aa390cd203e8c3d4603e2c6 Author: Jesse Brandeburg Date: Thu Sep 11 20:03:00 2008 -0700 ixgbe: cleanup defines Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit b9804972f52c2e6d60ddfa3a892c3628ed0aa846 Author: Jesse Brandeburg Date: Thu Sep 11 20:00:29 2008 -0700 ixgbe: move set_num_queues and call it after msix failure This is partial preparation for a future patch which will extend ixgbe_set_num_queues Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 7f8218752a76bb1f70b5e4e918f49bc5bf33275a Author: Jesse Brandeburg Date: Thu Sep 11 20:00:16 2008 -0700 ixgbe: refresh the ixgbe_down function clean up the hardware shutdown sequence to prevent hardware from continuing to send when resetting or unloading. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit c44ade9ef8ffd73cb8b026065ade78bc0040f0b4 Author: Jesse Brandeburg Date: Thu Sep 11 19:59:59 2008 -0700 ixgbe: update to latest common code module This is a massive update that includes infrastructure for further patches where we will add support for more phy types and eeprom types. This code is shared as much as possible with other drivers, so the code may seem a little obtuse at times but wherever possible we keep to the linux style and methods. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit f08482766b7e3c0b2aaac4b68b30f33a91703aa3 Author: Jesse Brandeburg Date: Thu Sep 11 19:59:42 2008 -0700 ixgbe: add clean rx many routine in some configurations there can be more than one rx queue per vector in msi-x mode. Add functionality to be able to clean this without changing the performance path single-rx-queue cleanup. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit f6af803f0b7c8e46d72156b042e105b4d481b6c3 Author: Jesse Brandeburg Date: Thu Sep 11 19:59:29 2008 -0700 ixgbe: lro stats were not counted on first ethtool -Scall Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit c431f97ef96026e6da7032a871a0789cf5a2eaea Author: Jesse Brandeburg Date: Thu Sep 11 19:59:16 2008 -0700 ixgbe: fix ring reallocation in ethtool changing ring sizes in ethtool needs to be robust. If an allocation fails the driver must continue operation, with the previous settings. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit b95f5fcb8ba6073a652927d232a7a7cb552afe62 Author: Jesse Brandeburg Date: Thu Sep 11 19:58:59 2008 -0700 ixgbe: add device support for XF LR adapters Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 762f4c57105853d1cbad3b96ef18aa23beff3db2 Author: Jesse Brandeburg Date: Thu Sep 11 19:58:43 2008 -0700 ixgbe: recycle pages in packet split mode most of the time we only need 1500 bytes for a packet which means we don't need a whole 4k page for each packet. Share the allocation by using a reference count to the page and giving half to two receive descriptors. This can enable us to use packet split mode all the time due to the performance increase of allocating half the pages. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit ff819cfb5d95c4945811f5e33aa57274885c7527 Author: Jesse Brandeburg Date: Thu Sep 11 19:58:29 2008 -0700 ixgbe: fix bug with lots of tx queues when using more than 8 tx queues you can overrun the 8 bit v_idx field, so change it to 16 bits to represent the maximum number of queues (one for each bit) Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 30efa5a363d18f1c284455879cb67fb1bf547bdc Author: Jesse Brandeburg Date: Thu Sep 11 19:58:14 2008 -0700 ixgbe: fix initial interrupt throttle settings ixgbe was incorrectly setting the throttle rate setting for all tx queues and the driver has been refreshed to better handle a dynamic interrupt mode as well as multiple queues. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Garzik commit 3d3d6d3cc2ad1e77516f3ad3f79d5988ebc361cf Author: Jesse Brandeburg Date: Thu Sep 11 19:57:17 2008 -0700 ixgbe: fix ethtool disable csum for ipv6 ethtool was not disabling the correct netif flags when setting checksum disable. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 05857980cf15d96dd9eb47dd444b0634f436ba34 Author: Jeff Kirsher Date: Thu Sep 11 19:57:00 2008 -0700 ixgbe: fix pci_resource allocation as in other drivers Form: Jesse Brandeburg Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 98c00a1c5de23295aebe7e46a61d85e05ee82855 Author: Jesse Brandeburg Date: Thu Sep 11 19:56:41 2008 -0700 ixgbe: fix ethtool register dump 1) reading some of the registers in our hardware causes them to clear, so don't read ICR in the ethtool register dump function. 2) several register iterators were not iterating Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 42c783c5b1b755ae2ab2dec720ad58ffc2257a60 Author: Jesse Brandeburg Date: Thu Sep 11 19:56:28 2008 -0700 ixgbe: limit small mtu to minimum for ipv4 support Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit f47cf66e9cc778d21533c681e89b4034ed2d8666 Author: Jesse Brandeburg Date: Thu Sep 11 19:56:14 2008 -0700 ixgbe: fix bug with shared interrupts fix ixgbe bug reported with shared legacy interrupts Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 41fb924866128fbb3fe15aafe7becc7d5ce4504f Author: Jesse Brandeburg Date: Thu Sep 11 19:55:58 2008 -0700 ixgbe: link change interrupt was not causing link event Upon review a buglet was found where link change was not causing an immediate link change event as it should. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit cf8280ee7be3aaf44d32e389f15c725b850e5e32 Author: Jesse Brandeburg Date: Thu Sep 11 19:55:32 2008 -0700 ixgbe: Update watchdog thread to accomodate longerlink_up events This patch updates the link_up code and watchdog thread so that link_up doesn't cause stack overflows due to long waits in interrupt context. Signed-off-by: Jesse Brandeburg Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit ce94bf469edf84228771b58489944cf654aeb496 Author: Jesse Brandeburg Date: Thu Sep 11 19:55:14 2008 -0700 ixgbe: fix multicast address update after the most recent patches, the driver was not using the correct iterator for updating the receive address registers (RAR) Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit a1f96ee7cce0dce583ff2f32de6376495ef51e4d Author: Jesse Brandeburg Date: Thu Sep 11 19:54:48 2008 -0700 ixgbe: fix dca defines to not have spaces Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit af72166f31662850e10d1d1c734654efb2ae4357 Author: Jesse Brandeburg Date: Thu Sep 11 19:54:23 2008 -0700 ixgbe: fix bug where using wake queue instead of start Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 040dec3b37e4b9ec15b359bf5744f1ceba39fe3e Author: Dhananjay Phadke Date: Fri Sep 12 06:55:14 2008 -0700 netxen: add pci ids Define old and new pci vendor and device ids. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit 9a6b3b544082907760fa36f54f9300969f31870b Author: Brice Goglin Date: Fri Sep 12 19:48:06 2008 +0200 myri10ge: Rename DCA-related firmware counters Rename the cryptic "dca_capable" to "dca_capable_firmware" and "dca_enabled" to "dca_device_present" in the firmware counters. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit 330554cb9b666a9932785cc3391f3444293ef19b Author: Brice Goglin Date: Fri Sep 12 19:47:26 2008 +0200 myri10ge: Stop scaring people when DCA is built but absent Stop scaring people with what looks like a fatal message when DCA support is compiled into their kernel, but the DCA device is not present. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit 7fb614bcc7136875c436a8866072fae23bbd2a0c Author: Magnus Damm Date: Mon Sep 8 14:03:16 2008 +0900 smc911x: remove duplicate debug printout Remove duplicated debug printout. Signed-off-by: Magnus Damm Signed-off-by: Jeff Garzik commit c1d69937ee5818bcde3bed8c012c9f07d60e492e Author: Florian Fainelli Date: Wed Sep 3 16:50:03 2008 +0200 r6040: fix bad usage of udelay This patch fixes the bad usage of udelay(5000), which in turns is a mdelay(5). It causes compilation for ARM where udelay maximum value is checked. Reported-by: Martin Michlmayr Signed-off-by: Florian Fainelli Signed-off-by: Jeff Garzik commit 31b760202a0911384fa07796df9d1905e9e89a7f Author: Ben Hutchings Date: Wed Sep 3 15:37:01 2008 +0100 sfc: Fix type of FALCON_SPI_MAX_LEN FALCON_SPI_MAX_LEN has type size_t while other SPI lengths have type unsigned int. This results in warnings from min() on 64-bit architectures where they are different. Add a cast to make it match. From: Steve Hodgson Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 13e9ab11430c4bdc4b6bb97e3d3821ebdc043712 Author: Ben Hutchings Date: Mon Sep 1 12:50:28 2008 +0100 sfc: Use CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS where appropriate For some buffers we use a starting offset of either NET_IP_ALIGN or 0 depending on whether we believe the architecture supports efficient access to unaligned words. There is now a config macro specifying whether this is the case, so check that rather than checking for specific architectures. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 951f46a1a2c891479565f2c2c950a951f65fd59f Author: Ben Hutchings Date: Mon Sep 1 12:50:18 2008 +0100 sfc: Remove obsolete comment about PCI modes Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 0a62f1a681006719c226a682dbcfb4358c8b3d28 Author: Ben Hutchings Date: Mon Sep 1 12:50:14 2008 +0100 sfc: Disable interrupts after a fatal interrupt occurs until reset This should avoid an interrupt storm, which has been observed in the field with one faulty board. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 1d0680fd6235e0aa5baf14a8f1ff85eff9dc1fb3 Author: Ben Hutchings Date: Mon Sep 1 12:50:08 2008 +0100 sfc: Insert read memory barrier after checking MAC statistics flag This prevents speculative reading of the statistics before the completion flag. From: Neil Turton Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit a620e134e989b7ce683574039fc7cb956aa58970 Author: Ben Hutchings Date: Mon Sep 1 12:50:01 2008 +0100 sfc: Stop generating bogus events in tenxpress_check_hw() mdio_clause45_links_ok() correctly checks efx_phy_mode_disabled(), so tenxpress_link_ok() doesn't need to. From: Steve Hodgson Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 94be0c5424b7871e0411b71c12c28b2fd8e8564c Author: Steve Hodgson Date: Mon Sep 1 12:49:54 2008 +0100 sfc: Don't include net_driver.h from falcon_io.h Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 6bc5d3a9334401d788e1adf8b71add211265bc8b Author: Ben Hutchings Date: Mon Sep 1 12:49:37 2008 +0100 sfc: Make queue flushes more reliable Increase the potential retry count for RX flushes from 5 to 100. Stop polling the RX_DESC_PTR_TBL to infer that a flush might have happened. Instead absolutely rely on the flush events, unless bug 7803 applies (Falcon rev A only). To keep things quick, request flushes for every TX and RX queue up front, and match up the events to requests. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 92ade881b2fcfc2744d3de43d172d3ec8e13afd7 Author: Steve Hodgson Date: Mon Sep 1 12:49:29 2008 +0100 sfc: Don't use EFX_OWORD_FIELD on an event (64-bit, quad-word) Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit c8fcc49c542a2312c706ebf76dcfe5266b39ee13 Author: Ben Hutchings Date: Mon Sep 1 12:49:25 2008 +0100 sfc: Serialise tenxpress_special_reset() with statistics fetches On some boards 10Xpress feeds a 156 MHz clock to the Falcon XMAC. MAC statistics DMA can fail while this clock is stopped during a PHY reset. From: Steve Hodgson Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit ef08af03ef85373901a2ca0241617e6e7e42685d Author: Ben Hutchings Date: Mon Sep 1 12:49:20 2008 +0100 sfc: Remove workaround for old firmware bug There was a bug in XAUI synchronisation in early 10Xpress firmware versions. This is fixed in released firmware and we do not need to work around it. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit e1074a0d966ac372bb0abd5eee926a0b57316582 Author: Ben Hutchings Date: Mon Sep 1 12:49:15 2008 +0100 sfc: Fix memory BAR release call on error path Match pci_request_region() with pci_release_region(), not release_mem_region(). From: Steve Hodgson Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 88c59425139c0cd9984ca8f1ef577959326446d3 Author: Ben Hutchings Date: Wed Sep 3 15:07:50 2008 +0100 sfc: Add check for memory allocation failure in falcon_probe_nic() Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit da8de3929da9396977b3c9096f36b173f3d9085a Author: Mats Erik Andersson Date: Thu Jul 17 01:05:43 2008 +0200 8139too: [cosmetic] fix incorrect register for flash-rom I would like to submit a correction to the driver drivers/net/8139too.c, which in no way changes the compiled driver, but does change the value of a previously incorrect value for the configuration register address of Flash PROM on the network processor rtl8139C. This corrected value is in accordance with the datasheet for rtl8139C, and in addition this new value is indeed used in other functional drivers that use this adapter for programming a Flash memory chip in situ. But as said, the two new constants are never referenced in the driver maintained by you: they are only informational and correct! Mats Erik Andersson, meand@users.sourceforge.net Signed-off-by: Jeff Garzik commit cd0fce0322cd10ab39ace584be12f809988a1b9a Author: Breno Leitao Date: Thu Sep 4 17:52:54 2008 -0300 s2io: Fix enabling VLAN tag stripping at driver initialization VLAN doesn't work except if you'd opened the interface in promiscuous mode before. This happens because VLAN tag stripping is not correctly marked as enabled at device startup Also, the vlan_strip_flag field was moved to the private network structure. Signed-off-by: Breno Leitao Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 52845c3fd80c09f8ceac54513ae9cffac219cff7 Author: Yoichi Yuasa Date: Mon Aug 25 23:37:36 2008 +0900 cs89x0: fix warning release_irq label release_irq label is only used when ALLOW_DMA is defined. drivers/net/cs89x0.c: In function 'net_open': drivers/net/cs89x0.c:1401: warning: label 'release_irq' defined but not used Signed-off-by: Yoichi Yuasa Signed-off-by: Jeff Garzik commit e57b641dfafc10ce23d26cf271fd2638589fdb3f Author: Adrian Bunk Date: Thu Aug 28 01:02:37 2008 +0300 [netdrvr/usb] hso_create_bulk_serial_device(): fix a double free hso_serial_common_free() mustn't be called if hso_serial_common_create() fails. Reported-by: Adrian Bunk Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 54069511633ca9d5b4e5d45cf32ffea06697c88b Author: Krzysztof Halasa Date: Wed Sep 3 18:21:56 2008 +0200 wan/hdlc_x25.c: fix a NULL dereference WAN: fixes a NULL dereference in hdlc_x25. Reported-by: Adrian Bunk . Signed-off-by: Krzysztof Halasa Signed-off-by: Jeff Garzik commit 2d1ea19da0e84117d3ebbad981e4664bef03152e Author: Vlad Yasevich Date: Thu Aug 28 15:38:41 2008 -0400 bonding: Do not tx-balance some IPv6 packets on ALB/TLB bonds IPv6 all-node-multicasts and DAD probes should not be tx-balanced on ALB/TLB bonds. The all-node-multicast is an equivalent to IPv4 broadcasts. DAD probes have to be sent only on the primary so that we don't get false-positive detections. Signed-off-by: Jeff Garzik commit f382a0a8e9403c6d7f8b2cfa21e41fefb5d0c9bd Author: Matthew Wilcox Date: Tue Aug 12 07:13:14 2008 -0600 [netdrvr] atl1e: Don't take the mdio_lock in atl1e_probe Lockdep warns about the mdio_lock taken with interrupts enabled then later taken from interrupt context. Initially, I considered changing these to spin_lock_irq/spin_unlock_irq, but then I looked at atl1e_phy_init() and saw that it calls msleep(). Sleeping while holding a spinlock is not allowed either. In the probe path, we haven't registered the interrupt handler, so it can't poke at this card yet. It's before we call register_netdev(), so I don't think any other threads can reach this card either. If I'm right, we don't need a spinlock at all. Signed-off-by: Matthew Wilcox Signed-off-by: Jeff Garzik commit 70666c71957b62c8e9ea5c0d999a4bfd214c80d2 Author: Hannes Hering Date: Fri Sep 5 16:36:26 2008 +0200 ehea: Fix DLPAR memory handling The ehea busmap must be allocated only once in the first of many calls of the ehea_create_busmap_callback. Signed-off-by: Hannes Hering Signed-off-by: Jeff Garzik commit 539b06fc73b1d470b9ecb3fe7af6d5f439322c08 Author: David Fries Date: Mon Sep 8 22:01:14 2008 -0500 [netdrvr] ne: Fix suspend and resume for ISA PnP cards. A call to pnp_stop_dev and pnp_start_dev now shuts down and initializes plug and play devices for suspend and resume. Signed-off-by: David Fries Cc: Atsushi Nemoto Cc: Paul Gortmaker Cc: Alan Cox Cc: Jeff Garzik Signed-off-by: Jeff Garzik commit 533763d34862101090f8563aa9da202583b2423d Author: Martin Gebert Date: Wed Jul 23 09:40:09 2008 +0200 [netdrvr] au1000_eth: Spinlock initialisation fix Seems like the spinlock for the AU1x00 ethernet device is initialised too late, as it is already used in enable_mac(), which is called via mii_probe() before the init takes place. The attached patch is working here for a Linux Au1100 2.6.22.6 kernel, and as far as I checked should also be applicable to the current head (just line numbers differ). Signed-off-by: Martin Gebert Signed-off-by: Jeff Garzik commit 894d6276ed8dca0365a91b6d4858c37c58b962d7 Author: Chris Snook Date: Tue Sep 9 03:26:57 2008 -0400 MAINTAINERS: add Atheros maintainer for atlx Jie Yang at Atheros is getting more directly involved with upstream work on the atl* drivers. This patch changes the ATL1 entry to ATLX (atl2 support posted to netdev today) and adds him as a maintainer. Signed-off-by: Jeff Garzik commit 6526128c18564697b301030a7bbf928209e49ae0 Author: Andrew Morton Date: Fri Sep 5 14:04:07 2008 -0700 drivers/net/mlx4/alloc.c needs mm.h sparc32 allmodconfig with linux-next: drivers/net/mlx4/alloc.c: In function 'mlx4_buf_alloc': drivers/net/mlx4/alloc.c:164: error: 'PAGE_KERNEL' undeclared (first use in this function) drivers/net/mlx4/alloc.c:164: error: (Each undeclared identifier is reported only once drivers/net/mlx4/alloc.c:164: error: for each function it appears in.) this is due to some header shuffle in linux-next. I didn't look to see what it was. I'd sugges that this patch be merged ahead of a linux-next merge to avoid bisection breaks. We strictly only need asm/pgtable.h, but going direct to asm includes always seems grubby. Cc: Jeff Garzik Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit c2d1eb085d2eb47a3b16726f79fcf0d53648ebc0 Author: Takashi Iwai Date: Fri Sep 5 14:04:04 2008 -0700 drivers/net/skfp/pmf.c: Use offsetof() macro Self-baked macros cause bunch of compile warnings like below: CC [M] drivers/net/skfp/pmf.o CC net/ipv4/fib_semantics.o drivers/net/skfp/pmf.c:86: warning: cast from pointer to integer of different size drivers/net/skfp/pmf.c:87: warning: cast from pointer to integer of different size ... Use the standard offsetof() macro instead. Signed-off-by: Takashi Iwai Acked-by: Alan Cox Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit d1c5ea33c006e921f706f5075c09edc91e714263 Author: Magnus Damm Date: Mon Sep 8 14:02:34 2008 +0900 smc91x: SMC_IO_SHIFT platform data support for default case Commit 159198862adad7109bb347bb30a620f67beac45f added SMC_IO_SHIFT platform data support. After that ARM board support was added. The default case is still missing though, so on SuperH SMC_IO_SHIFT is constantly zero regardless of what you pass as platform data. Signed-off-by: Magnus Damm Test-by: Luca Santini Signed-off-by: Jeff Garzik commit d6bc372ea1196066b618908dc522b08cd28993df Author: Magnus Damm Date: Mon Sep 8 14:02:56 2008 +0900 smc91x: fix nowait printout Commit c4f0e76747e80578a8f7fddd82fd0ce8127bd2f8 added nowait platform data support. The printout code was however not updated, so the value of SMC_NOWAIT is still used. This patch makes sure that nowait is printed accordingly to platform data. Signed-off-by: Magnus Damm Signed-off-by: Jeff Garzik commit 523a609496dbc3897e530db2a2f27650d125ea00 Author: Francois Romieu Date: Wed Sep 10 22:28:56 2008 +0200 r8169: fix RxMissed register access - the register is defined for the 8169 chipset only and there is no 8169 beyond RTL_GIGA_MAC_VER_06. - only the lower 3 bytes of the register are valid Fixes: 1. http://bugzilla.kernel.org/show_bug.cgi?id=10180 2. http://bugzilla.kernel.org/show_bug.cgi?id=11062 (bits of) Tested by Hermann Gausterer and Adam Huffman. Signed-off-by: Francois Romieu Cc: Edward Hsu Signed-off-by: Jeff Garzik commit e93dcb11dd6468000f2f018bd887e94b074ce931 Author: Sebastien Dugue Date: Thu Sep 11 15:34:39 2008 +0200 ehea: fix phyp debugging typo Fix typo in ehea_h_query_ehea() which prevents building when DEBUG is on. Signed-off-by: Sebastien Dugue Signed-off-by: Jeff Garzik commit 7c0965e614f076331bf4628fae005c844d2f1f69 Author: Thomas Bogendoerfer Date: Sat Sep 13 15:06:42 2008 -0400 tulip: Fix dead 21041 ethernet after ifconfig down The de2104x did a pci_disable_device() in it's close function, but the open function never does a pci_enable_device() and assumes that the device is already enabled. Considering that downing the interface is just a temporary thing the pci_disable_device() isn't a pretty good idea and removing it from the close function just fixes the bug. Signed-off-by: Thomas Bogendoerfer Acked-by: Grant Grundler Signed-off-by: Jeff Garzik commit 4ee7084eb11e00eb02dc8435fd18273a61ffa9bf Author: Becky Bruce Date: Wed Sep 24 11:01:24 2008 -0500 POWERPC: Allow 32-bit hashed pgtable code to support 36-bit physical This rearranges a bit of code, and adds support for 36-bit physical addressing for configs that use a hashed page table. The 36b physical support is not enabled by default on any config - it must be explicitly enabled via the config system. This patch *only* expands the page table code to accomodate large physical addresses on 32-bit systems and enables the PHYS_64BIT config option for 86xx. It does *not* allow you to boot a board with more than about 3.5GB of RAM - for that, SWIOTLB support is also required (and coming soon). Signed-off-by: Becky Bruce Signed-off-by: Kumar Gala commit 9a62c05180ff55fdaa517370c6f077402820406c Author: Kumar Gala Date: Thu Jul 31 08:41:10 2008 -0500 powerpc/mm: Implement _PAGE_SPECIAL & pte_special() for 32-bit Implement _PAGE_SPECIAL and pte_special() for 32-bit powerpc. This bit will be used by the fast get_user_pages() to differenciate PTEs that correspond to a valid struct page from special mappings that don't such as IO mappings obtained via io_remap_pfn_ranges(). We currently only implement this on sub-arch that support SMP or will so in the future (6xx, 44x, FSL-BookE) and not (8xx, 40x). Signed-off-by: Kumar Gala Acked-by: Benjamin Herrenschmidt commit 9bf2b5cdc5fe5e3136ceeecc85141765023ded6e Author: Kumar Gala Date: Wed Jul 16 15:54:21 2008 -0500 powerpc: Fixes for CONFIG_PTE_64BIT for SMP support There are some minor issues with support 64-bit PTEs on a 32-bit processor when dealing with SMP. * We need to order the stores in set_pte_at to make sure the flag word is set second. * Change pte_clear to use pte_update so only the flag word is cleared * Added a WARN_ON to set_pte_at to ensure the pte isn't present for the 64-bit pte/SMP case (to ensure our assumption of this fact). Signed-off-by: Kumar Gala Acked-by: Becky Bruce commit 0ba3418b8b1c85ee1771c63f1dd12041614e56ff Author: Kumar Gala Date: Tue Jul 15 16:12:25 2008 -0500 powerpc: Introduce local (non-broadcast) forms of tlb invalidates Introduced a new set of low level tlb invalidate functions that do not broadcast invalidates on the bus: _tlbil_all - invalidate all _tlbil_pid - invalidate based on process id (or mm context) _tlbil_va - invalidate based on virtual address (ea + pid) On non-SMP configs _tlbil_all should be functionally equivalent to _tlbia and _tlbil_va should be functionally equivalent to _tlbie. The intent of this change is to handle SMP based invalidates via IPIs instead of broadcasts as the mechanism scales better for larger number of cores. On e500 (fsl-booke mmu) based cores move to using MMUCSR for invalidate alls and tlbsx/tlbwe for invalidate virtual address. Signed-off-by: Kumar Gala commit b9579689ad3a208c342aed806afc7a9a808c4e1e Author: Becky Bruce Date: Fri Sep 12 10:53:43 2008 +0000 powerpc: Make dma_addr_t a u64 if CONFIG_PHYS_64BIT is set Signed-off-by: Becky Bruce Signed-off-by: Kumar Gala commit 4fc665b88a79a45bae8bbf3a05563c27c7337c3d Author: Becky Bruce Date: Fri Sep 12 10:34:46 2008 +0000 powerpc: Merge 32 and 64-bit dma code We essentially adopt the 64-bit dma code, with some changes to support 32-bit systems, including HIGHMEM. dma functions on 32-bit are now invoked via accessor functions which call the correct op for a device based on archdata dma_ops. If there is no archdata dma_ops, this defaults to dma_direct_ops. In addition, the dma_map/unmap_page functions are added to dma_ops because we can't just fall back on map/unmap_single when HIGHMEM is enabled. In the case of dma_direct_*, we stop using map/unmap_single and just use the page version - this saves a lot of ugly ifdeffing. We leave map/unmap_single in the dma_ops definition, though, because they are needed by the iommu code, which does not implement map/unmap_page. Ideally, going forward, we will completely eliminate map/unmap_single and just have map/unmap_page, if it's workable for 64-bit. Signed-off-by: Becky Bruce Signed-off-by: Kumar Gala commit 8fae0353247530d2124b2419052fa6120462fa99 Author: Becky Bruce Date: Mon Sep 8 09:09:54 2008 +0000 powerpc: Drop archdata numa_node Use the struct device's numa_node instead; use accessor functions to get/set numa_node. Signed-off-by: Becky Bruce Signed-off-by: Kumar Gala commit 8dd0e95206f7c33bed2aed33ac668335174684e8 Author: Becky Bruce Date: Mon Sep 8 09:09:53 2008 +0000 powerpc: Move iommu dma ops from dma.c to dma-iommu.c 32-bit platforms are about to start using dma.c; move the iommu dma ops into their own file to make this a bit cleaner. Signed-off-by: Becky Bruce Signed-off-by: Kumar Gala commit 7c05d7e08d907d66b8e18515572f42c71fb709fe Author: Becky Bruce Date: Mon Sep 8 09:09:52 2008 +0000 powerpc: Rename dma_64.c to dma.c This is in preparation for the merge of the 32 and 64-bit dma code in arch/powerpc. Signed-off-by: Becky Bruce Signed-off-by: Kumar Gala commit dfd15c46a6c2cafb006183c0c14f07e59eee4ac0 Author: Jeff Layton Date: Wed Sep 24 11:32:59 2008 -0400 cifs: explicitly revoke SPNEGO key after session setup cifs: explicitly revoke SPNEGO key after session setup The SPNEGO blob returned by an upcall can only be used once. Explicitly revoke it to make sure that we never pick it up again after session setup exits. This doesn't seem to be that big an issue on more recent kernels, but older kernels seem to link keys into the session keyring by default. That said, explicitly revoking the key seems like a reasonable thing to do here. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 8d09a5e1c36d0dec5728e6c8b0bb5412de09b27b Author: Tomas Winkler Date: Wed Sep 24 13:57:46 2008 +0800 iwlwifi: don't fail if scan is issued too early This patch returns success and empty scan on scans requests that were rejected because issued too early. The cached bss list from previous scanning will be returned by mac80211. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 55d6a3cd0cc85ed90c39cf32e16f622bd003117b Author: Johannes Berg Date: Tue Sep 23 19:18:43 2008 +0200 iwlagn: downgrade BUG_ON in interrupt This BUG_ON really shouldn't trigger, but if it does, as on my machine, it leaves you wondering what happened because you won't see it. Let's instead leak a bit of state and memory and at least make it possible to report it to the kerneloops project to track it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 47cbb1107e4172f3632713d74dc8651a32ceb294 Author: Alan Cox Date: Tue Sep 23 13:53:09 2008 +0100 pcmcia: Fix up legacy driver IRQs The PCMCIA layer obsoleted asking for per device private IRQS some years ago and all the drivers by inspection correctly use dev_id and handle shared interrupts [they get em anyway in most PCI bridged PCMCIA/Cardbus] so can be adjusted. This gets rid of the various bugs reported where there is spewage about conflicting irq types and sometimes the driver won't load. (Note I don't have all of these devices to test each one beyond by inspection) Signed-off-by: Alan Cox Signed-off-by: John W. Linville commit 638af07386972861272ed9d0cff01cad528fdceb Author: Denis ChengRq Date: Tue Sep 23 02:35:37 2008 +0800 wireless: a global static to local static improvement There are two improvements in this simple patch: 1. wiphy_counter is a static var only used in one function, so can use local static instead of global static; 2. wiphy_counter wrap handling killed one comparision; Signed-off-by: Denis ChengRq Signed-off-by: John W. Linville commit acaf908d408ccd49f13aeb46cbd4428a4db174d1 Author: Ivo van Doorn Date: Mon Sep 22 19:40:04 2008 +0200 rt2x00: Fix HW crypto key handling When a crypto key is being removed, rt2x00mac should not reset the key->hw_key_idx value because that will prevent the driver from removing the correct key from the hardware. Furthermore ffz() starts counting at 0 instead of 1, so we don't need to substract 1 from the resulting value. Signed-off-by: Stephen Blackheath Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 4492bea656b70dad6a9ae7b59b1430fa38ba3345 Author: Emmanuel Grumbach Date: Mon Sep 22 17:10:10 2008 +0300 mac80211: fix led behavior in IBSS This patch fixes the led behavior in IBSS. After we joined an IBSS cell we need to inform the led that we got associated. Although there is no 802.11 association in IBSS mode, the semantic of "There is a link" is relevant. This allows the led to blink in IBSS mode (at least this solves a bug for iwlwifi). Signed-off-by: Emmanuel Grumbach Reviewed-by: Tomas Winkler Signed-off-by: John W. Linville commit e6c948e8b8e565c7666ea482994e422c4f19ea44 Author: Luis R. Rodriguez Date: Mon Sep 22 01:14:02 2008 -0700 ath9k: Add a few comments about mibevents Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4dfe51e10047a60e82734860cec0d9f660b102fc Author: Johannes Berg Date: Fri Sep 19 05:10:34 2008 +0200 mac80211: probe with correct SSID While associated, we should probe with the SSID we're associated to, not the scan SSID. Signed-off-by: Johannes Berg Acked-by: Tomas Winkler Signed-off-by: John W. Linville commit 4b7679a561e552eeda1e3567119bef2bca99b66e Author: Johannes Berg Date: Thu Sep 18 18:14:18 2008 +0200 mac80211: clean up rate control API Long awaited, hard work. This patch totally cleans up the rate control API to remove the requirement to include internal headers outside of net/mac80211/. There's one internal use in the PID algorithm left for mesh networking, we'll have to figure out a way to clean that one up and decide how to do the peer link evaluation, possibly independent of the rate control algorithm or via new API. Additionally, ath9k is left using the cross-inclusion hack for now, we will add new API where necessary to make this work properly, but right now I'm not expert enough to do it. It's still off better than before. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2ff6a6d4e92270283432690adf53a7e5ab186d19 Author: Johannes Berg Date: Thu Sep 18 12:24:20 2008 +0200 mac80211: fix mesh action frame handling When I split off the action frame handling I made the code drop all action frames we don't want to handle. This is wrong since some action frames are actually handled via rx_h_mgmt through being queued to the sta/mesh implementations. Thanks to Li YanBo for noticing the problem. Signed-off-by: Johannes Berg Cc: Li YanBo Signed-off-by: John W. Linville commit 79617deeebb9cf089e2bc2aad19743b1209043f6 Author: YanBo Date: Mon Sep 22 13:30:32 2008 +0800 mac80211: mesh portal functionality support Currently the mesh code doesn't support bridging mesh point interfaces with wired ethernet or AP to construct an MPP or MAP. This patch adds code to support the "6 address frame format packet" functionality to mesh point interfaces. Now the mesh network can be used as backhaul for end to end communication. Signed-off-by: Li YanBo Signed-off-by: John W. Linville commit 31e9ab2b180bccb3977b9a82ff357ac4c6ee3c83 Author: Sujith Date: Wed Sep 17 10:16:07 2008 +0530 ath9k: Fix TSF Adjust usage TSF adjust is needed only for AP mode when staggered beacons are used. Since we support only a single interface in IBSS mode, disable setting the TSF adjust register. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 459f5f90f1bd959ced04761406415b178b315177 Author: Sujith Date: Wed Sep 17 10:15:36 2008 +0530 ath9k: Fix nexttbtt calculation nexttbtt has to be obtained from the timestamp of the beacon obtained from mac80211. Fix this. And is not needed anymore. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 980b24da6f1725c2d0b32c9484d06cd7d09d3c4b Author: Sujith Date: Wed Sep 17 10:15:09 2008 +0530 ath9k: Whitespace cleanup Also, remove comments that are not relevant anymore. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 42eb7c644afcdbcd7eac4d862046230856fbf531 Author: Emmanuel Grumbach Date: Wed Sep 17 10:10:05 2008 +0800 iwlwifi: remove HT flags from RXON when not in HT anymore This patch removes the HT flags from RXON when moving from HT to legacy. This avoids keeping those flags set and possibly miss configuring firmware. If we are configured in HT, fat channel: channel 1 above, and move later to legacy channel 11, we need to clear the FAT channel control flags in RXON. If we don't, the firmware will understand this as channel 11 above which is not possible due to regulatory constraints, leading to firmware crash. Signed-off-by: Emmanuel Grumbach Reviewed-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 9c40fc510a3df3a74731f5f251b9481feffc0ed5 Author: Javier Cardona Date: Tue Sep 16 18:08:39 2008 -0700 libertas: Reduce the WPA key installation time (fixups) This patch addresses comments from Dan Williams about the patch committed as "libertas: Reduce the WPA key installation time." Signed-off-by: Javier Cardona Acked-by: Dan Williams Signed-off-by: John W. Linville commit 84e463fa0786a105c39281b90f8e3b6fe1444a05 Author: Nick Kossifidis Date: Wed Sep 17 03:33:19 2008 +0300 ath5k: Fix bad udelay calls on AR5210 code * Fix bad udelay calls (using > 2000us) in AR5210 code and clean up some bits on nic_reset (AR5210 support is still in bad shape) Changes-licensed-under: ISC Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 92ffe055c3ea45856183bebed62f8880f75fef3b Author: Johannes Berg Date: Tue Sep 16 20:39:36 2008 +0200 cfg80211: reject invalid configuration items Reject configuring mesh-id for non-mesh, monitor flags for non-monitor. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f8b25cdad719cddceb9cf0d350065b3e59e74219 Author: Johannes Berg Date: Tue Sep 16 20:22:21 2008 +0200 mac80211: allow interface settings changes only when down We currently allow monitor flags changes and mesh ID changes when the interface is up, which can lead to trouble. Change it to only allow when down. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 723b038def23ce0606754c4f598cbb96bae9a102 Author: Johannes Berg Date: Tue Sep 16 20:22:09 2008 +0200 cfg80211: allow set_interface without type Which then causes no type change. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 60719ffd721f6764b7d07ca188c0d944a4330b69 Author: Johannes Berg Date: Tue Sep 16 14:55:09 2008 +0200 cfg80211: show interface type This patch makes cfg80211 show the interface in the nl80211 information about a specific interface. API users are required to keep the type updated (everything else is fairly complicated) but you will get a warning if you fail to keep it updated. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 133b822638ff01eb1e32e1917b197c40ed095ddd Author: Johannes Berg Date: Tue Sep 16 14:18:59 2008 +0200 mac80211: make master iface not wireless There's no need to register the master netdev with cfg80211, in fact, this is quite dangerous and lead to having to add checks for the master interface all over the config handlers. This patch removes the "ieee80211_ptr" from the master iface in favour of having a small netdev_priv() associated with the master interface that stores the ieee80211_local pointer. Because of this, a lot of code in the configuration handlers can go away. To make this patch easier to verify I have also removed a number of wiphy_priv() calls in favour of getting the sdata first and then the local pointer from that. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9e5e6c327defcef19dabad64335ee68bb55b2355 Author: Tomas Winkler Date: Tue Sep 16 14:01:04 2008 +0800 iwlwifi: make PS use named constants This patch adds named constants for configuring MIMO power save chain settings. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 9ccacb86b5c613b25f41ca4227c3fb17bcd77de0 Author: Tomas Winkler Date: Tue Sep 16 14:01:03 2008 +0800 iwlwifi: don't delay scan in IBSS mode Scan need to be delayed only after association to allow EAPOL exchange. We don't need the delay for IBSS mode. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit fdd1097488e3c1278996bd7c73d8429d410e725a Author: Larry Finger Date: Tue Sep 16 14:56:49 2008 -0500 b43: Issue warning when RFKILL_INPUT is not enabled If the system is misconfigured with CONFIG_RFKILL set but CONFIG_RFKILL_INPUT not set, the built-in radio LEDs will not work. In the current code, no warning is issued. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit e07aa3783e9f66b03d72e7afd9f709d7f7059662 Author: Johannes Berg Date: Mon Sep 15 13:11:19 2008 +0200 cfg80211: fix code ordering in header file Luis added the regulatory hint stuff to this file without observing that __ieee80211_get_channel and ieee80211_get_channel really belong together. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 942b25cf9028e7c2f6446ee7c6618bd70dafec5f Author: Johannes Berg Date: Mon Sep 15 11:26:47 2008 +0200 cfg80211: clean up static regdomain mess The statically defined regdomains are used in a very convoluted way, use them instead to prime the information we have and then continue operating normally. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a3d2eaf0dcad6dfdf44f3093aef688dfca714b6c Author: Johannes Berg Date: Mon Sep 15 11:10:52 2008 +0200 cfg80211: fix regulatory code const A few pointers and structures in the regulatory code are const, but because it wasn't done properly a whole bunch of bogus casts were needed to compile without warning. Mark everything const properly to avoid that kind of junk code. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 734366deaee05b1a5842d977960b4cc574d7551d Author: Johannes Berg Date: Mon Sep 15 10:56:48 2008 +0200 cfg80211: clean up regulatory mess The recent code from Luis is an #ifdef hell and contains lots of code that's stuffed into the wrong file making a whole bunch of things needlessly non-static, and besides, what is it doing in core.c?? Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 762af43bda3d8281a2738d3920ae5ded170aaf39 Author: Johannes Berg Date: Mon Sep 15 10:30:34 2008 +0200 cfg80211: fix static regdomains When Luis added the static regdomains back he used +/-20 of the centre frequencies to account for 40MHz bandwidth neglecting the fact that 40MHz bandwidth cannot be used on the channels close to the allowed band edges. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9930ccee16addda9fa7d9af00cd03cd5a10c8965 Author: David Kilroy Date: Sat Sep 13 12:22:05 2008 +0100 wireless: Read scan flags correctly on x86-64 The SIOCSIWSCAN handler is passed data in an iw_point structure. Some drivers erronously use an iw_param instead. On 32 bit architectures the difference isn't noticed as the flags parameter tends to be the only one used by scan handlers and is at the same offset. On 64 bit architectures the pointer in the iw_point structure means the flag parameter is at different offsets in these structures. Thanks to Jean Tourrilhes for tracking this down for orinoco, and Pavel Roskin for confirming the fix and identifying other suspect handlers. Signed-off-by: David Kilroy Acked-by: Pavel Roskin Signed-off-by: John W. Linville commit d9414774dc0c7b395036deeca000af42e2d13612 Author: Nick Piggin Date: Wed Sep 24 11:32:59 2008 -0400 cifs: Convert cifs to new aops. cifs: Convert cifs to new aops. This patch is based on the one originally posted by Nick Piggin. His patch was very close, but had a couple of small bugs. Nick's original comments follow: This is another relatively naive conversion. Always do the read upfront when the page is not uptodate (unless we're in the writethrough path). Fix an uninitialized data exposure where SetPageUptodate was called before the page was uptodate. SetPageUptodate and switch to writeback mode in the case that the full page was dirtied. Acked-by: Shaggy Acked-by: Badari Pulavarty Signed-off-by: Nick Piggin Signed-off-by: Jeff Layton Signed-off-by: Steve French commit d388908ec40ada0001dfe05134de31d0cc62907c Author: Steve French Date: Wed Sep 24 19:22:52 2008 +0000 [CIFS] update DOS attributes in cifsInode if we successfully changed them Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 391e575556109744ae0aa198c1e245588a3ea76a Author: Jeff Layton Date: Wed Sep 24 11:32:59 2008 -0400 cifs: remove NULL termination from rename target in CIFSSMBRenameOpenFIle cifs: remove NULL termination from rename target in CIFSSMBRenameOpenFIle The rename destination isn't supposed to be null terminated. Also, change the name string arg to be const. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 7ce86d5a93ffe2542e6558a97ab055377df8cde3 Author: Jeff Layton Date: Wed Sep 24 11:32:59 2008 -0400 cifs: work around samba returning -ENOENT on SetFileDisposition call cifs: work around samba returning -ENOENT on SetFileDisposition call Samba seems to return STATUS_OBJECT_NAME_NOT_FOUND when we try to set the delete on close bit after doing a rename by filehandle. This looks like a samba bug to me, but a lot of servers will do this. For now, pretend an -ENOENT return is a success. Samba does however seem to respect the CREATE_DELETE_ON_CLOSE bit when opening files that already exist. Windows will ignore it, but so adding it to the open flags should be harmless. We're also currently ignoring the return code on the rename by filehandle, so no need to set rc based on it. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 74553b1b6a8556e08757b4bce537fd8332b93898 Author: Jeff Layton Date: Wed Sep 24 14:55:51 2008 -0400 cifs: fix inverted NULL check after kmalloc cifs: fix inverted NULL check after kmalloc Signed-off-by: Jeff Layton Signed-off-by: Steve French commit cdad5b8db91ac46a8e226306d062fe4c896b2bed Author: Clemens Ladisch Date: Wed Sep 24 15:25:28 2008 +0200 ALSA: oxygen: wait for ACK when resetting UART After sending a reset command to the UART, wait some time for the ACK to be generated (and to be read and dropped by the interrupt handler) before sending the next command. Signed-off-by: Clemens Ladisch commit 82b078659ed04e1ecdebf8326e189cf76ed361af Author: Peter Oruba Date: Wed Sep 24 11:50:35 2008 +0200 x86: microcode patch loader bugfix Corrected CPU vendor check condition for AMD microcode patch loader initialization. Signed-off-by: Peter Oruba Signed-off-by: Ingo Molnar commit 2f9284e4e3be7b0b4d8d0638f9805603069a762d Author: Dmitry Adamushko Date: Tue Sep 23 22:56:35 2008 +0200 x86, microcode_amd: cleanup, mark request_microcode_user() as unsupported (1) mark mc_size in generic_load_microcode() as unitialized_var to avoid gcc's (false) warning; (2) mark request_microcode_user() as unsupported. The required changes can be added later. Note, we don't break any user-space interfaces here, as there were no kernels with support for AMD-specific ucode update yet. The ucode has to be updated via 'firmware'. Signed-off-by: Dmitry Adamushko Signed-off-by: Ingo Molnar commit e6aa0f07cb5e81a7cbeaf3be6e2101234c2f0d30 Merge: d473879... 72d3105... Author: Ingo Molnar Date: Wed Sep 24 10:31:34 2008 +0200 Merge commit 'v2.6.27-rc7' into x86/microcode commit e51a1ac2dfca9ad869471e88f828281db7e810c0 Author: Harvey Harrison Date: Tue Sep 23 15:20:09 2008 -0700 x86, olpc: fix endian bug in openfirmware workaround Boardrev is always treated as a u32 everywhere else, no reason to byteswap the 0xc2 value. The only use is to print out if it is a prerelease board, the test being: (olpc_platform_info.boardrev & 0xf) < 8 Which is currently always true as be32_to_cpu(0xc2) & 0xf = 0 but I doubt that was the intention here. The consequences of the bug are pretty minor though (incorrect boardrev displayed in dmesg when ofw support not configured) Also annotate the temporary used to read the boardrev in the ofw case. The confusion was noticed by Sparse: arch/x86/kernel/olpc.c:206:32: warning: cast to restricted __be32 Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar commit 493cd9122af5bd0b219974a48f0e31da0c29ff7e Author: Harvey Harrison Date: Tue Sep 23 14:56:44 2008 -0700 x86: ds.c ptrace.c integer as NULL pointer sparse fixes fix: arch/x86/kernel/ptrace.c:763:29: warning: Using plain integer as NULL pointer arch/x86/kernel/ptrace.c:777:46: warning: Using plain integer as NULL pointer arch/x86/kernel/ptrace.c:1115:45: warning: Using plain integer as NULL pointer arch/x86/kernel/ds.c:482:26: warning: Using plain integer as NULL pointer arch/x86/kernel/ds.c:487:25: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Acked-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit ebdd90a8cb2e3963f55499850f02ce6003558b55 Merge: 3c93390... 72d3105... Author: Ingo Molnar Date: Wed Sep 24 09:56:20 2008 +0200 Merge commit 'v2.6.27-rc7' into x86/pebs commit 86d3237cd1a09136b4fb3a1d73d3c3fd6331cb14 Author: Hiroshi Shimamoto Date: Tue Sep 23 17:22:32 2008 -0700 x86: signal: cosmetic unification of handle_signal() Make handle_signal() same. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit ee847c54ba7fc09f85f13a5bf18f45ea6c19aa83 Author: Hiroshi Shimamoto Date: Tue Sep 23 17:21:45 2008 -0700 x86: signal: cosmetic unification of do_notify_resume() Make do_notify_resume() same. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 5fd933303bd1efacbd0acbe452ba9b889440eb40 Author: Hiroshi Shimamoto Date: Tue Sep 23 17:19:44 2008 -0700 x86: signal: cosmetic unification of do_signal() Make do_signal() same. Thia patch modifies only comments in signal_64.c. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 782f04fc0c2af3c1e92c9d561926a2056b1c72e8 Author: Kumar Gala Date: Tue Sep 23 23:36:32 2008 -0500 powerpc: Move 8xxx GPIO Kconfig under the platform menu The initial patch had the option at the top level which wasn't quite right. Moving under the platform options is a bit better. Signed-off-by: Kumar Gala commit ee1130197e7d64a436dbf7feab0bb77065baf5e8 Author: Kumar Gala Date: Tue Sep 23 23:32:32 2008 -0500 powerpc/86xx: Introduce a generic mpc86xx_defconfig Introduced a mpc86xx_defconfig that enables all 86xx boards and moved all other 86xx related defconfigs under configs/86xx to match 83xx and 85xx. Signed-off-by: Kumar Gala commit 96ca4a2cc1454cf633a1e0796b7ef39d937b87ec Author: Oliver Hartkopp Date: Tue Sep 23 21:23:19 2008 -0700 net: remove ifalias on empty given alias This patch removes the potentially allocated ifalias when the (new) given alias is empty. E.g. when setting echo "" > /sys/class/net/eth0/ifalias Signed-off-by: Oliver Hartkopp Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit d87798450a7635ab1bcc80271a13ce4a53b016a9 Author: David S. Miller Date: Tue Sep 23 20:47:22 2008 -0700 aoe: Fix OOPS after SKB queue changes. Reported by Thomas Graf. If we don't unlink the SKB from the queue when we send it out in aoenet_xmit(), dev_hard_start_xmit() will see skb->next as non-NULL and interpret this to mean the SKB is part of a GSO segment list. Add __skb_unlink() call to fix that. Signed-off-by: David S. Miller commit aeb42762b8f12d2d1833fcc169ba0cd14ea30cc3 Author: Kumar Gala Date: Tue Sep 23 22:05:10 2008 -0500 powerpc/83xx: Add missing cell-index to dma-channel device nodes Signed-off-by: Kumar Gala commit 5e8814f2f74f53d58aa5679bf32b38a7940033fe Author: Theodore Ts'o Date: Tue Sep 23 18:07:35 2008 -0400 ext4: Combine proc file handling into a single set of functions Previously mballoc created a separate set of functions for each proc file. This combines the tunables into a single set of functions which gets used for all of the per-superblock proc files, saving approximately 2k of compiled object code. Signed-off-by: "Theodore Ts'o" commit e5d2304802a63304a54cff010209c4a717a2509f Author: Oliver Hartkopp Date: Tue Sep 23 14:53:14 2008 -0700 can: Add documentation for virtual CAN driver usage This patch adds a usage documentation for the virtual CAN driver (vcan). Signed-off-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 07bbc16a8676b06950a21f35b59f69b2fe763bbd Merge: 6a9e918... f8e256c... Author: Ingo Molnar Date: Tue Sep 23 23:26:42 2008 +0200 Merge branch 'timers/urgent' into x86/xen Conflicts: arch/x86/kernel/process_32.c arch/x86/kernel/process_64.c Manual merge: arch/x86/kernel/smpboot.c Signed-off-by: Ingo Molnar commit f72de6638b8e55283739de174b57c0ae4203c446 Author: Eric Miao Date: Sat Sep 6 08:46:23 2008 +0800 [ARM] pxa/akita: use pca953x instead of akita-ioexp Use generic pca953x which provides gpiolib interface instead of akita-specific akita-ioexp with non-standard interface to pins. Signed-off-by: Dmitry Baryshkov Cc: Richard Purdie Cc: Mark Brown Signed-off-by: Eric Miao Signed-off-by: Russell King commit 4fe3224fffc56b13fe54e0fa479b64db83d8b125 Author: Eric Miao Date: Fri Sep 5 22:38:23 2008 +0800 [ARM] pxa/spitz: use leds-gpio for led driving and drop leds-spitz Now as the scoop pins are covered by the generic gpio API, we can use leds-gpio driver instead of special leds-spitz Drop leds-spitz.c and the declarations of now un-referenced spitzscoop_device, spitzscoop2_device. Signed-off-by: Dmitry Baryshkov Cc: Richard Purdie Signed-off-by: Eric Miao Signed-off-by: Russell King commit fff147208b48680cb7b627a144113a6585828a0e Author: Eric Miao Date: Fri Sep 5 22:15:23 2008 +0800 [ARM] pxa/spitz: use generic GPIO API for SCOOP1/SCOOP2 GPIOs Original patch from Dmitry Baryshkov's inital scoop gpio conversion work at http://git.infradead.org/users/dbaryshkov/zaurus-2.6.git. Signed-off-by: Dmitry Baryshkov Signed-off-by: Eric Miao Signed-off-by: Russell King commit 60cf711d47d995c3d61e222502fde3c11cedc434 Author: Eric Miao Date: Fri Sep 5 18:36:21 2008 +0800 [ARM] pxa/corgi: use leds-gpio for led driving and drop leds-corgi Now as the scoop pins are covered by the generic gpio API, we can use leds-gpio driver instead of special leds-corgi Drop leds-corgi.c and remove the declaration of now un-referenced corgiscoop_device. Signed-off-by: Dmitry Baryshkov Cc: Richard Purdie Signed-off-by: Eric Miao Signed-off-by: Russell King commit 6168cda927ecdf3347537e0d01618ca2a2272007 Author: Eric Miao Date: Fri Sep 5 18:15:22 2008 +0800 [ARM] pxa/corgi: use generic GPIO API for SCOOP GPIOs Original patch from Dmitry Baryshkov's inital scoop gpio conversion work at http://git.infradead.org/users/dbaryshkov/zaurus-2.6.git. Signed-off-by: Dmitry Baryshkov Signed-off-by: Eric Miao Signed-off-by: Russell King commit 2d91f94174ce42378aafc7bedda2588a913d3eab Author: Eric Miao Date: Fri Sep 5 16:21:48 2008 +0800 [ARM] pxa/poodle: prepare scoop for the generic GPIO API Signed-off-by: Eric Miao Signed-off-by: Russell King commit 24ff4cdde79a88720c3eadda3b565f2e4ea07fd2 Author: Eric Miao Date: Mon Sep 1 06:56:07 2008 +0800 [ARM] pxa/littleton: add support for SPI-based TDO24M LCD panel driver Signed-off-by: Eric Miao Signed-off-by: Russell King commit 68677ab3d08ed6d57be0c1ae4e4d364bb2d104b6 Author: Eric Miao Date: Wed Sep 3 14:50:23 2008 +0800 [ARM] pxa/corgi: remove now unused corgi_ssp.c and corgi_lcd.c Now poodle/corgi/spitz have been been converted to use SPI-based drivers, remove the now unused corgi_ssp.c and corgi_lcd.c. And as well as the unused reference of {corgi,spitz}ssp_device. Signed-off-by: Eric Miao Signed-off-by: Russell King commit 859b796349d2073bd58e55d176e03b2d53cb8c36 Author: Eric Miao Date: Wed Sep 3 12:09:24 2008 +0800 [ARM] pxa/spitz: use SPI-based driver for ads7846, corgi-lcd and max1111 Signed-off-by: Eric Miao Signed-off-by: Russell King commit 79009a063aa04c32143bff4fc0b7b8c6482af12d Author: Eric Miao Date: Wed Sep 3 10:00:38 2008 +0800 [ARM] pxa/spitz: use new .lcd_conn to specify the LCD info Signed-off-by: Eric Miao Signed-off-by: Russell King commit 5e96adec6b6bc616259d8bd64e8a80d6dfc4403a Author: Eric Miao Date: Wed Sep 3 09:47:42 2008 +0800 [ARM] pxa/spitz: convert to use new MFP API Original patch from Dmitry Baryshkov's initial scoop gpio conversion work at http://git.infradead.org/users/dbaryshkov/zaurus-2.6.git. TODO: figure out the MFP configuration of the SSP2 which looks like to be already configured by the boot loader, though. Signed-off-by: Dmitry Baryshkov Signed-off-by: Eric Miao Signed-off-by: Russell King commit dd5980d68af4457e600ef6add5b541ce952147e6 Author: Eric Miao Date: Tue Sep 2 17:34:33 2008 +0800 [ARM] pxa/spitz: convert to use new GPIO API Original patch from Dmitry Baryshkov's initial scoop gpio conversion work at http://git.infradead.org/users/dbaryshkov/zaurus-2.6.git. Separated into this dedicated generic GPIO conversion patch for the work of deprecating pxa_gpio_mode(). Signed-off-by: Dmitry Baryshkov Signed-off-by: Eric Miao Signed-off-by: Russell King commit edb403fbfb0ad56e62d8ebbecc3b846487020e0f Author: Eric Miao Date: Fri Aug 29 08:09:48 2008 +0800 [ARM] pxa/corgi: use SPI-based driver for ads7846, corgi-lcd and max1111 Signed-off-by: Eric Miao Cc: Richard Purdie Signed-off-by: Russell King commit 9ae808d8b1d8a99832798a6699b4cb7f51bfc872 Author: Eric Miao Date: Wed Aug 27 09:32:48 2008 +0800 [ARM] pxa/corgi: convert to use new MFP API Signed-off-by: Eric Miao Signed-off-by: Russell King commit 9d7087527f51c4eb7f30f0a9a3ad514e76bde3fd Author: Eric Miao Date: Wed Aug 27 09:16:30 2008 +0800 [ARM] pxa/corgi: convert to use new GPIO API Signed-off-by: Eric Miao Signed-off-by: Russell King commit 9ee40d9acf928ef561d655e78cf6c97546b8b4fc Author: Eric Miao Date: Sun Aug 24 05:32:15 2008 -0400 [ARM] pxa/poodle: use SPI based ads7846 touch screen driver Signed-off-by: Eric Miao Signed-off-by: Russell King commit 26b4c8dddd98ba9f759f1986e0116adaa9dce710 Author: Eric Miao Date: Fri Jul 18 09:05:17 2008 +0800 [ARM] pxa/poodle: convert to use the new MFP API to configure pins The MFP configuration table is reverse engineered from those magic GAFRx_{L|U} values, and it looks much better now. Also, the deprecated pxa_gpio_mode() invocations are removed. Signed-off-by: Eric Miao Acked-by: Richard Purdie Signed-off-by: Russell King commit ce5291478c64bab3ae301c385c6c2a6575b08355 Author: Eric Miao Date: Fri Jul 18 08:59:04 2008 +0800 [ARM] pxa/poodle: convert to use the new GPIO API Direct manipulation of GPIO registers are no longer encouraged, use the new GPIO API instead. Since the GPIO has to be requested before use, .startup and .shutdown are added to the IrDA device platform data to request and free the GPIO. Signed-off-by: Eric Miao Acked-by: Richard Purdie Signed-off-by: Russell King commit cf5eb8c0de08a99b0ccbd22198bbb4828a04298b Author: Eric Miao Date: Fri Jul 18 08:53:52 2008 +0800 [ARM] pxa/poodle: use new .lcd_conn to specify the LCD info Signed-off-by: Eric Miao Signed-off-by: Russell King commit 1730aadffb6ec3c4fe4d69a68f2f9445fd1b1264 Author: Eric Miao Date: Fri Jul 18 08:51:07 2008 +0800 [ARM] pxa/poodle: use .gpio_pullup in USB device platform data Signed-off-by: Eric Miao Signed-off-by: Russell King commit 2b0defd4c17f65fcfef758b8f3a811287eba73de Author: Eric Miao Date: Sat Aug 9 05:54:22 2008 -0400 [ARM] pxa/poodle: move scoop/locomo device registration earlier Signed-off-by: Eric Miao Cc: Richard Purdie Signed-off-by: Russell King commit f16177c20c42e1bd780b35259a995f7718986dd4 Author: Eric Miao Date: Fri Aug 29 06:19:32 2008 +0800 hwmon: add max1111_read_channel() for use by sharpsl_pm This is not generic, and is added here for backward compatibility. It is made an individual commit here to make it easier for revert once the sharpsl_pm gets generic enough. Signed-off-by: Eric Miao Signed-off-by: Russell King commit 55b951e7e6b9f983286c40925e340124d79bb0f7 Author: Eric Miao Date: Fri Aug 29 04:26:48 2008 +0800 hwmon: add max1111 Low-power Multichannel Serial 8-bit ADCs Driver based on corgi_ssp.c and sharpsl_pm.c, previously done by Richard Purdie and many others. Now changed to generic HWMON device and expose all the ADC input value through sysfs. Signed-off-by: Eric Miao Acked-by: Jean Delvare Signed-off-by: Russell King commit dd89ccb23a718a25dd989a27b04bf52871c9fb23 Author: Eric Miao Date: Mon Sep 1 06:50:23 2008 +0800 lcd: add support for Toppoly TDO24M series LCD panels This type of LCD panel can be found on PXA3xx/Littleton platforms. Add LCD device and SPI-based driver for this. Signed-off-by: Eric Miao Signed-off-by: Russell King commit bfdcaa3b6899bbfc6ba633aff3f5f2422486c8c1 Author: Eric Miao Date: Fri Aug 29 05:57:20 2008 +0800 lcd: add corgibl_limit_intensity() to corgi_lcd This is not generic enough, added here for backward compatibility. And make this an individual commit so future revert will be a bit easier. Signed-off-by: Eric Miao Cc: Richard Purdie Signed-off-by: Russell King commit b18250a8f66050bd2a52287cd543fb93100e8ee0 Author: Eric Miao Date: Fri Aug 29 04:21:44 2008 +0800 lcd: add SPI-based LCD and backlight driver for SHARP corgi/spitz The driver is based on different source files including corgi_ssp.c, corgi_lcd.c and corgi_bl.c, previously authored by Richard Purdie and many others. The LCD and Backlight device actually share the same SPI device, so they are made into this single driver. Signed-off-by: Eric Miao Cc: Richard Purdie Signed-off-by: Russell King commit faa312da9cd0b044bdc84483162c6ee10b9c83c0 Author: Eric Miao Date: Fri Aug 29 04:18:43 2008 +0800 lcd: allow lcd device to handle mode change events Some LCD panels are capable of different resolutions, and is allowed to change at run-time, so to make "struct lcd_device" to be able to handle mode change events here. Signed-off-by: Eric Miao Acked-by: Krzysztof Helt Signed-off-by: Russell King commit 9d81523480c8c5b07a4899a084b3f4264a575184 Author: Steve French Date: Tue Sep 23 18:46:07 2008 +0000 [CIFS] clean up upcall handling for dns_resolver keys We're given the datalen in the downcall, so there's no need to do any calls to strlen(). Just keep track of the datalen in the key. Finally, add a sanity check of the data in the downcall to make sure that it looks like a real IP address. Signed-off-by: Jeff Layton Acked-by: David Howells Signed-off-by: Steve French commit ee2fd967fb23c5eecabc8a660ec66fcd79acbd47 Author: Steve French Date: Tue Sep 23 18:23:33 2008 +0000 [CIFS] fix busy-file renames and refactor cifs_rename logic Break out the code that does the actual renaming into a separate function and have cifs_rename call that. That function will attempt a path based rename first and then do a filehandle based one if it looks like the source is busy. The existing logic tried a path based rename first, but if we needed to remove the destination then it only attempted a filehandle based rename afterward. Not all servers support renaming by filehandle, so we need to always attempt path rename first and fall back to filehandle rename if it doesn't work. This also fixes renames of open files on windows servers (at least when the source and destination directories are the same). CC: Jeff Layton Signed-off-by: Steve French commit 6d22f09896c0d62c003ffa25fff25323e3ed608b Author: Jeff Layton Date: Tue Sep 23 11:48:35 2008 -0400 cifs: add function to set file disposition cifs: add function to set file disposition The proper way to set the delete on close bit on an already existing file is to use SET_FILE_INFO with an infolevel of SMB_FILE_DISPOSITION_INFO. Add a function to do that and have the silly-rename code use it. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 7c9c3760b3a5ae87ee4d661703b6d5de3999fe46 Author: Steve French Date: Tue Sep 23 17:23:09 2008 +0000 [CIFS] add constants for string lengths of keynames in SPNEGO upcall string Signed-off-by: Jeff Layton Signed-off-by: Steve French commit a12a1ac7a474b3680b9cce9f64a4f78123aecf37 Author: Jeff Layton Date: Tue Sep 23 11:48:35 2008 -0400 cifs: move rename and delete-on-close logic into helper function cifs: move rename and delete-on-close logic into helper function When a file is still open on the server, we attempt to set the DELETE_ON_CLOSE bit and rename it to a new filename. When the last opener closes the file, the server should delete it. This patch moves this mechanism into a helper function and has the two places in cifs_unlink that do this procedure call it. It also fixes the open flags to be correct. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 68e1ee62f0f8e556642a59ebaf0c2cc2ac6ccfa6 Author: Kumar Gala Date: Mon Sep 22 14:41:31 2008 -0700 powerpc: convert CONFIG_PPC_MERGE to CONFIG_PPC for legacy io checks Now that arch/ppc is dead CONFIG_PPC_MERGE is always defined for all powerpc platforms and we want to get rid of CONFIG_PPC_MERGE use CONFIG_PPC instead. Signed-off-by: Kumar Gala Acked-by: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Kumar Gala commit 1e16dfc1baa745dd89b95f6e33e4142df6218066 Author: Peter Korsgaard Date: Tue Sep 23 17:35:38 2008 +0200 powerpc: gpio driver for mpc8349/8572/8610 and compatible Structured similar to the existing QE GPIO support. Signed-off-by: Peter Korsgaard Acked-by: Anton Vorontsov Signed-off-by: Kumar Gala commit e8d3f455de4f42d4bab2f6f1aeb2cf3bd18eb508 Author: Srinivasa Ds Date: Tue Sep 23 15:23:52 2008 +0530 signals: demultiplexing SIGTRAP signal, fix fix build breakage, missing header file. Signed-off-by: Srinivasa DS Signed-off-by: Ingo Molnar commit 57fdc26d4a734a3e00c6b2fc0e1e40ff8da4dc31 Author: Peter Zijlstra Date: Tue Sep 23 15:33:45 2008 +0200 sched: fixup buddy selection We should set the buddy even though we might already have the TIF_RESCHED flag set. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 4653f803e6e0d970ffeac0efd2c01743eb6c5228 Author: Peter Zijlstra Date: Tue Sep 23 15:33:44 2008 +0200 sched: more sanity checks on the bandwidth settings While playing around with it, I noticed we missed some sanity checks. Also add some comments while we're there. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 78333cdd0e472180743d35988e576d6ecc6f6ddb Author: Peter Zijlstra Date: Tue Sep 23 15:33:43 2008 +0200 sched: add some comments to the bandwidth code Hopefully clarify some of this code a little. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 940959e93949e839c14f8ddc3b9b0e34a2ab6e29 Author: Peter Zijlstra Date: Tue Sep 23 15:33:42 2008 +0200 sched: fixlet for group load balance We should not only correct the increment for the initial group, but should be consistent and do so for all the groups we encounter. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 63e5c39859a41591662466028c4d1281c033c05a Merge: 6956985... fa74820... c8bfff6... Author: Ingo Molnar Date: Tue Sep 23 16:23:05 2008 +0200 Merge branches 'sched/urgent' and 'sched/rt' into sched/devel commit d4738792fb86600b6cb7220459d9c47e819b3580 Author: Peter Oruba Date: Wed Sep 17 15:39:18 2008 +0200 x86, microcode rework, v2, renaming cont. Renaming based on patch from Dmitry Adamushko. Further clarification by renaming define and variable related to microcode container file. Signed-off-by: Peter Oruba Signed-off-by: Ingo Molnar commit b6cffde1a20409f9720d5c9aba28d3efd3a4f04e Author: Peter Oruba Date: Wed Sep 17 15:05:52 2008 +0200 x86, microcode rework, v2, renaming Renaming based on patch from Dmitry Adamushko. Made code more readable by renaming define and variables related to microcode _container_file_ header to make it distinguishable from microcode _patch_ header. Signed-off-by: Peter Oruba Signed-off-by: Ingo Molnar commit 9f6200bbfc962d8f926278cf5d5ddb90a228c322 Author: Theodore Ts'o Date: Tue Sep 23 09:18:24 2008 -0400 ext4: move /proc setup and teardown out of mballoc.c ...and into the core setup/teardown code in fs/ext4/super.c so that other parts of ext4 can define tuning parameters. Signed-off-by: "Theodore Ts'o" commit 695698500912c4479ddf4723e492de3970ff8530 Author: Peter Zijlstra Date: Tue Sep 23 14:54:23 2008 +0200 sched: rework wakeup preemption Rework the wakeup preemption to work on real runtime instead of the virtual runtime. This greatly simplifies the code. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 1a73ef6ac3f4b44abc9d1875eb9240d7524a7cf7 Author: Martin Steigerwald Date: Tue Sep 23 13:48:44 2008 +0200 CFS scheduler: documentation about scheduling policies The documentation about the CFS scheduler is scarse when it comes to scheduling policies. This patch adds a chapter about the scheduling policies it supports. Peter Zijlstra provided most of the information for it in http://marc.info/?l=linux-kernel&m=122210038326356&w=2 Signed-off-by: Martin Steigerwald Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit da654b74bda14c45a7d98c731bf3c1a43b6b74e2 Author: Srinivasa Ds Date: Tue Sep 23 15:23:52 2008 +0530 signals: demultiplexing SIGTRAP signal Currently a SIGTRAP can denote any one of below reasons. - Breakpoint hit - H/W debug register hit - Single step - Signal sent through kill() or rasie() Architectures like powerpc/parisc provides infrastructure to demultiplex SIGTRAP signal by passing down the information for receiving SIGTRAP through si_code of siginfot_t structure. Here is an attempt is generalise this infrastructure by extending it to x86 and x86_64 archs. Signed-off-by: Srinivasa DS Cc: Roland McGrath Cc: akpm@linux-foundation.org Cc: paulus@samba.org Cc: linuxppc-dev@ozlabs.org Signed-off-by: Ingo Molnar commit 101d5b713700b902b1c200cdd1925c3cb7d34567 Merge: cec5eb7... e6babb6... Author: Ingo Molnar Date: Tue Sep 23 13:26:27 2008 +0200 Merge branch 'x86/signal' into core/signal Conflicts: arch/x86/kernel/cpu/feature_names.c arch/x86/kernel/setup.c drivers/pci/intel-iommu.c include/asm-x86/cpufeature.h Signed-off-by: Ingo Molnar commit 18dbc9160507dc7df998e00cd1dcd7889557307b Author: Dmitry Adamushko Date: Tue Sep 23 12:08:44 2008 +0200 x86: moved microcode.c to microcode_intel.c Combine both generic and arch-specific parts of microcode into a single module (arch-specific parts are config-dependent). Also while we are at it, move arch-specific parts from microcode.h into their respective arch-specific .c files. Signed-off-by: Dmitry Adamushko Cc: "Peter Oruba" Signed-off-by: Ingo Molnar commit 28e3487b7dd8a9791baac924bc887140ec747bed Author: David S. Miller Date: Tue Sep 23 02:51:41 2008 -0700 tcp: Fix queue traversal in tcp_use_frto(). We must check tcp_skb_is_last() before doing a tcp_write_queue_next(). Signed-off-by: David S. Miller commit 3a72dc8eb5a7122fff439a22bd22486a4fff505c Author: Harvey Harrison Date: Mon Sep 22 14:55:46 2008 -0700 rcu: fix sparse shadowed variable warning kernel/rcuclassic.c:564:18: warning: symbol 'flags' shadows an earlier one kernel/rcuclassic.c:527:16: originally declared here Signed-off-by: Harvey Harrison Acked-by: Paul E. McKenney Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 006c75f146e58e080d2b2725a6664f71886e112b Author: Andrew Morton Date: Mon Sep 22 14:55:46 2008 -0700 sched: clarify ifdef tangle - Add some comments to try to make the ifdef puzzle a bit clearer - Explicitly inline one of the three init_hrtick() implementations. Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 77d40a0952b16e020ce07c4cf9fb22024448275b Author: David S. Miller Date: Tue Sep 23 01:29:23 2008 -0700 tcp: Fix order of tests in tcp_retransmit_skb() tcp_write_queue_next() must only be made if we know that tcp_skb_is_last() evaluates to false. Signed-off-by: David S. Miller commit 38ce7c736916293b7ce09cd6a2133894fe2cec52 Author: David S. Miller Date: Tue Sep 23 01:17:18 2008 -0700 ppp_generic: Use skb_peek() in ppp_receive_mp_frame(). Signed-off-by: David S. Miller commit a8b71a2810386a5ac8f43d2095fe3355f0d8db37 Author: Yinghai Lu Date: Tue Sep 23 00:35:33 2008 -0700 x86: fix macro with bad_bios_dmi_table DMI tables need a blank NULL tail. fixes the crash on Ingo's test box. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit f72051b0674f36c960698653a0583edaec1e495e Author: David S. Miller Date: Tue Sep 23 01:11:18 2008 -0700 neigh: Remove by-hand SKB queue handling. Signed-off-by: David S. Miller commit f4ab543201992fe499bef5c406e09f23aa97b4d5 Author: Jarek Poplawski Date: Tue Sep 23 01:05:56 2008 -0700 pkt_sched: Remove the tx queue state check in qdisc_run() The current check wrongly uses the state of one (currently the first) tx queue for all tx queues in case of non-default qdiscs. This check mainly prevented requeuing loop with __netif_schedule(), but now it's controlled inside __qdisc_run(), while dequeuing. The wrongness of this check was first noticed by Herbert Xu. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit cd07a8ea0dd4b204919b4c9ced8d9efdd9924495 Author: David S. Miller Date: Tue Sep 23 00:50:13 2008 -0700 tcp: Use SKB queue handling interfaces instead of by-hand versions. Signed-off-by: David S. Miller commit 1164f52a244204830c7625b3c22812781996d7b4 Author: David S. Miller Date: Tue Sep 23 00:49:44 2008 -0700 net: Add skb_queue_walk_from() and skb_queue_walk_from_safe(). These will be used by TCP write queue handling and elsewhere. Signed-off-by: David S. Miller commit 249c8b42c7e5e6f33d0ff983041f08278b137e53 Author: David S. Miller Date: Tue Sep 23 00:44:42 2008 -0700 net: Add skb_queue_next(). A lot of code wants to iterate over an SKB queue at the top level using it's own control structure and iterator scheme. Provide skb_queue_next(), which is only valid to invoke if skb_queue_is_last() returns false. Signed-off-by: David S. Miller commit d258b4914bcda9177bcc7bbd8e1a97b281b460af Author: David S. Miller Date: Tue Sep 23 00:34:37 2008 -0700 tcp: Use skb_queue_is_last() instead of by-hand version. Signed-off-by: David S. Miller commit fc7ebb212d3e51d1188948d975aa93dbb0f58b25 Author: David S. Miller Date: Tue Sep 23 00:34:07 2008 -0700 net: Add skb_queue_is_last(). Several bits of code want to know "is this the last SKB in a queue", and all of them implement this by hand. Provide an common interface to make this check. Signed-off-by: David S. Miller commit b5f61ab96dd093c5190c1540fed14f71ed821ce7 Author: David S. Miller Date: Tue Sep 23 00:27:47 2008 -0700 usbatm: Use skb_queue_walk_safe() instead of by-hand implementation. Signed-off-by: David S. Miller commit 47a227db746edbcfc8b78ac8a7787733faf6f171 Author: David S. Miller Date: Tue Sep 23 00:23:30 2008 -0700 zd1211: Use skb_queue_walk() instead of by-hand implementation. Signed-off-by: David S. Miller commit 2aad7c8e9b4d1cabdeac2469e7276e9daef12fa0 Author: David S. Miller Date: Tue Sep 23 00:19:19 2008 -0700 de4x5: Use skb_queue_head instead of by-hand implementation. Signed-off-by: David S. Miller commit ba8ed1210b4e5449c80beef321c4459e840fece1 Author: Jean Delvare Date: Mon Sep 22 14:15:53 2008 +0200 ALSA: ASoC: Convert tlv320aic3x to a new-style i2c driver (v2) Convert the tlv320aic3x codec driver to the new (standard) device driver binding model. Signed-off-by: Jean Delvare Cc: Vladimir Barinov Tested-by: Jarkko Nikula Acked-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b69ce01ae4ccbab2336b9beea83dea3ea3295df7 Author: Herton Ronaldo Krzesinski Date: Thu Sep 18 16:41:49 2008 -0300 ALSA: hda - Fix ALC662 DAC mixer mutes also for auto config model In previous change "[ALSA] hda-codec - Fix ALC662 DAC mixer mutes", I missed to fix the mixer mute switches also for the auto config model of ALC662. Now mute for mixer items "Front", "Surround", "Center" and "LFE" when available will work too with "auto" model. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9c95c43de81d5556237fbc82c4e90403dfe468db Author: David Woodhouse Date: Thu Sep 18 13:37:13 2008 -0700 ALSA: hda - Add PCI subsystem ID for MacBookPro4,1 This seems to work if I tell it that it's a mbp3. Not sure if there are actually any differences. Signed-off-by: David Woodhouse Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6597363219585be451e3b98c9485630ba656a536 Author: Matthew Ranostay Date: Tue Sep 16 10:39:37 2008 -0400 ALSA: hda: SPDIF mux fixes for STAC927x Corrected bounds-checking in stac92xx_auto_create_mux_input_ctls() and added a spec->spdif_labels pointer for custom SPDIF mux labels for non-standard codec connections. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 2f3dfaf5da3d43a1483b063e9d0692789241febb Author: Mark Brown Date: Tue Sep 16 12:51:26 2008 +0100 sound: ASoC: Add WM8750 SPI support Implement SPI support for WM8750, cut'n'pasting from the support for WM8731 contributed by Cliff Cai and Alan Horstmann since the wire format is the same for both codecs. Also fix a cut'n'pasted comment in the I2C side of the driver (which was clearly written in the same way) while we're at it. Signed-off-by: Mark Brown Signed-off-by: Jaroslav Kysela commit ccbc301e5346e115931ab052837d32778f8fd544 Author: Mark Brown Date: Mon Sep 15 15:51:13 2008 +0100 sound: ASoC: DAPM support for ADC on WM9713 PCM interface The stereo ADC in the WM9713 can be used to produce data for both the standard AC97 interface and the additional voice PCM interface. Support use on both by defining virtual ADCs tied to each accepting the output from the actual ADCs. Reported-by: Rodolfo Giometti Signed-off-by: Mark Brown Signed-off-by: Jaroslav Kysela commit db845374e9ba0711e2547477c23d652c15627ac5 Author: Mark Brown Date: Mon Sep 15 15:57:36 2008 +0100 sound: ASoC: Fix dependency on AC97_BUS When built with AC97 support the ASoC core depends on AC97_BUS so force it to be available Kconfig. Signed-off-by: Mark Brown Signed-off-by: Jaroslav Kysela commit d74263296658f55ecca1f0b95c106b73d239ea2f Author: Harald Welte Date: Mon Sep 15 22:43:23 2008 +0800 ALSA: HDA VIA: Replace buggy Mic Boost VT1708S' Mic Boost should be hidden in hardware design according to some customers' requirements. However, in case of bugs, it has to be exhibited to normal users, so we need to: * open a software backdoor, which is disabled by default in hardware * re-write .tlv & .info, to indicate the actual necessary info, which we cannot get from amplifier's capabiliies Signed-off-by: Logan Li Signed-off-by: Harald Welte Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 5691ec7fc302ecffddfa21b19477aaaa4386d002 Author: Harald Welte Date: Mon Sep 15 22:42:26 2008 +0800 ALSA: HDA VIA: Fix 2nd S/PDIF out function As it seems, the recently-sent patch for the 2nd S/PDIF (HDMI) output is not working with alsa-kernel 1.0.18rc3. This patch makes it work by * activating the second S/PDIF output pin in the pin config * consolidating the dig_playback_pcm_prepare() with extra_dig_pcm_prepare() functions * remove the need for an extra hda_pcm_stream structure and rather represents the second digital output as substream within the primary S/PDIF digital out stream. Signed-off-by: Logan Li Signed-off-by: Harald Welte Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f8fdd4958b6c7af9abf630f06d43db4ddcd532f6 Author: Harald Welte Date: Mon Sep 15 22:41:31 2008 +0800 ALSA: HDA VIA: Fix crash on codecs without Headphone Don't enumerate via_hp_mixer while hp_mux is null (headphone does not exist), to fix the crash of via_independent_hp_info (via_hp_mixer's .info), which will reference hp_mux. Signed-off-by: Logan Li Signed-off-by: Harald Welte Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a6d77317678148c973bb0131cc5a3a772f756d23 Author: Dmitry Baryshkov Date: Wed Sep 10 05:01:20 2008 +0400 ALSA: Separate common pxa2xx-pcm code ASoC and non-ASoC drivers for PCM DMA on PXA share lots of common code. Move it to pxa2xx-lib. [Fixed some checkpatch warnings -- broonie] Signed-off-by: Dmitry Baryshkov Signed-off-by: Mark Brown Signed-off-by: Jaroslav Kysela commit 9d1cf39be6709761be3ce0a00e5c9ee5dc805ac5 Author: Dmitry Baryshkov Date: Wed Sep 10 05:01:18 2008 +0400 ALSA: pxa2xx-ac97-lib: support building for several CPUs Support building of pxa2xx-ac97-lib for several CPUs by making code run-time selected, not only compile-time. [Fixed 3XX->3xx typos in ifdef checks -- broonie.] Signed-off-by: Dmitry Baryshkov Signed-off-by: Mark Brown Signed-off-by: Jaroslav Kysela commit 9c63634221f67450ead19820e33996b69691194f Author: Dmitry Baryshkov Date: Wed Sep 10 05:01:17 2008 +0400 ALSA: Separate common pxa2xx-ac97 code ASoC and non-ASoC drivers for ACLINK on PXA share lot's of common code. Move all common code into separate module snd-pxa2xx-lib. [Fixed handing of SND_AC97_CODEC in Kconfig and some checkpatch warnings -- broonie] Signed-off-by: Dmitry Baryshkov Signed-off-by: Mark Brown Signed-off-by: Jaroslav Kysela commit 081b355dd5a17788880a0241ed988c7483c1e40f Author: Dmitry Baryshkov Date: Wed Sep 10 05:01:19 2008 +0400 sound: ASoC: Support runtime selection of CPU in pxa2xx-i2s Signed-off-by: Dmitry Baryshkov Signed-off-by: Mark Brown Signed-off-by: Jaroslav Kysela commit 8bae3e2335132aadd29662694866a55d52bff850 Author: Kenneth Kiraly Date: Wed Sep 10 19:33:32 2008 +0100 sound: ASoC: Add WM8971 CODEC driver The WM8971 is a low power, high quality stereo codec designed for portable digital audio applications. This driver was originally written by Kenneth Kiraly. While out of tree it has had updates to reflect current kernel APIs and coding standards from Graeme Gregory and Mark Brown. Signed-off-by: Kenneth Kiraly Signed-off-by: Liam Girdwood Signed-off-by: Graeme Gregory Signed-off-by: Mark Brown Signed-off-by: Jaroslav Kysela commit f51ff9937bc6732ed5fc08088fdbe89ab8ed27c3 Author: Robin H. Johnson Date: Sat Sep 13 16:55:01 2008 -0700 ALSA: HDA: patch_analog: Quirk for Asus P5Q Premium/Pro boards. Use 6STACK_DIG for the AD2000BX variant of the AD1989B chip used by Asus on their Asus P5Q Premium and Pro boards. Signed-off-by: Robin H. Johnson Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9cae0c63785d7e1ee1c97ca75148174d483f5200 Author: Robin H. Johnson Date: Sat Sep 13 16:54:58 2008 -0700 ALSA: HDA: patch_analog: Implement multiple outputs for AD1988 Implement the slave_dig_outs for AD1989 cards. Untested due to lack of hardware. Signed-off-by: Robin H. Johnson Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0481f4534910e644626a3607b2a1a979420a2d05 Author: Robin H. Johnson Date: Sat Sep 13 16:54:57 2008 -0700 ALSA: HDA: hda_proc: Fix printf format specifier The Pincap output had a typod format specifier, leading to an extraneous "08" in the output, which is a reserved bit of the Vref field, and was really confused :-). Signed-off-by: Robin H. Johnson Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 35e8901e4de1d9d054ce6afe53293320651970fb Author: Robin H. Johnson Date: Sat Sep 13 16:54:59 2008 -0700 ALSA: HDA: hda_local: Less magic numbers. Explain some of the magic numbers I saw while trying to fix the AD1989 SPDIF issue. Maybe should just use the expanded form directly in the verbs? Signed-off-by: Robin H. Johnson Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e8bfc6c1d22395ab706784cb1bcd60f6f9569ed6 Author: Robin H. Johnson Date: Sat Sep 13 16:55:00 2008 -0700 ALSA: HDA: patch_analog: Fix SPDIF output on AD1989B The SPDIF pins for AD1989 are not enabled by default. Set OUT bit so that they actually work. Also initialize the HDMI SPDIF at the same time. Signed-off-by: Robin H. Johnson Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 2a9c78160895af2a69ebcb1ac8be54b84815cfcf Author: Matthew Ranostay Date: Sat Sep 13 16:45:39 2008 -0400 ALSA: hda: 92hd73xx fixes Added support for defining the number of amps and the creation of the private_dimux dynamically for the 92hd73xx codec family. Signed-off-by: Matthew Ranostay [Fixed a typo by tiwai] Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 418c8f89911dd3d4930221def3bd56b38b051789 Author: Uwe Kleine-König Date: Sun Sep 14 21:32:33 2008 +0200 ALSA: Fix section for snd-aica platform driver Don't use __init but __devinit to define probe function. A pointer to snd_aica_probe is passed to the core via platform_driver_register and so the function must not disappear after the module is loaded. Using __init and having HOTPLUG=y and SND_AICA=m the following probably oopses: echo -n AICA > /sys/bus/platform/driver/AICA/unbind echo -n AICA > /sys/bus/platform/driver/AICA/bind Strange enough add_aicamixer_controls which is only called by snd_aica_probe was already using __devinit. While at it move the remove function to .devexit.text section. Signed-off-by: Uwe Kleine-König Cc: Adrian McMenamin Cc: Paul Mundt Cc: Jaroslav Kysela Cc: Andrew Morton Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f7cf0a7ce56eb91752fa441cff2669f8d61d4e5e Author: Matthew Ranostay Date: Sat Sep 13 10:36:58 2008 -0400 ALSA: hda: fixed hp_nid DAC for DELL_M6 This patch sets the HP out not used by the "Headphone to Line Out" switch to the hp_nid. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 89385035fa3126dff27bfb73d186bc51e78d5ba5 Author: Matthew Ranostay Date: Thu Sep 11 09:49:39 2008 -0400 ALSA: hda: Input port AMP controls Added support for controlling hardware gain amps on input ports using a volume control mixer with a mux selecting the port being controlled. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6a14f58518dd18d315eaa6e4ca38bc6b051927af Author: Matthew Ranostay Date: Fri Sep 12 12:02:30 2008 -0400 ALSA: hda: Added a STAC_HP_M4 quirk Added a new quirk for STAC_HP_M4 series for an 92hd75xxx family laptop. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9932fbb0b37d13201655b4de2b9acda2f415d83b Author: Herton Ronaldo Krzesinski Date: Sat Sep 13 16:44:29 2008 +0200 ALSA: hda: fix oopses in snd-hda-intel after digital slave support additions Many places fail to check if codec has slave_dig_outs entries (the most common case is not having any entry), leading to various possible oopses in hda_codec code. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8569be3cf90c279957bafd4e66f1332f041831d3 Author: Alan Horstmann Date: Tue Sep 9 19:25:49 2008 +0100 sound: ASoC: Fix WM8731 SPI write Ensure wm8731_spi_write byte order is consistent regardless of endianess. Signed-off-by: Alan Horstmann Signed-off-by: Mark Brown Signed-off-by: Jaroslav Kysela commit ebf059821ed8a36acd706484b719d14d212ada32 Author: Jarek Poplawski Date: Mon Sep 22 22:16:23 2008 -0700 pkt_sched: Check the state of tx_queue in dequeue_skb() Check in dequeue_skb() the state of tx_queue for requeued skb to save on locking and re-requeuing, and possibly remove the current check in qdisc_run(). Based on the idea of Alexander Duyck. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit f0876520b0b721bedafd9cec3b1b0624ae566eee Author: David S. Miller Date: Mon Sep 22 22:15:58 2008 -0700 pkt_sched: Always use q->requeue in dev_requeue_skb(). There is no reason to call into the complicated qdiscs just to remember the last SKB where we found the device blocked. The SKB is outside of the qdiscs realm at this point. Signed-off-by: David S. Miller commit 242f8bfefe4bed626df4e4727ac8f315d80b567a Author: David S. Miller Date: Mon Sep 22 22:15:30 2008 -0700 pkt_sched: Make qdisc->gso_skb a list. The idea is that we can use this to get rid of ->requeue(). Signed-off-by: David S. Miller commit 3d09274cc9d816d62945408840a9cb76a5e7aac7 Author: David S. Miller Date: Mon Sep 22 22:14:36 2008 -0700 sctp: Use skb_queue_walk_safe() and skb_queue_split_tail_init(). Signed-off-by: David S. Miller commit 1d4a31dde95af56edac4dee268249a29a21fa7c0 Author: David S. Miller Date: Mon Sep 22 21:57:21 2008 -0700 net: Fix bus in SKB queue splicing interfaces. Handle the case of head being non-empty, by adding list->qlen to head->qlen instead of using direct assignment. Signed-off-by: David S. Miller commit 5ec877083c2c4f9e2f710dc6480dc76c27cb6f55 Author: Andrew Morton Date: Mon Sep 22 21:40:04 2008 -0700 drivers/rtc/Kconfig: don't build rtc-cmos.o on sparc32 Fix for linux-next's : Author: David S. Miller 2008-08-28 19:54:17 : Committer: David S. Miller 2008-08-29 14:16:45 : Parent: 7f60459921bd24e86b21e07c42244c510b4f46b2 (Blackfin RTC Driver: BF561 not have on-chip RTC) : Child: cca4c231028405950a15f5a27d7326d18d909784 (rtc: Add TI BQ4802 RTC driver.) : Branches: git-alsa-tiwai, linux-next : Follows: v2.6.27-rc4 : Precedes: next-20080902 : : rtc: Allow RTC_DRV_CMOS to be used on SPARC. In file included from drivers/rtc/rtc-cmos.c:40: include/asm-generic/rtc.h: In function 'rtc_is_updating': include/asm-generic/rtc.h:40: error: 'rtc_port' undeclared (first use in this function) include/asm-generic/rtc.h:40: error: (Each undeclared identifier is reported only once include/asm-generic/rtc.h:40: error: for each function it appears in.) include/asm-generic/rtc.h: In function 'get_rtc_time': include/asm-generic/rtc.h:73: error: 'rtc_port' undeclared (first use in this function) include/asm-generic/rtc.h: In function 'set_rtc_time': include/asm-generic/rtc.h:160: error: 'rtc_port' undeclared (first use in this function) drivers/rtc/rtc-cmos.c: In function 'cmos_read_alarm': drivers/rtc/rtc-cmos.c:193: error: 'rtc_port' undeclared (first use in this function) drivers/rtc/rtc-cmos.c: In function 'cmos_checkintr': drivers/rtc/rtc-cmos.c:255: error: 'rtc_port' undeclared (first use in this function) drivers/rtc/rtc-cmos.c: In function 'cmos_irq_enable': drivers/rtc/rtc-cmos.c:272: error: 'rtc_port' undeclared (first use in this function) drivers/rtc/rtc-cmos.c: In function 'cmos_irq_disable': drivers/rtc/rtc-cmos.c:292: error: 'rtc_port' undeclared (first use in this function) drivers/rtc/rtc-cmos.c: In function 'cmos_set_alarm': drivers/rtc/rtc-cmos.c:337: error: 'rtc_port' undeclared (first use in this function) drivers/rtc/rtc-cmos.c: In function 'cmos_irq_set_freq': drivers/rtc/rtc-cmos.c:378: error: 'rtc_port' undeclared (first use in this function) drivers/rtc/rtc-cmos.c: In function 'cmos_procfs': drivers/rtc/rtc-cmos.c:455: error: 'rtc_port' undeclared (first use in this function) drivers/rtc/rtc-cmos.c: In function 'cmos_nvram_read': drivers/rtc/rtc-cmos.c:519: error: 'rtc_port' undeclared (first use in this function) drivers/rtc/rtc-cmos.c: In function 'cmos_nvram_write': drivers/rtc/rtc-cmos.c:551: error: 'rtc_port' undeclared (first use in this function) drivers/rtc/rtc-cmos.c: In function 'cmos_interrupt': drivers/rtc/rtc-cmos.c:588: error: 'rtc_port' undeclared (first use in this function) drivers/rtc/rtc-cmos.c: In function 'cmos_do_probe': drivers/rtc/rtc-cmos.c:722: error: 'rtc_port' undeclared (first use in this function) Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 0b815a1a6d43ab498674b8430c8c35ab08487a16 Author: Stephen Hemminger Date: Mon Sep 22 21:28:11 2008 -0700 net: network device name ifalias support This patch add support for keeping an additional character alias associated with an network interface. This is useful for maintaining the SNMP ifAlias value which is a user defined value. Routers use this to hold information like which circuit or line it is connected to. It is just an arbitrary text label on the network device. There are two exposed interfaces with this patch, the value can be read/written either via netlink or sysfs. This could be maintained just by the snmp daemon, but it is more generally useful for other management tools, and the kernel is good place to act as an agreed upon interface to store it. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 83bfba5fca16d040bb78a24148da844db3de6a76 Author: David S. Miller Date: Mon Sep 22 20:18:47 2008 -0700 usbnet: Use skb_queue_walk_safe() instead of by-hand implementation. Signed-off-by: David S. Miller commit 953f551756a1275d9bfdbb70697323449305161a Author: Remi Denis-Courmont Date: Mon Sep 22 20:09:46 2008 -0700 Phonet: kernel documentation Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit be0c52bfed7f7828494fa00060efd5d758e92580 Author: Remi Denis-Courmont Date: Mon Sep 22 20:09:13 2008 -0700 Phonet: emit errors when a packet cannot be delivered locally When there is no listener socket for a received packet, send an error back to the sender. Signed-off-by: Remi Denis-Courmont Signed-off-by: David S. Miller commit 87ab4e20b445c6d2d2727ab4f96fa17f7259511e Author: Remi Denis-Courmont Date: Mon Sep 22 20:08:39 2008 -0700 Phonet: proc interface for port range Phonet endpoints are bound to individual ports. This provides a /proc/sys/net/phonet (or sysctl) interface for selecting the range of automatically allocated ports (much like the ip_local_port_range with IPv4). Signed-off-by: Remi Denis-Courmont Signed-off-by: David S. Miller commit 5f77076d75d35c9f5619e1f9d7e7428a627f65e6 Author: Remi Denis-Courmont Date: Mon Sep 22 20:08:04 2008 -0700 Phonet: provide MAC header operations Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 107d0d9b8d9a236883db72841fb61cedd5be845e Author: Remi Denis-Courmont Date: Mon Sep 22 20:05:57 2008 -0700 Phonet: Phonet datagram transport protocol This provides the basic SOCK_DGRAM transport protocol for Phonet. Signed-off-by: Remi Denis-Courmont Signed-off-by: David S. Miller commit ba113a94b7503ee23ffe819e7045134b0c1d31de Author: Remi Denis-Courmont Date: Mon Sep 22 20:05:19 2008 -0700 Phonet: common socket glue This provides the socket API for the Phonet protocols family. Signed-off-by: Remi Denis-Courmont Signed-off-by: David S. Miller commit 8fb397406f6470f79040c41eec49af20900a9e3b Author: Remi Denis-Courmont Date: Mon Sep 22 20:04:30 2008 -0700 Phonet: Netlink interface This provides support for configuring Phonet addresses, notifying Phonet configuration changes, and dumping the configuration. Signed-off-by: Remi Denis-Courmont Signed-off-by: David S. Miller commit f8ff60283de2b6775d7a14619056a08e3083bd40 Author: Remi Denis-Courmont Date: Mon Sep 22 20:03:44 2008 -0700 Phonet: network device and address handling This provides support for adding Phonet addresses to and removing Phonet addresses from network devices. Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 8ead536dec142f27d5b5f72c3994eb39f4741717 Author: Remi Denis-Courmont Date: Mon Sep 22 20:03:00 2008 -0700 Phonet: add CONFIG_PHONET Signed-off-by: Remi Denis-Courmont Signed-off-by: David S. Miller commit 4b07b3f69a8471cdc142c51461a331226fef248a Author: Remi Denis-Courmont Date: Mon Sep 22 20:02:10 2008 -0700 Phonet: PF_PHONET protocol family support This is the basis for the Phonet protocol families, and introduces the ETH_P_PHONET packet type and the PF_PHONET socket family. Signed-off-by: Remi Denis-Courmont Signed-off-by: David S. Miller commit bce7b15426cac3000bf6a9cf59d9356ef0be2dec Author: Remi Denis-Courmont Date: Mon Sep 22 19:51:15 2008 -0700 Phonet: global definitions Signed-off-by: Remi Denis-Courmont Signed-off-by: David S. Miller commit 5c1824587f0797373c95719a196f6098f7c6d20c Author: Herbert Xu Date: Mon Sep 22 19:48:19 2008 -0700 ipsec: Fix xfrm_state_walk race As discovered by Timo Teräs, the currently xfrm_state_walk scheme is racy because if a second dump finishes before the first, we may free xfrm states that the first dump would walk over later. This patch fixes this by storing the dumps in a list in order to calculate the correct completion counter which cures this problem. I've expanded netlink_cb in order to accomodate the extra state related to this. It shouldn't be a big deal since netlink_cb is kmalloced for each dump and we're just increasing it by 4 or 8 bytes. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit fcaa40669cd798ca2ac0d15441e8a1d1145f2b16 Author: Jaswinder Singh Date: Mon Sep 22 19:27:10 2008 -0700 cassini: use request_firmware Firmware blob looks like this... __le16 load_address unsigned char data[] [akpm@linux-foundation.org: include vmalloc.h] Signed-off-by: Jaswinder Singh Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 5e687220a047dc4f0c2fb9ce886359a23075ddbc Author: Julia Lawall Date: Mon Sep 22 19:24:45 2008 -0700 net/atm/lec.c: drop code after return The break after the return serves no purpose. Signed-off-by: Julia Lawall Reviewed-by: Richard Genoud Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 2846d3864738dd6e290755d0692cf377e09ba79f Author: Jeff Layton Date: Mon Sep 22 21:33:33 2008 -0400 cifs: have find_writeable_file prefer filehandles opened by same task When the CIFS client goes to write out pages, it needs to pick a filehandle to write to. find_writeable_file however just picks the first filehandle that it finds. This can cause problems when a lock is issued against a particular filehandle and we pick a different filehandle to write to. This patch tries to avert this situation by having find_writable_file prefer filehandles that have a pid that matches the current task. This seems to fix lock test 11 from the connectathon test suite when run against a windows server. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit bb55b327cb7638d5b5320c766950bfb328636e9f Author: Julia Lawall Date: Mon Sep 22 19:23:48 2008 -0700 drivers/net/wan: 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 Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 6a19309db0a02d821494f4df754046c85a230627 Author: Julia Lawall Date: Mon Sep 22 19:22:58 2008 -0700 drivers/atm: Use DIV_ROUND_UP The kernel.h macro DIV_ROUND_UP performs the computation (((n) + (d) - 1) / (d)) but is perhaps more readable. In the case of the file drivers/atm/eni.c, I am a little bit suspicious of the -1 at the end of the affected expression. Please check that that is what is wanted. 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 Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit ca330c5a913a9b1690c709f4cfcd6be0c8696b14 Author: Ming Lei Date: Mon Sep 22 19:21:51 2008 -0700 hci_usb: replace mb with smp_mb smp_mb is enough for ordering memory operations among processors,and mb is more expensive than smp_mb for UP machine, so replace it with smp_mb(). Signed-off-by: Ming Lei Acked-by: Marcel Holtmann Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit d48abfecea8513cfd2fd7e341439c1b8a28e9ff4 Author: Harvey Harrison Date: Mon Sep 22 19:20:51 2008 -0700 net: em_cmp.c use unaligned access helpers Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 978e9aec262d66d13ccceece93b867bfc0fcd2f1 Author: Bjorn Helgaas Date: Mon Sep 22 19:20:06 2008 -0700 irda: follow lspci device/vendor style Use "[%04x:%04x]" for PCI vendor/device IDs to follow the format used by lspci(8). Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit ce425a9f2c0182e9a9e49c7dc18699f2db4c3f48 Author: Andi Kleen Date: Mon Sep 22 19:18:15 2008 -0700 mISDN: misc timerdev fixes - Remove noop VFS stubs. The VFS does that on a NULL pointer anyways. - Fix timer handler prototype to be correct - Comment ugly SMP race I didn't fix. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 1532dcb75c238d79c54a037da87c3f495cbf605b Author: Harvey Harrison Date: Mon Sep 22 19:16:51 2008 -0700 mISDN: annotate iomem pointer and add statics Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit f11d32dfaa0753cfab7b2e5052923e8784a3c141 Author: Harvey Harrison Date: Mon Sep 22 19:16:20 2008 -0700 mISDN: endian annotations for struct zt Found two possible bugs where the z1 value was used directly without byteswapping. Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 4d5392cc4de3403d71b929f39f3bc659db029ad1 Author: Julia Lawall Date: Mon Sep 22 19:04:54 2008 -0700 drivers/isdn/capi/kcapi.c: Adjust error handling code involving capi_ctr_put After calling capi_ctr_get, error handling code should call capi_ctr_put. The semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r@ expression x,E; statement S; position p1,p2,p3; @@ ( if ((x = capi_ctr_get@p1(...)) == NULL || ...) S | x = capi_ctr_get@p1(...) ... when != x if (x == NULL || ...) S ) <... if@p3 (...) { ... when != capi_ctr_put(x) when != if (x) { ... capi_ctr_put(x); ...} return@p2 ...; } ...> ( return x; | return 0; | x = E | E = x | capi_ctr_put(x) ) @exists@ position r.p1,r.p2,r.p3; expression x; int ret != 0; statement S; @@ * x = capi_ctr_get@p1(...) <... * if@p3 (...) S ...> * return@p2 \(NULL\|ret\); // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 2cdc55751c33829f00510e0104562d0f8d8a9b85 Author: Kaihui Luo Date: Mon Sep 22 19:02:36 2008 -0700 netfilter: xt_time gives a wrong monthday in a leap year The function localtime_3 in xt_time.c gives a wrong monthday in a leap year after 28th 2. calculating monthday should use the array days_since_leapyear[] not days_since_year[] in a leap year. Signed-off-by: Kaihui Luo Acked-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 232087cb734c7035c0a8947fb05d3e8092ff6c4d Author: Pekka Enberg Date: Mon Sep 15 13:22:54 2008 +0300 cifs: don't use GFP_KERNEL with GFP_NOFS GFP_KERNEL and GFP_NOFS are mutually exclusive. If you combine them, you end up with plain GFP_KERNEL which can deadlock in cases where you really want GFP_NOFS. Cc: Steve French Signed-off-by: Pekka Enberg Signed-off-by: Steve French commit f702ba0fd7d50b5f5f5aea5317875a10d40b869f Author: Theodore Ts'o Date: Mon Sep 22 15:21:01 2008 -0400 ext4: Don't use 'struct dentry' for internal lookups This is a port of a patch from Linus which fixes a 200+ byte stack usage problem in ext4_get_parent(). It's more efficient to pass down only the actual parts of the dentry that matter: the parent inode and the name, instead of allocating a struct dentry on the stack. Signed-off-by: Linus Torvalds Signed-off-by: "Theodore Ts'o" commit 914258bf2cb22bf4336a1b1d90c551b4b11ca5aa Author: Theodore Ts'o Date: Mon Oct 6 21:35:40 2008 -0400 ext4/jbd2: Avoid WARN() messages when failing to write to the superblock This fixes some very common warnings reported by kerneloops.org Signed-off-by: "Theodore Ts'o" commit afa9fdc2f5f8e4d98f3e77bfa204412cbc181346 Author: FUJITA Tomonori Date: Sat Sep 20 01:23:30 2008 +0900 iommu: remove fullflush and nofullflush in IOMMU generic option This patch against tip/x86/iommu virtually reverts 2842e5bf3115193f05dc9dac20f940e7abf44c1a. But just reverting the commit breaks AMD IOMMU so this patch also includes some fixes. The above commit adds new two options to x86 IOMMU generic kernel boot options, fullflush and nofullflush. But such change that affects all the IOMMUs needs more discussion (all IOMMU parties need the chance to discuss it): http://lkml.org/lkml/2008/9/19/106 Signed-off-by: FUJITA Tomonori Acked-by: Joerg Roedel Signed-off-by: Ingo Molnar commit ed6dc4981368aa8ac89b0ea61535cfa2b03533cb Author: FUJITA Tomonori Date: Tue Sep 23 01:15:10 2008 +0900 x86: remove set_bit_string() "export iommu_area_reserve helper funciton" patch converted all the users of set_bit_string, GART, Calgary and AMD IOMMU drivers, to use iommu_area_reserve helper function. Now we can remove unused set_bit_string function. Signed-off-by: FUJITA Tomonori Signed-off-by: Ingo Molnar commit b3e15bdef689641e7f1bb03efbe56112c3ee82e2 Author: Aristeu Rozanski Date: Mon Sep 22 13:13:59 2008 -0400 x86, NMI watchdog: setup before enabling NMI watchdog There's a small window when NMI watchdog is being set up that if any NMIs are triggered, the NMI code will make make use of not initalized wd_ops elements: void setup_apic_nmi_watchdog(void *unused) { if (__get_cpu_var(wd_enabled)) return; /* cheap hack to support suspend/resume */ /* if cpu0 is not active neither should the other cpus */ if (smp_processor_id() != 0 && atomic_read(&nmi_active) <= 0) return; switch (nmi_watchdog) { case NMI_LOCAL_APIC: /* enable it before to avoid race with handler */ --> __get_cpu_var(wd_enabled) = 1; --> if (lapic_watchdog_init(nmi_hz) < 0) { (...) asmlinkage notrace __kprobes void default_do_nmi(struct pt_regs *regs) { (...) if (nmi_watchdog_tick(regs, reason)) return; (...) notrace __kprobes int nmi_watchdog_tick(struct pt_regs *regs, unsigned reason) { (...) if (!__get_cpu_var(wd_enabled)) return rc; switch (nmi_watchdog) { case NMI_LOCAL_APIC: rc |= lapic_wd_event(nmi_hz); (...) int lapic_wd_event(unsigned nmi_hz) { struct nmi_watchdog_ctlblk *wd = &__get_cpu_var(nmi_watchdog_ctlblk); u64 ctr; --> rdmsrl(wd->perfctr_msr, ctr); and wd->*_msr will be initialized on each processor type specific setup, after enabling NMIs for PMIs. Since the counter was just set, the chances of an performance counter generated NMI is minimal, but any other unknown NMI would trigger the problem. This patch fixes the problem by setting everything up before enabling performance counter generated NMIs and will set wd_enabled using a callback function. Signed-off-by: Aristeu Rozanski Acked-by: Don Zickus Acked-by: Prarit Bhargava Acked-by: Vivek Goyal Signed-off-by: Ingo Molnar commit 28b166a700899a0f88b1cc283c449fb5bf72a635 Author: Aristeu Rozanski Date: Mon Sep 22 13:14:13 2008 -0400 x86, NMI watchdog: when booting with reset_devices, clear the performance counters P4s have a quirk that makes necessary to clear P4_CCCR_OVF bit on the CCCR everytime the PMI is triggered. When booting the kernel with reset_devices (more specific kdump case), the counters reach zero and the PMI will be generated. This is not a problem on other processors but on P4s, it'll continue to generate NMIs until that bit is cleared. Since there may be other users of the performance counters, clear and disable all of them when booting with reset_devices option. We have a P4 box here that crashes because of this problem. Since the kdump kernel usually boots with only one processor active, the second logical unit won't be set up, therefore, MSR_P4_IQ_CCCR1 (and other performance counter registers) won't be cleared and P4_CCCR_OVF may be still set because the previous kernel was using this register. An NMI is triggered because of the MSR_P4_IQ_CCCR1 right after the NMI delivery is enabled, triggering the race fixed on my previous email. Signed-off-by: Aristeu Rozanski Acked-by: Don Zickus Acked-by: Prarit Bhargava Acked-by: Vivek Goyal Signed-off-by: Ingo Molnar commit caea8a03702c147e8ae90da0801e7ba8297b1d46 Author: Chris Friesen Date: Mon Sep 22 11:06:09 2008 -0600 sched: fix list traversal to use _rcu variant load_balance_fair() calls rcu_read_lock() but then traverses the list using the regular list traversal routine. This patch converts the list traversal to use the _rcu version. Signed-off-by: Chris Friesen Signed-off-by: Ingo Molnar commit d26dbc5cf94b0a28acc947285c3b54814a73cb2e Author: FUJITA Tomonori Date: Mon Sep 22 22:35:07 2008 +0900 iommu: export iommu_area_reserve helper function x86 has set_bit_string() that does the exact same thing that set_bit_area() in lib/iommu-helper.c does. This patch exports set_bit_area() in lib/iommu-helper.c as iommu_area_reserve(), converts GART, Calgary, and AMD IOMMU to use it. Signed-off-by: FUJITA Tomonori Acked-by: Joerg Roedel Signed-off-by: Ingo Molnar commit f681bbd656b01439be904250a1581ca9c27505a1 Author: Ingo Molnar Date: Mon Sep 22 16:29:00 2008 +0200 sched: turn off WAKEUP_OVERLAP WAKEUP_OVERLAP is not a winner on a 16way box, running psql+sysbench: .27-rc7-NO_WAKEUP_OVERLAP .27-rc7-WAKEUP_OVERLAP ------------------------------------------------- 1: 694 811 +14.39% 2: 1454 1427 -1.86% 4: 3017 3070 +1.70% 8: 5694 5808 +1.96% 16: 10592 10612 +0.19% 32: 9693 9647 -0.48% 64: 8507 8262 -2.97% 128: 8402 7087 -18.55% 256: 8419 5124 -64.30% 512: 7990 3671 -117.62% ------------------------------------------------- SUM: 64466 55524 -16.11% ... so turn it off by default. Signed-off-by: Ingo Molnar commit 15afe09bf496ae10c989e1a375a6b5da7bd3e16e Author: Peter Zijlstra Date: Sat Sep 20 23:38:02 2008 +0200 sched: wakeup preempt when small overlap Lin Ming reported a 10% OLTP regression against 2.6.27-rc4. The difference seems to come from different preemption agressiveness, which affects the cache footprint of the workload and its effective cache trashing. Aggresively preempt a task if its avg overlap is very small, this should avoid the task going to sleep and find it still running when we schedule back to it - saving a wakeup. Reported-by: Lin Ming Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 31f3d4a317ae1541bf25d0efbf4551855bed0d5b Author: Bryan Wu Date: Mon Sep 22 20:23:55 2008 +0800 Blackfin arch: add dma mapping stub for musb driver port Signed-off-by: Bryan Wu commit 50041acbe4122817fed9d76a846e78ba6f06c0b5 Author: Bryan Wu Date: Wed Oct 8 13:39:40 2008 +0800 Blackfin arch: use new platform data interface of musb to replace old one Signed-off-by: Bryan Wu commit 16dc552f35bc0ec6fec8ef83f8032eee352d17f5 Author: Yinghai Lu Date: Fri Sep 19 11:45:04 2008 -0700 x86: use WARN_ONCE in workaround for mtrr mask so could help catch attention about bug in bios about mtrr mask setting. WARN_ONCE got into mainline already, lets use it. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 0b88641f1bafdbd087d5e63987a30cc0eadd63b9 Merge: fbdbf70... 72d3105... Author: Ingo Molnar Date: Mon Sep 22 13:08:57 2008 +0200 Merge commit 'v2.6.27-rc7' into x86/debug commit 153dab77e228931f3aff74f21b762927ac710ca7 Author: Akinobu Mita Date: Sun Sep 21 23:25:40 2008 +0900 x86: use platform_device_register_simple() Cleanup pcspeaker.c Signed-off-by: Akinobu Mita Signed-off-by: Ingo Molnar commit af2d237bf574f89ae5a1b67f2556a324c8f64ff5 Author: Akinobu Mita Date: Sun Sep 21 23:27:13 2008 +0900 x86: check for ioremap() failure in copy_oldmem_page() Add a check for ioremap() failure in copy_oldmem_page(). This patch also includes small coding style fixes. Signed-off-by: Akinobu Mita Signed-off-by: Ingo Molnar commit 2216d199b1430d1c0affb1498a9ebdbd9c0de439 Author: Yinghai Lu Date: Mon Sep 22 02:52:26 2008 -0700 x86: fix CONFIG_X86_RESERVE_LOW_64K=y The bad_bios_dmi_table() quirk never triggered because we do DMI setup too late. Move it a bit earlier. Also change the CONFIG_X86_RESERVE_LOW_64K quirk to operate on the e820 table directly instead of messing with early reservations - this handles overlaps (which do occur in this low range of RAM) more gracefully. Signed-off-by: Ingo Molnar commit 147e70e62fdd5af6263106ad634b03c5154c1e56 Author: David S. Miller Date: Mon Sep 22 01:29:52 2008 -0700 cxgb3: Use SKB list interfaces instead of home-grown implementation. Signed-off-by: David S. Miller commit 5871c6b0a52bb052c3891a787655043b90ae18e3 Author: Arjan van de Ven Date: Sat Sep 20 20:35:44 2008 -0700 x86: use round_jiffies() for the corruption check timer the exact timing of the corruption check isn't too important (it's once a minute timer), use round_jiffies() to align it and avoid extra wakeups. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit 38783e671399b5405f1fd177d602c400a9577ae6 Author: David S. Miller Date: Mon Sep 22 01:15:02 2008 -0700 isdn: isdn_ppp: Use SKB list facilities instead of home-grown implementation. Signed-off-by: David S. Miller commit 787928e7473246991177e8cd7eeaf4cb1b3a8fbc Author: Uwe Kleine-König Date: Sun Sep 21 23:52:08 2008 +0200 avr32: Use platform_driver_probe for pdc platform driver The probe function of the pdc platform driver lives in the init section and so a pdc device that is created after the init section is discarded probably results in an oops. Even if this cannot happen, using platform_driver_probe is cleaner. (If this can happen and should be supported the probe function must live in the devinit section instead.) Signed-off-by: Uwe Kleine-König Signed-off-by: Haavard Skinnemoen commit d6634db8fe1784d0a8e4e156970fec034708446e Author: Uwe Kleine-König Date: Sun Sep 21 23:52:07 2008 +0200 avr32: Use platform_driver_probe for pio platform driver The probe function of the pio platform driver lives in the init section and so a pio device that is created after the init section is discarded probably results in an oops. Even if this cannot happen, using platform_driver_probe is cleaner. (If this can happen and should be supported the probe function must live in the devinit section instead.) Signed-off-by: Uwe Kleine-König Signed-off-by: Haavard Skinnemoen commit ece2678c62ce13ef11a8b43526ccc5db8d711ed3 Author: Haavard Skinnemoen Date: Fri Sep 19 17:13:28 2008 +0200 avr32: Provide a way to deselect pins in the portmux Currently, setting up the portmux is completely one-shot: Once a pin is muxed, the portmux driver will complain loudly and refuse to do anything if you try to set up the same pin again. Sometimes, it may be necessary to change the configuration of a pin after it has been set up initially. This patch adds a way to undo the previous configuration, allowing the pin to be reconfigured. Signed-off-by: Haavard Skinnemoen commit 96706600de83966812b01a3cb310a13da2a1a4e9 Author: David Brownell Date: Sat Sep 6 20:19:02 2008 -0700 ngw100: export J15 through sysfs The NGW100 board has jumper J15 (near the reset button) which is unused. This patch exports it through the GPIO sysfs support (as /sys/class/gpio/gpio62/value) so that it's easily queried by boot scripts or whatever might want to know if the jumper has been installed (value = 0) or not (value = 1, "default"). Signed-off-by: David Brownell [haavard.skinnemoen@atmel.com: add missing include] Signed-off-by: Haavard Skinnemoen commit 7066412488281fd1c201dceb22a0dfe467012f76 Author: Julien May Date: Mon Aug 4 14:27:38 2008 +0200 avr32: Allow fine-grained control over LCDC pins This replaces the pin_config param with an u64 pin_mask in at32_add_device_lcdc, allowing a board-maintainer to indivually select specific lcdc pins. Signed-off-by: Alex Raimondi Signed-off-by: Julien May Signed-off-by: Haavard Skinnemoen commit 48c1fd3882286fd9e978ca8725013f2e060b700e Author: Marco Stornelli Date: Tue Sep 16 09:14:03 2008 +0200 avr32: added mem kernel command line option support Signed-off-by: Marco Stornelli Signed-off-by: Haavard Skinnemoen commit 3d256151471ba9fd60a5b896a706eb21a6b1cea1 Author: Nikolaus Voss Date: Wed Sep 3 12:50:32 2008 +0200 Add kernel support for oprofile callgraphs on AVR32 This patch adds backtracing capability to oprofile profiling in kernel and user mode on AVR32. This is done by going through the frames on the stack and adding oprofile traces for all return addresses. The code being profiled has to be compiled with frame pointers to make this work. Signed-off-by: Nikolaus Voss Signed-off-by: Haavard Skinnemoen commit f3c450be7b0defab59e360eca8a7e201d424d526 Author: Harvey Harrison Date: Tue Aug 12 17:26:35 2008 -0700 avr32: use the new byteorder headers Signed-off-by: Harvey Harrison [haavard.skinnemoen@atmel.com: fix build breakage] Signed-off-by: Haavard Skinnemoen commit 7407a2e4b9e1fb3528bb355a571ee3eb7e32c386 Author: Clemens Ladisch Date: Mon Sep 22 09:12:11 2008 +0200 ALSA: virtuoso: add Xonar HDAV1.3 support Add support for the Asus Xonar HDAV1.3 and the Xonar HDAV1.3 Deluxe. Signed-off-by: Clemens Ladisch commit 79c50e23d4272404da7349010f514516976b447a Author: Clemens Ladisch Date: Mon Sep 22 09:07:53 2008 +0200 ALSA: oxygen: rename first PCM device Rename the first PCM device from "Analog" to "Multichannel" because it can be used for HDMI output on the Xonar HDAV. Signed-off-by: Clemens Ladisch commit c871c4a83abaf6caedeff1c502e2c10fd88cbb54 Author: Clemens Ladisch Date: Mon Sep 22 09:07:20 2008 +0200 ALSA: virtuoso: rename AC97 callback function Rename the callback function that switches between line and mic inputs on the Xonar D1 because it is also usable on other models. Signed-off-by: Clemens Ladisch commit 70c27d345ed74ca9ea7ebf1fa0186af644caeb1d Author: Clemens Ladisch Date: Mon Sep 22 09:06:38 2008 +0200 ALSA: virtuoso: make number of PCM1796 DACs configurable Do not use a hardcoded number when iterating over the PCM1796 DACs to allow for cards with a different number of analog output channels. Signed-off-by: Clemens Ladisch commit 4f50d2fd00da451261f51f28e929ebd161068422 Author: Clemens Ladisch Date: Mon Sep 22 09:06:04 2008 +0200 ALSA: virtuoso: allow I2C-connected PCM1796 Add support for PCM1796 chips that are connected with an I2C bus instead of SPI. Signed-off-by: Clemens Ladisch commit c2bc4ff58d7aabcf1fc96134200d685d796ae425 Author: Clemens Ladisch Date: Mon Sep 22 09:05:29 2008 +0200 ALSA: oxygen: add self-documenting functions Introduce some trivial functions to better document the relationships of the various model callbacks. Signed-off-by: Clemens Ladisch commit 397b1dcc449082ce3f720c548da9c59db01cb739 Author: Clemens Ladisch Date: Mon Sep 22 09:04:43 2008 +0200 ALSA: oxygen: add UART I/O functions Add functions to allow model drivers to communicate with external chips by doing I/O with the not-used-for-MIDI UART. Signed-off-by: Clemens Ladisch commit dbbbd6744439d95d2b0dc23c5cdca2c477377f76 Author: Clemens Ladisch Date: Mon Sep 22 09:03:42 2008 +0200 ALSA: oxygen: configure MIDI via device_config To enable the MIDI port, model drivers must now set flags in device_config, not only in misc_flags. This allows model drivers to enable the UART without creating an ALSA MIDI device. Signed-off-by: Clemens Ladisch commit d76596b1ee7f5cdbd0b73d374ba72372a2c8b725 Author: Clemens Ladisch Date: Mon Sep 22 09:02:08 2008 +0200 ALSA: oxygen: rename pcm_dev_cfg Rename the pcm_dev_cfg field to device_config because there will be additional flags that do not describe PCM devices. Signed-off-by: Clemens Ladisch commit c3f00739c5e45b4bf6f759172a5318256b92f2b2 Author: Clemens Ladisch Date: Mon Sep 22 09:01:11 2008 +0200 ALSA: virtuoso: create common functions for GPIO bit switch controls Factor out the common code of the mixer callbacks that handle controls that just switch a single GPIO bit. Signed-off-by: Clemens Ladisch commit fe10662c3c7e1a77cac7949a4b269622da663c2e Author: Clemens Ladisch Date: Mon Sep 22 09:00:30 2008 +0200 ALSA: virtuoso: handle D2X/DX dynamically The Xonar D2X and DX are very similar to the D2 and D1, respectively, so we can handle the differences dynamically instead of using a separate model structure for each one. Signed-off-by: Clemens Ladisch commit 4bd0c3a690594b4037c3edc49e6475f1df13c59d Author: Clemens Ladisch Date: Mon Sep 22 08:59:18 2008 +0200 ALSA: oxygen: handle X-Meridian dynamically Handle the differences between the X-Meridian and the other models in the probe callback instead of using a second model structure. Signed-off-by: Clemens Ladisch commit 2f1b0ec715a1d804b53b45f2555527c27247d1e1 Author: Clemens Ladisch Date: Mon Sep 22 08:57:24 2008 +0200 ALSA: oxygen: remove X-Meridian magic number Introduce symbols that indicate the two models handled by the snd-oxygen driver, instead of using a magic number. Signed-off-by: Clemens Ladisch commit 568c59e722da22c9b0a485c2f1aaf28cb1b36b79 Author: Clemens Ladisch Date: Mon Sep 22 08:56:01 2008 +0200 ALSA: oxygen: add probe callback Add a probe callback to the model structure so that model-specific drivers can refine their model detection before the card is initialized. Signed-off-by: Clemens Ladisch commit 9bd6a73aef955216816fd6e28f371a868ed073d5 Author: Clemens Ladisch Date: Mon Sep 22 08:55:19 2008 +0200 ALSA: oxygen: use a copy of the model struct Put a copy of the model structure into the chip structure so that model- specific drivers can modify it depending on a particular device instance. Signed-off-by: Clemens Ladisch commit 6627bea10e8b31cdedd3a59a311d9ad1e010059a Author: Clemens Ladisch Date: Mon Sep 22 08:53:31 2008 +0200 ALSA: oxygen: use SPDIF channel status symbols When setting the SPDIF channel status sample rate field, use the recently defined symbols instead of magic numbers. Signed-off-by: Clemens Ladisch commit 6d80c39f9155e289fe8037a8b6352931ff916ceb Author: Steven Whitehouse Date: Mon Sep 22 07:29:31 2008 +0100 GFS2: Add UUID to GFS2 sb This patch adds a UUID to the GFS2 sb structure. This field is not actually referenced from kernel space at all, but is added for completeness and due to the userland tools which get their on-disk structure information from the gfs2_ondisk.h header file. Since we have to be backwards compatible, we will assume that any GFS2 sb for which the UUID is all 0 does not have a UUID as such. We should then be (after some userland changes) able to support the -U mount option. This addresses Fedora bugzilla #242689 Signed-off-by: Steven Whitehouse commit 8fc5387cb837f9e44a0be2d7e297bbbcab36a292 Author: David S. Miller Date: Sun Sep 21 22:44:08 2008 -0700 bluetooth: hci_bcsp: Use SKB list interfaces instead of home-grown stuff. Signed-off-by: David S. Miller commit e9bb8fb0b6d61a822201537b25206a0ca34b9d1d Author: David S. Miller Date: Sun Sep 21 22:36:49 2008 -0700 aoe: Use SKB interfaces for list management instead of home-grown stuff. Signed-off-by: David S. Miller commit 67fed45930fa31e92c11beb3a3dbf83a1a92a58d Author: David S. Miller Date: Sun Sep 21 22:36:24 2008 -0700 net: Add new interfaces for SKB list light-weight init and splicing. This will be used by subsequent changesets. Signed-off-by: David S. Miller commit ceade961c4c8d8bc033dc7907047818c9525c326 Author: David S. Miller Date: Sun Sep 21 21:38:26 2008 -0700 atm: idt77252: Use generic SKB queue management instead of home-grown scheme. Signed-off-by: David S. Miller commit 43f59c89399fd76883a06c551f24794e98409432 Author: David S. Miller Date: Sun Sep 21 21:28:51 2008 -0700 net: Remove __skb_insert() calls outside of skbuff internals. This minor cleanup simplifies later changes which will convert struct sk_buff and friends over to using struct list_head. Signed-off-by: David S. Miller commit ab2b49518e743962f71b94246855c44ee9cf52cc Merge: f058925... 72d3105... Author: James Morris Date: Sun Sep 21 17:41:56 2008 -0700 Merge branch 'master' into next Conflicts: MAINTAINERS Thanks for breaking my tree :-) Signed-off-by: James Morris commit 8d5803bf6fbe5264000afc8c34bff08e8ecc023b Author: Sven Wegener Date: Sat Sep 20 11:48:33 2008 +0200 ipvs: Fix unused label warning Signed-off-by: Sven Wegener Signed-off-by: Simon Horman commit e6f225ebb7c35fe30fdf8608927c5cf8fce6de7d Author: Sven Wegener Date: Fri Sep 19 20:41:56 2008 +0200 ipvs: Restrict sync message to 255 connections The nr_conns variable in the sync message header is only eight bits wide and will overflow on interfaces with a large MTU. As a result the backup won't parse all connections contained in the sync buffer. On regular ethernet with an MTU of 1500 this isn't a problem, because we can't overflow the value, but consider jumbo frames being used on a cross-over connection between both directors. We now restrict the size of the sync buffer, so that we never put more than 255 connections into a single sync buffer. Signed-off-by: Sven Wegener Signed-off-by: Simon Horman commit 1afb7f809bfb8fad9eec9419f3dfd75cee746ebd Merge: ff4be78... 8b05cef... Author: Paul Mackerras Date: Sun Sep 21 18:18:21 2008 -0500 Merge branch 'powerpc-next' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc commit ff4be78bb70f5e8381fa68b374a506fecc17d833 Merge: a501d8f... 423da26... Author: Paul Mackerras Date: Sun Sep 21 18:17:25 2008 -0500 Merge branch 'next' of ssh://master.kernel.org/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx commit df08ef27a7f91961c91a2a718f5d1e616f1c8e57 Author: Andres Salomon Date: Tue Sep 16 12:30:34 2008 -0400 Input: psmouse - add OLPC touchpad driver This adds support for OLPC's touchpad. It has lots of neat features, none of which are enabled because the hardware is too buggy. Instead, we use it like a normal touchpad, but with a number of workarounds in place to deal with the frequent hardware spasms. Humidity changes, sweat, tinfoil underwear, plugging in AC, drinks, evil felines.. All tend to cause the touchpad to freak out. Signed-off-by: Andres Salomon Signed-off-by: Dmitry Torokhov commit 68d482214bb0eaac138ace329e72390d6c8d44ff Author: Andres Salomon Date: Tue Sep 16 12:30:34 2008 -0400 Input: psmouse - tweak PSMOUSE_DEFINE_ATTR to support raw set callbacks We want to support attr->set callbacks that may need psmouse->state to not be updated, or may want to manually deal w/ enabling and disabling the device. To do that, we create __PSMOUSE_DEFINE_ATTR which enables us to set a 'protect' argument specifying whether or not the set callback should be protected with psmouse_disable and state setting. Signed-off-by: Andres Salomon Signed-off-by: Dmitry Torokhov commit 8bf020ee9650899a45295d0c3a0744d4d1bf2801 Author: Andres Salomon Date: Tue Sep 16 12:30:33 2008 -0400 Input: psmouse - add psmouse_queue_work() for ps/2 extension to make use of psmouse_queue_work is passed a delayed_work struct, and queues up the work with kpsmouse_wq. Since we're dealing with delayed_work stuff, this also switches resync_work to a delayed_work struct as well, and makes use of psmouse_queue_work when doing a resync within psmouse-base. Signed-off-by: Andres Salomon Signed-off-by: Dmitry Torokhov commit a48cf5f3e5aef5ecb667f954ae1ae2a9b875465f Author: Andres Salomon Date: Tue Sep 16 12:30:33 2008 -0400 Input: psmouse - export psmouse_set_state for ps/2 extensions to use Signed-off-by: Andres Salomon Signed-off-by: Dmitry Torokhov commit 3d73e89328f124cf1f56fa13124a420010b7f5e7 Author: Andrew Victor Date: Thu Sep 18 21:44:20 2008 +0100 [ARM] 5265/3: [AT91] Add copyright info Add copyright information for some of the AT91 header files. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit eaad2db03cbbf734aa95f99eb93fb6309637dbca Author: Andrew Victor Date: Sun Sep 21 21:35:18 2008 +0100 [ARM] 5264/2: [AT91] Suspend-to-RAM disables main oscillator This patch adds support for a low(er)-power suspend-to-RAM. In addition to the SDRAM being put into self-refresh mode, the Master Clock is set to the Slow-clock rate (32Khz) and PLLA & PLLB are disabled. Certain peripherals are therefore also disabled, and thus cannot be used as wakeup sources. This patch has been included in the AT91 patches in various forms since 2.6.19 and a number of people have worked or commented on it, most notably: Savin Zlobec (for the original AT91RM9200 support) Anti Sullin (for the SAM9260 version) David Brownell, etc. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 77789ad8b1d58eb9ba5e14860f439d024c5e4120 Author: Andrew Victor Date: Sun Sep 21 21:34:06 2008 +0100 [ARM] 5263/2: [AT91] GPIO buttons as wakeup sources Allow the various GPIO-connected buttons to be used as wakeup sources. Also enable the internal GPIO pullup. Signed-off-by: Sedji Gaouaou Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 2e9f12d6dd061899385bcd910ecb8777c6d05a72 Author: Andrew Victor Date: Sun Sep 21 21:32:40 2008 +0100 [ARM] 5262/2: [AT91] Support for GPIO-connected buttons on SAM9260-EK board Add support or the GPIO-connected buttons on the Atmel AT91SAM9260-EK board. Signed-off-by: Sedji Gaouaou Signed-off-by: Andrew Victor Signed-off-by: Russell King commit f7647e63f32c501e8b59ccfdac50eb3d3e897c41 Author: Andrew Victor Date: Thu Sep 18 19:45:35 2008 +0100 [ARM] 5260/1: [AT91] Touchscreen on AT91SAM9RL This patch adds initialization of the Touchscreen controller for the AT91SAM9RL processor. Signed-off-by: Justin Waters Signed-off-by: Dan Liang Signed-off-by: Andrew Victor Signed-off-by: Russell King commit a7307bf22557e1e029df0ea6f2a2973de4d9c135 Author: Andrew Victor Date: Sun Sep 21 21:31:16 2008 +0100 [ARM] 5259/2: [AT91] PWM LEDs on AT91SAM9263-EK Use the PWM controller and leds-atmel-pwm.c driver to drive a LED on the Atmel AT91SAM9263-EK board. Signed-off-by: Sedji Gaouaou Signed-off-by: Andrew Victor Signed-off-by: Russell King commit bb1ad68b96a68e577a87ad62fe1aa26d052a52b5 Author: Andrew Victor Date: Thu Sep 18 19:42:37 2008 +0100 [ARM] 5258/1: [AT91] PWM controller initialization Add platform_devices and configuration of the PWM controller found on Atmel AT91CAP9, SAM9263 and SAM9RL processors. SAM9263 support by Sedji Gaouaou. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit e505240b6a6fd47b84cfeb1272ffeacd3e0874b3 Author: Andrew Victor Date: Sun Sep 21 21:30:02 2008 +0100 [ARM] 5257/2: [AT91] Use SZ_ definitions and MTDPART_OFS_NXTBLK instead of hex-values In the various AT91 board files, replace hard-coded size values (eg, 0x800000) with the SZ_ size definitions (eg, SZ_8M) from sizes.h Also replace MTD partition offsets with MTDPART_OFS_NXTBLK. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit a1cd0464c6f5857d87466130753d81b783bd3c52 Author: David Brownell Date: Sun Sep 21 00:28:26 2008 -0700 sparc: arch/sparc/kernel/pmc.c -- extra #include? I have no SPARC compiler handy to verify, but it looks like this is another file that doesn't need ... Signed-off-by: David S. Miller commit f5fff5dc8a7a3f395b0525c02ba92c95d42b7390 Author: Tom Quetchenbach Date: Sun Sep 21 00:21:51 2008 -0700 tcp: advertise MSS requested by user I'm trying to use the TCP_MAXSEG option to setsockopt() to set the MSS for both sides of a bidirectional connection. man tcp says: "If this option is set before connection establishment, it also changes the MSS value announced to the other end in the initial packet." However, the kernel only uses the MTU/route cache to set the advertised MSS. That means if I set the MSS to, say, 500 before calling connect(), I will send at most 500-byte packets, but I will still receive 1500-byte packets in reply. This is a bug, either in the kernel or the documentation. This patch (applies to latest net-2.6) reduces the advertised value to that requested by the user as long as setsockopt() is called before connect() or accept(). This seems like the behavior that one would expect as well as that which is documented. I've tried to make sure that things that depend on the advertised MSS are set correctly. Signed-off-by: Tom Quetchenbach Signed-off-by: David S. Miller commit 6067804047b64dde89f4f133fc7eba48ee44107d Author: Arnaldo Carvalho de Melo Date: Sat Sep 20 22:20:49 2008 -0700 net: Use hton[sl]() instead of __constant_hton[sl]() where applicable Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit a574420ff46cff0245e6b0fce2e961aa2717743d Author: Alexander Duyck Date: Sat Sep 20 22:07:34 2008 -0700 multiq: requeue should rewind the current_band Currently dequeueing a packet and requeueing the same packet will cause a different packet to be pulled on the next dequeue. This change forces requeue to rewind the current_band. Signed-off-by: Alexander Duyck Signed-off-by: David S. Miller commit 618d9f25548ba6fc3a9cd2ce5cd56f4f015b0635 Author: Ilpo Järvinen Date: Sat Sep 20 21:26:22 2008 -0700 tcp: back retransmit_high when it over-estimated If lost skb is sacked, we might have nothing to retransmit as high as the retransmit_high is pointing to, so place it lower to avoid unnecessary walking. This is mainly for the case where high L'ed skbs gets sacked. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 90638a04ad8484b6b6c567656fb3f6d0689e23da Author: Ilpo Järvinen Date: Sat Sep 20 21:25:52 2008 -0700 tcp: don't clear lost_skb_hint when not necessary Most importantly avoid doing it with cumulative ACK. However, since we have lost_cnt_hint in the picture as well needing adjustments, it's not as trivial as dealing with retransmit_skb_hint (and cannot be done in the all place we could trivially leave retransmit_skb_hint untouched). With the previous patch, this should mostly remove O(n^2) behavior while cumulative ACKs start flowing once rexmit after a lossy round-trip made it through. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit ef9da47c7cc64d69526331f315e76b5680d4048f Author: Ilpo Järvinen Date: Sat Sep 20 21:25:15 2008 -0700 tcp: don't clear retransmit_skb_hint when not necessary Most importantly avoid doing it with cumulative ACK. Not clearing means that we no longer need n^2 processing in resolution of each fast recovery. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit f0ceb0ed86b4792a4ed9d3438f5f7572e48f9803 Author: Ilpo Järvinen Date: Sat Sep 20 21:24:49 2008 -0700 tcp: remove retransmit_skb_hint clearing from failure This doesn't much sense here afaict, probably never has. Since fragmenting and collapsing deal the hints by themselves, there should be very little reason for the rexmit loop to do that. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 0e1c54c2a405494281e0639aacc90db03b50ae77 Author: Ilpo Järvinen Date: Sat Sep 20 21:24:21 2008 -0700 tcp: reorganize retransmit code loops Both loops are quite similar, so they can be combined with little effort. As a result, forward_skb_hint becomes obsolete as well. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 08ebd1721ab8fd362e90ae17b461c07b23fa2824 Author: Ilpo Järvinen Date: Sat Sep 20 21:23:49 2008 -0700 tcp: remove tp->lost_out guard to make joining diff nicer The validity of the retransmit_high must then be ensured if no L'ed skb exits! This makes a minor change to behavior, we now have to iterate the head to find out that the loop terminates. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 61eb55f4db7eaf5fb2d5ec12981a8cda755bb0e1 Author: Ilpo Järvinen Date: Sat Sep 20 21:22:59 2008 -0700 tcp: Reorganize skb tagbit checks Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 34638570b58290e8cb875fb24dcbe836ffeb6cb8 Author: Ilpo Järvinen Date: Sat Sep 20 21:22:17 2008 -0700 tcp: remove obsolete validity concern Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit b5afe7bc71a1689376c9b547376d17568469f3b3 Author: Ilpo Järvinen Date: Sat Sep 20 21:21:54 2008 -0700 tcp: add tcp_can_forward_retransmit Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 184d68b2b0b836587f92887b14baea41033ffeef Author: Ilpo Järvinen Date: Sat Sep 20 21:21:16 2008 -0700 tcp: No need to clear retransmit_skb_hint when SACKing Because lost counter no longer requires tuning, this is trivial to remove (the tuning wouldn't have been too hard either) because no "new" retransmittable skb appeared below retransmit_skb_hint when SACKing for sure. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit f09142eddb75005e41b0af3e5214979d8b534b1d Author: Ilpo Järvinen Date: Sat Sep 20 21:20:50 2008 -0700 tcp: Kill precaution that's very likely obsolete I suspect it might have been related to the changed amount of lost skbs, which was counted by retransmit_cnt_hint that got changed. The place for this clearing was very illogical anyway, it should have been after the LOST-bit clearing loop to make any sense. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 006f582c73f4eda35e06fd323193c3df43fb3459 Author: Ilpo Järvinen Date: Sat Sep 20 21:20:20 2008 -0700 tcp: convert retransmit_cnt_hint to seqno Main benefit in this is that we can then freely point the retransmit_skb_hint to anywhere we want to because there's no longer need to know what would be the count changes involve, and since this is really used only as a terminator, unnecessary work is one time walk at most, and if some retransmissions are necessary after that point later on, the walk is not full waste of time anyway. Since retransmit_high must be kept valid, all lost markers must ensure that. Now I also have learned how those "holes" in the rexmittable skbs can appear, mtu probe does them. So I removed the misleading comment as well. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 41ea36e35a0daa75377b3e70680e5c3a3f83fe27 Author: Ilpo Järvinen Date: Sat Sep 20 21:19:22 2008 -0700 tcp: add helper for lost bit toggling This useful because we'd need to verifying soon in many places which makes things slightly more complex than it used to be. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit c8c213f20ce97c66fe2ff86f33814d1ca0f9d7ea Author: Ilpo Järvinen Date: Sat Sep 20 21:18:55 2008 -0700 tcp: move tcp_verify_retransmit_hint Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 64edc2736e23994e0334b70c5ff08dc33e2ebbd9 Author: Ilpo Järvinen Date: Sat Sep 20 21:18:32 2008 -0700 tcp: Partial hint clearing has again become meaningless Ie., the difference between partial and all clearing doesn't exists anymore since the SACK optimizations got dropped by an sacktag rewrite. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit cd86f420614c1a2dea9c21d7f4f1acb5ec2465b2 Author: Julia Lawall Date: Sat Sep 20 20:06:32 2008 -0700 IB: Drop code after return statement A break after a return serves no purpose, remove it. Signed-off-by: Julia Lawall Reviewed-by: Richard Genoud Signed-off-by: Roland Dreier commit 7097228c54e7348d8c8c6dccc96e50191e39c2f8 Author: Michael Brooks Date: Sat Sep 20 20:06:16 2008 -0700 IB/mad: Don't discard BMA responses in kernel This fixes the problem of incoming BMA responses being dropped due to a bad "is response" check. Fix the test to use the ib_response_mad() predicate, which correctly handles BMA MADs. This fixes . Signed-off-by: Michael Brooks Acked-by: Sean Hefty Signed-off-by: Roland Dreier commit 940358967599ba9057b3c51ba906e1cd5b984729 Author: Ralph Campbell Date: Sat Sep 20 20:05:51 2008 -0700 IB/ipath: Fix SLID generation for RC/UC QPs when LMC > 0 The code to set the source LID in the sent LRH was not setting the low bits if LMC != 0 for RC/UC QPs. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit b9012e0a4255c93e1d81f1ccee591de6414b5955 Author: Alexander Schmidt Date: Sat Sep 20 20:05:21 2008 -0700 IB/ehca: Generate flush status CQ entries When a QP goes into error state, it is required that CQ entries with a flush error status are delivered to the application for any outstanding work requests. eHCA does not do this in hardware, so this patch adds software flush CQE generation to the ehca driver. Whenever a QP gets into error state, it is added to the QP error list of its respective CQ. If the error QP list of a CQ is not empty, poll_cq() generates flush CQEs before polling the actual CQ. Signed-off-by: Alexander Schmidt Signed-off-by: Roland Dreier commit 778b1c65bfa2bfe4018394480f97d387e8f00a91 Author: David S. Miller Date: Fri Sep 19 15:33:21 2008 -0700 sparc32: Add more extensive documentation of sun4m interrupts. Signed-off-by: David S. Miller commit e7913de9285a4e40733cdabbe62b6f1fa3bbdf01 Author: David S. Miller Date: Sat Sep 13 22:48:41 2008 -0700 sparc32: Kill irq_rcvreg from sun4m_irq.c Unused. Signed-off-by: David S. Miller commit c7e606a8f863b2119176674610618dad3d80a16d Author: David S. Miller Date: Sat Sep 13 22:48:04 2008 -0700 sparc32: Delete master_l10_limit. It is only set, never used. Signed-off-by: David S. Miller commit 8bd8deead7f00006781c366887da8cf6a02c69ce Author: David S. Miller Date: Sat Sep 13 22:47:43 2008 -0700 sparc32: Use PROM device probing for sun4c timers. Signed-off-by: David S. Miller commit 45bb5a7cbfa28dedc07730d6ecedbd574faf5459 Author: David S. Miller Date: Sat Sep 13 22:43:48 2008 -0700 sparc32: Use PROM device probing for sun4c interrupt register. Signed-off-by: David S. Miller commit 5ff0d55f93f8119b71b33d4c444cf5105d4c1d12 Author: David S. Miller Date: Tue Sep 9 00:04:35 2008 -0700 sparc32: Delete claim_ticker14(). No more users. Signed-off-by: David S. Miller commit b218fa0e9c2ad94b4e9ab5517a9210f9fa3745e2 Author: David S. Miller Date: Sat Sep 13 22:08:26 2008 -0700 sparc32: Stop calling claim_ticker14() from sun4c_irq.c Since the first argument is always NULL, the only side effect is to disable the PROFILE_IRQ, so just do that directly. Signed-off-by: David S. Miller commit 76954261ba907950cb5216e5c3075b5ba03c1a6b Author: David S. Miller Date: Sat Sep 13 22:07:06 2008 -0700 sparc32: Kill clear_profile_irq btfixup entry. Unused. Signed-off-by: David S. Miller commit 1de937a536ea1a132d22dc198a9e07d208d40a29 Author: David S. Miller Date: Sat Sep 13 22:07:56 2008 -0700 sparc32: Call sun4m_clear_profile_irq() directly from sun4m_smp.c This is the only use of the clear_profile_irq() btfixup entry, which just eats up lots of dead space on other platform types. A subsequent commit will delete the other implementations and the btfixup entry as well. Signed-off-by: David S. Miller commit a73554aedb8f69bd2024cbbf74980582bb91afb4 Author: David S. Miller Date: Sat Sep 13 22:07:40 2008 -0700 sparc32: Remove #if 0'd code from sun4c_irq.c Signed-off-by: David S. Miller commit f8376e933c4e80663f6f66a5b5dd90390a0feba2 Author: David S. Miller Date: Sat Sep 13 22:05:25 2008 -0700 sparc32: Remove some SMP ifdefs in sun4d_irq.c Always do the sbus_tid[] handling. Signed-off-by: David S. Miller commit f5f1085720c4799dd1437f78e28e40c8dd557bba Author: David S. Miller Date: Sat Sep 13 22:04:55 2008 -0700 sparc32: Use PROM infrastructure for probing and mapping sun4d timers. Signed-off-by: David S. Miller commit 69c010b24560be5ca7667e94a352183e60ed205e Author: David S. Miller Date: Fri Sep 19 21:17:43 2008 -0700 sparc32: Use PROM device probing for sun4m irq registers. Signed-off-by: David S. Miller commit d950f264ff7260d8c1e124158d758db13e1ad2d0 Merge: 04da2cf... 375da53... Author: David S. Miller Date: Fri Sep 19 16:17:12 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 04da2cf9bb133355b7073be25ef3ce88c8edc135 Author: David S. Miller Date: Fri Sep 19 16:14:24 2008 -0700 qlge: Protect qlge_resume() with CONFIG_PM Fixes the following build warning: drivers/net/qlge/qlge_main.c:3897: warning: ‘qlge_resume’ defined but not used Signed-off-by: David S. Miller commit 53159d06cb07517422f977591264ca9bf806febb Author: David S. Miller Date: Fri Sep 19 16:13:05 2008 -0700 qlge: Fix warnings in debugging code. drivers/net/qlge/qlge_dbg.c: In function ‘ql_dump_qdev’: drivers/net/qlge/qlge_dbg.c:369: warning: cast to pointer from integer of different size drivers/net/qlge/qlge_dbg.c:373: warning: cast to pointer from integer of different size drivers/net/qlge/qlge_dbg.c: In function ‘ql_dump_tx_ring’: drivers/net/qlge/qlge_dbg.c:457: warning: format ‘%llx’ expects type ‘long long unsigned int’, but argument 2 has type ‘long unsigned int’ drivers/net/qlge/qlge_dbg.c:461: warning: format ‘%llx’ expects type ‘long long unsigned int’, but argument 2 has type ‘long unsigned int’ drivers/net/qlge/qlge_dbg.c: In function ‘ql_dump_rx_ring’: drivers/net/qlge/qlge_dbg.c:557: warning: format ‘%llx’ expects type ‘long long unsigned int’, but argument 2 has type ‘long unsigned int’ drivers/net/qlge/qlge_dbg.c:565: warning: format ‘%llx’ expects type ‘long long unsigned int’, but argument 2 has type ‘long unsigned int’ drivers/net/qlge/qlge_dbg.c:575: warning: format ‘%llx’ expects type ‘long long unsigned int’, but argument 2 has type ‘long unsigned int’ drivers/net/qlge/qlge_dbg.c:579: warning: format ‘%llx’ expects type ‘long long unsigned int’, but argument 2 has type ‘long unsigned int’ drivers/net/qlge/qlge_dbg.c:598: warning: format ‘%llx’ expects type ‘long long unsigned int’, but argument 2 has type ‘long unsigned int’ drivers/net/qlge/qlge_dbg.c:602: warning: format ‘%llx’ expects type ‘long long unsigned int’, but argument 2 has type ‘long unsigned int’ Signed-off-by: David S. Miller commit 79b6f7ecdac7a37df72a5f354816c0dd0b6ac592 Merge: 02a1416... c4e84bd... Author: David S. Miller Date: Fri Sep 19 15:51:35 2008 -0700 Merge branch 'new-drivers' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit 02a1416478b70cd49bd74827438c8ba797784728 Author: David S. Miller Date: Fri Sep 19 12:44:54 2008 -0700 net: Fix build with ARCH=um If UM is going to claim that it supports DMA by setting HAS_DMA, it should provide a dma_mapping_error() implementation. Based upon a report by Julius Volz. Signed-off-by: David S. Miller commit 8b05cefca73bfbd98c89f16327f5d7da52ab7c3c Author: Becky Bruce Date: Fri Sep 12 10:42:56 2008 -0500 cpm_uart: Pass actual dev ptr to dma_* in ucc and cpm_uart serial We're currently passing NULL, and really shouldn't be. Signed-off-by: Becky Bruce Acked-By: Timur Tabi Signed-off-by: Kumar Gala commit b38fd42ff46a4a31dced8533e8a6e549693500b6 Author: Kumar Gala Date: Wed Jul 16 16:17:08 2008 -0500 powerpc/fsl-booke: Fixup 64-bit PTE reading for SMP support We need to create a false data dependency to ensure the loads of the pte are done in the right order. Signed-off-by: Kumar Gala commit 042af53c7839282de15cc7fd7ad8ab938d74ab7c Author: Lennert Buytenhek Date: Sun Aug 24 09:01:57 2008 +0200 mv643xx_eth: bump version to 1.4 Signed-off-by: Lennert Buytenhek commit ed94493fb38a665cebcf750dfabe8a6dd13e136f Author: Lennert Buytenhek Date: Tue Aug 26 13:34:19 2008 +0200 mv643xx_eth: convert to phylib Switch mv643xx_eth from using drivers/net/mii.c to using phylib. Since the mv643xx_eth hardware does all the link state handling and PHY polling, the driver will use phylib in the "Doing it all yourself" mode described in the phylib documentation. Signed-off-by: Lennert Buytenhek Acked-by: Andy Fleming commit 832a90c30485117d65180cc9a8d9869c1b158570 Author: Joerg Roedel Date: Thu Sep 18 15:54:23 2008 +0200 AMD IOMMU: use coherent_dma_mask in alloc_coherent The alloc_coherent implementation for AMD IOMMU currently uses *dev->dma_mask per default. This patch changes it to prefer dev->coherent_dma_mask if it is set. Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit bbd001c73cb92aa8f779ae44bb89d8a5dee74ad5 Author: Joerg Roedel Date: Wed Sep 17 17:22:45 2008 +0200 add AMD IOMMU tree to MAINTAINERS file Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit 23c1713fe9e6ac886a4d44415298d0cbb2e83df2 Author: Joerg Roedel Date: Wed Sep 17 17:18:17 2008 +0200 AMD IOMMU: use cmd_buf_size when freeing the command buffer The command buffer release function uses the CMD_BUF_SIZE macro for get_order. Replace this with iommu->cmd_buf_size which is more reliable about the actual size of the buffer. Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit b514e55569855bbaab782a8ec073630ed4e99c68 Author: Joerg Roedel Date: Wed Sep 17 17:14:27 2008 +0200 AMD IOMMU: calculate IVHD size with a function The current calculation of the IVHD entry size is hard to read. So move this code to a seperate function to make it more clear what this calculation does. Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit 199d0d501202f077fe647a5c14fe046b17abc46b Author: Joerg Roedel Date: Wed Sep 17 16:45:59 2008 +0200 AMD IOMMU: remove unnecessary cast to u64 in the init code The ctrl variable is only u32 and readl also returns a 32 bit value. So the cast to u64 is pointless. Remove it with this patch. Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit d58befd3a0110c93d70756537b4d01d05a9e6e12 Author: Joerg Roedel Date: Wed Sep 17 12:19:58 2008 +0200 AMD IOMMU: free domain bitmap with its allocation order The amd_iommu_pd_alloc_bitmap is allocated with a calculated order and freed with order 1. This is not a bug since the calculated order always evaluates to 1, but its unclean code. So replace the 1 with the calculation in the release path. Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit 6754086ce67c0a1f5d7eac612102368781e14588 Author: Joerg Roedel Date: Wed Sep 17 12:17:00 2008 +0200 AMD IOMMU: simplify dma_mask_to_pages The current calculation is very complicated. This patch replaces it with a much simpler version. Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit c97ac5359e6897abe22770740294dda185bac30d Author: Joerg Roedel Date: Thu Sep 11 10:59:15 2008 +0200 AMD IOMMU: replace memset with __GFP_ZERO in alloc_coherent Remove the memset and use __GFP_ZERO at allocation time instead. Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit 13d9fead3daa0efa1b8bb6ae59650e4453b39128 Author: FUJITA Tomonori Date: Wed Sep 10 20:19:40 2008 +0900 AMD IOMMU: avoid unnecessary low zone allocation in alloc_coherent x86's common alloc_coherent (dma_alloc_coherent in dma-mapping.h) sets up the gfp flag according to the device dma_mask but AMD IOMMU doesn't need it for devices that the IOMMU can do virtual mappings for. This patch avoids unnecessary low zone allocation. Signed-off-by: FUJITA Tomonori Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit 38ddf41b198e21d3ecbe5752e875857b7ce7589e Author: Joerg Roedel Date: Thu Sep 11 10:38:32 2008 +0200 AMD IOMMU: some set_device_domain cleanups Remove some magic numbers and split the pte_root using standard functions. Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit bd60b735c658e6e8c656e89771d281bcfcf51279 Author: Joerg Roedel Date: Thu Sep 11 10:24:48 2008 +0200 AMD IOMMU: don't assign preallocated protection domains to devices In isolation mode the protection domains for the devices are preallocated and preassigned. This is bad if a device should be passed to a virtualization guest because the IOMMU code does not know if it is in use by a driver. This patch changes the code to assign the device to the preallocated domain only if there are dma mapping requests for it. Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit b39ba6ad004a31bf2a08ba2b08c1e0f9b3530bb7 Author: Joerg Roedel Date: Tue Sep 9 18:40:46 2008 +0200 AMD IOMMU: add dma_supported callback This function determines if the AMD IOMMU implementation is responsible for a given device. So the DMA layer can get this information from the driver. Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit a22131a223147016041b5e5cd0ae5ab61ef4177e Author: Joerg Roedel Date: Tue Sep 9 17:55:28 2008 +0200 AMD IOMMU: allow IO page faults from devices There is a bit in the device entry to suppress all IO page faults generated by a device. This bit was set until now because there was no event logging. Now that there is event logging this patch allows IO page faults from devices to see them in the kernel log. Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit 126c52be4b1d2eb667a1d140f0ceaff9d353f700 Author: Joerg Roedel Date: Tue Sep 9 16:47:35 2008 +0200 AMD IOMMU: enable event logging The code to log IOMMU events is in place now. So enable event logging with this patch. Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit 90008ee4b811c944455752dcb72b291a5ba81b53 Author: Joerg Roedel Date: Tue Sep 9 16:41:05 2008 +0200 AMD IOMMU: add event handling code This patch adds code for polling and printing out events generated by the AMD IOMMU. Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit a80dc3e0e0dc8393158de317d66ae0f345dc58f9 Author: Joerg Roedel Date: Thu Sep 11 16:51:41 2008 +0200 AMD IOMMU: add MSI interrupt support The AMD IOMMU can generate interrupts for various reasons. This patch adds the basic interrupt enabling infrastructure to the driver. Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit 3eaf28a1cd2686aaa185b54d5a5e18e91b41f7f2 Author: Joerg Roedel Date: Mon Sep 8 15:55:10 2008 +0200 AMD IOMMU: save pci_dev instead of devid We need the pci_dev later anyways to enable MSI for the IOMMU hardware. So remove the devid pointing to the BDF and replace it with the pci_dev structure where the IOMMU is implemented. Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit ee893c24edb8ebab9a3fb66566855572579ad616 Author: Joerg Roedel Date: Mon Sep 8 14:48:04 2008 +0200 AMD IOMMU: save pci segment from ACPI tables This patch adds the pci_seg field to the amd_iommu structure and fills it with the corresponding value from the ACPI table. Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit 335503e57b6b8de04cec5d27eb2c3d09ff98905b Author: Joerg Roedel Date: Fri Sep 5 14:29:07 2008 +0200 AMD IOMMU: add event buffer allocation This patch adds the allocation of a event buffer for each AMD IOMMU in the system. The hardware will log events like device page faults or other errors to this buffer once this is enabled. Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit 6d4f343f84993eb0d5864c0823dc9babd171a33a Author: Joerg Roedel Date: Thu Sep 4 19:18:02 2008 +0200 AMD IOMMU: align alloc_coherent addresses properly The API definition for dma_alloc_coherent states that the bus address has to be aligned to the next power of 2 boundary greater than the allocation size. This is violated by AMD IOMMU so far and this patch fixes it. Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit 5507eef835c9c941e69d6d96e4b43af23eeb4ac9 Author: Joerg Roedel Date: Thu Sep 4 19:01:02 2008 +0200 AMD IOMMU: add branch hints to completion wait checks This patch adds branch hints to the cecks if a completion_wait is necessary. The completion_waits in the mapping paths are unlikly because they will only happen on software implementations of AMD IOMMU which don't exists today or with lazy IO/TLB flushing when the allocator wraps around the address space. With lazy IO/TLB flushing the completion_wait in the unmapping path is unlikely too. Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit 1c65577398589bb44ab0980f9b9d30804b48a5db Author: Joerg Roedel Date: Thu Sep 4 18:40:05 2008 +0200 AMD IOMMU: implement lazy IO/TLB flushing The IO/TLB flushing on every unmaping operation is the most expensive part in AMD IOMMU code and not strictly necessary. It is sufficient to do the flush before any entries are reused. This is patch implements lazy IO/TLB flushing which does exactly this. Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit 2842e5bf3115193f05dc9dac20f940e7abf44c1a Author: Joerg Roedel Date: Thu Sep 18 15:23:43 2008 +0200 x86: move GART TLB flushing options to generic code The GART currently implements the iommu=[no]fullflush command line parameters which influence its IO/TLB flushing strategy. This patch makes these parameters generic so that they can be used by the AMD IOMMU too. Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit 270cab2426cdc6307725e4f1f46ecf8ab8e69193 Author: Joerg Roedel Date: Thu Sep 4 15:49:46 2008 +0200 AMD IOMMU: move TLB flushing to the map/unmap helper functions This patch moves the invocation of the flushing functions to the map/unmap helpers because its common code in all dma_ops relevant mapping/unmapping code. Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit dbcc112e3b5367e81a845b082933506b0ff1d1e2 Author: Joerg Roedel Date: Thu Sep 4 15:04:26 2008 +0200 AMD IOMMU: check for invalid device pointers Currently AMD IOMMU code triggers a BUG_ON if NULL is passed as the device. This is inconsistent with other IOMMU implementations. Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit 3b7ecb5d2ffde82efd1b1bcc6780dc8a019acf02 Author: Andrew Morton Date: Fri Sep 19 01:56:23 2008 -0700 softlockup: Documentation/sysctl/kernel.txt: fix softlockup_thresh description - s/s/seconds/ - s/10 seconds/60 seconds/ - Mention the zero-disables-it feature. Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 07a2c01a0c2a0cb4581a67d50d4f17cb4d2457c4 Author: FUJITA Tomonori Date: Fri Sep 19 02:02:05 2008 +0900 convert swiotlb to use dma_get_mask swiotlb can use dma_get_mask() instead of the homegrown function. Signed-off-by: FUJITA Tomonori Cc: tony.luck@intel.com Signed-off-by: Ingo Molnar commit 279b0bbba2bb647348ad90e183b3960aa99eccfd Author: Yinghai Lu Date: Thu Sep 18 23:55:27 2008 -0700 x86: fix arch/x86/kernel/cpu/mtrr/main.c warning fix this warning reported by Andrew Morton: > arch/x86/kernel/cpu/mtrr/main.c: In function 'mtrr_bp_init': > arch/x86/kernel/cpu/mtrr/main.c:1170: warning: 'extra_remove_base' may be used uninitialized in this function the warning is bogus but the logic that prevents uninitialized use is a bit convoluted so simplify it all. Signed-off-by: Ingo Molnar commit 5e51900be6c15488b80343d3c3e62d4d605ba9a9 Merge: 9985647... adee14b... Author: Ingo Molnar Date: Fri Sep 19 09:15:50 2008 +0200 Merge commit 'v2.6.27-rc6' into x86/cleanups commit 4fd5f812c23c7deee6425f4a318e85c317cd1d6c Author: Lennert Buytenhek Date: Tue Aug 26 13:08:46 2008 +0200 phylib: allow incremental scanning of an mii bus This patch splits the bus scanning code in mdiobus_register() off into a separate function, and makes this function available for calling from external code. This allows incrementally scanning an mii bus, e.g. as information about which addresses are 'safe' to scan becomes available. Signed-off-by: Lennert Buytenhek Acked-by: Andy Fleming commit 4ff3495a51c7226376d8013c5742d1d5e54876a7 Author: Lennert Buytenhek Date: Fri Sep 19 05:04:57 2008 +0200 mv643xx_eth: enforce frequent hardware statistics polling If we don't poll the hardware statistics counters at least once every ~34 seconds, overflow might occur without us noticing. So, set up a timer to poll the statistics counters at least once every 30 seconds. Signed-off-by: Lennert Buytenhek commit 4df89bd5a5fc33860f15f5f001a78f2b3f150725 Author: Lennert Buytenhek Date: Fri Sep 19 04:05:00 2008 +0200 mv643xx_eth: deal with unexpected ethernet header sizes When the IP header doesn't start 14, 18, 22 or 26 bytes into the packet (which are the only four cases that the hardware can deal with if asked to do IP checksumming on transmit), invoke the software checksum helper instead of letting the packet go out with a corrupt checksum inserted into the packet in the wrong place. Signed-off-by: Lennert Buytenhek commit 170e7108a368c52df1ec466966fd1db6e45a7ad2 Author: Lennert Buytenhek Date: Fri Sep 19 02:58:50 2008 +0200 mv643xx_eth: fix receive checksumming We have to explicitly tell the hardware to include the pseudo-header when doing receive checksumming, otherwise hardware checksumming will fail for every received packet and we'll end up setting CHECKSUM_NONE on every received packet. While we're at it, when skb->ip_summed is set to CHECKSUM_UNNECESSARY on received packets, skb->csum is supposed to be undefined, and thus there is no need to set it. Signed-off-by: Lennert Buytenhek commit 821c92f258bd9b01eb900992969803645b6ba9d6 Author: Rémi Denis-Courmont Date: Thu Sep 18 16:44:31 2008 -0700 ISDN sockets: add missing lockdep strings Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit ac392abce936d78f7b731d90bfbc1001ddb446ea Author: Benjamin Li Date: Thu Sep 18 16:40:49 2008 -0700 bnx2: Remove timer_interval field from the bnx2 structure The timer_interval field is only assigned once, and never reassigned. We can safely replace all instances of the timer_interval with a constant value. Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Acked-by: Jeff Garzik Signed-off-by: David S. Miller commit fbbf68b7f88953a9c56b7a7b4019fa5212987b34 Author: Benjamin Li Date: Thu Sep 18 16:40:03 2008 -0700 bnx2: Remove name field from bnx2 structure The name of the board is only used during the initialization of the adapter. We can save the space of a pointer by not storing this information. Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Acked-by: Jeff Garzik Signed-off-by: David S. Miller commit 453a9c6e995149c4a43e50b5482a48ed0298b0dc Author: Benjamin Li Date: Thu Sep 18 16:39:16 2008 -0700 bnx2: Update MODULE_DESCRIPTION to include the 5716 Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Acked-by: Jeff Garzik Signed-off-by: David S. Miller commit 344478db5385194ec27f6aaf780ea21c4b4ff02c Author: Benjamin Li Date: Thu Sep 18 16:38:24 2008 -0700 bnx2: In bnx2_set_mac_link() return void rather then int bnx2_set_mac_link() doesn't need to return any error codes. And all the callers don't check the return code. It is safe to change the return type to a void. Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Acked-by: Jeff Garzik Signed-off-by: David S. Miller commit 33a7f122740bd820a029faf450a9a0caa9458426 Author: Kumar Gala Date: Thu Sep 18 17:50:42 2008 -0500 powerpc: Fix build warnings introduced by PMC support on 32-bit arch/powerpc/kernel/sysfs.c:197:7: warning: "CONFIG_6xx" is not defined arch/powerpc/kernel/sysfs.c:141: warning: 'run_on_cpu' defined but not used Signed-off-by: Kumar Gala commit a745a622434d9c3ff6505125b37fd6828ecadb87 Author: David Brownell Date: Fri Sep 5 00:34:50 2008 +0100 [ARM] 5240/1: AT91: eeproms on sam9260ek, sam9263ek The at91sam9260 and at91sam9263 EK boards have 64 KiB I2C EEPROMs. This patch declares them in the board init code so the new at24 driver will use them. Signed-off-by: David Brownell Acked-by: Andrew Victor Signed-off-by: Russell King commit fbd03a1cbc04833a952b0d603df96e4800445979 Author: Guillaume GARDET Date: Fri Aug 29 10:11:24 2008 +0100 [ARM] 5228/1: Add the RGB555 wiring for the atmel LCD Add the RGB555 wiring for the atmel LCD. Acked-by: Nicolas Ferre Acked-by: Haavard Skinnemoen Signed-off-by: Guillaume GARDET Signed-off-by: Russell King commit 53d4351f5868c7d3faa9507608c324ff7d7c186c Author: Sergey Lapin Date: Tue Aug 12 13:35:34 2008 +0100 [ARM] 5219/2: MACB ethernet support for AFEB9260 MACB ethernet support for AFEB9260 Depends on 5210/2 Acked-by: Andrew Victor Signed-off-by: Sergey Lapin Signed-off-by: Russell King commit 9c784f958d01097e3fae24ad75ab3a80ed1e556b Author: Sergey Lapin Date: Sun Aug 3 02:29:48 2008 +0100 [ARM] 5210/2: AFEB9260: board support This patch adds support for AT91SAM9260-based board AFEB9260 which is a product from both Open Source design which runs Open Source software. Some commertial projects are made with this design. A board is basically AT91SAM9260-EK with some modifications and different peripherals and different parts used. Main purpose of this project is to gain experience in hardware design. More info: http://groups.google.com/group/arm9fpga-evolution-board (In Russian only, sorry). Subversion repository: svn://194.85.238.22/home/users/george/svn/arm9eb By this patch only basic functionality is provided. Signed-off-by: Sergey Lapin Acked-by: Andrew Victor Signed-off-by: Russell King commit c4e84bde1d595d857d3c74b49b9c45cc770df792 Author: Ron Mercer Date: Thu Sep 18 11:56:28 2008 -0400 qlge: New Qlogic 10Gb Ethernet Driver. Signed-off-by: Ron Mercer Signed-off-by: Jeff Garzik commit 95252236e73e789dd186ce796a2abc60b3a61ebe Author: Guo-Fu Tseng Date: Tue Sep 16 01:00:11 2008 +0800 jme: JMicron Gigabit Ethernet Driver Supporting JMC250, and JMC260. Signed-off-by: Guo-Fu Tseng Acked-and-tested-by: Ethan Hsiao Signed-off-by: Jeff Garzik commit 01f2e4ead2c51226ed1283ef6a8388ca6f4cff8f Author: Scott Feldman Date: Mon Sep 15 09:17:11 2008 -0700 enic: add Cisco 10G Ethernet NIC driver Signed-off-by: Scott Feldman Signed-off-by: Jeff Garzik commit 452c1ce218a68b5dbd626397ecfc65ca89dd3cbb Author: Chris Snook Date: Sun Sep 14 19:56:10 2008 -0500 atl2: add atl2 driver Driver for Atheros L2 10/100 network device. Includes necessary changes for Kconfig, Makefile, and pci_ids.h. Signed-off-by: Chris Snook Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit 719ee344675c2efed9115934f19aa66a526b6e5b Author: Steven Whitehouse Date: Thu Sep 18 13:53:59 2008 +0100 GFS2: high time to take some time over atime Until now, we've used the same scheme as GFS1 for atime. This has failed since atime is a per vfsmnt flag, not a per fs flag and as such the "noatime" flag was not getting passed down to the filesystems. This patch removes all the "special casing" around atime updates and we simply use the VFS's atime code. The net result is that GFS2 will now support all the same atime related mount options of any other filesystem on a per-vfsmnt basis. We do lose the "lazy atime" updates, but we gain "relatime". We could add lazy atime to the VFS at a later date, if there is a requirement for that variant still - I suspect relatime will be enough. Also we lose about 100 lines of code after this patch has been applied, and I have a suspicion that it will speed things up a bit, even when atime is "on". So it seems like a nice clean up as well. From a user perspective, everything stays the same except the loss of the per-fs atime quantum tweekable (ought to be per-vfsmnt at the very least, and to be honest I don't think anybody ever used it) and that a number of options which were ignored before now work correctly. Please let me know if you've got any comments. I'm pushing this out early so that you can all see what my plans are. Signed-off-by: Steven Whitehouse commit 37ec89e83c4ca98323fe74f139301ff3949cfdb6 Author: Steven Whitehouse Date: Thu Sep 18 13:49:32 2008 +0100 GFS2: The war on bloat The following patch shrinks the gfs2_args structure which is embedded in every GFS2 superblock. It cuts down the size of the options to a single unsigned int (the 13 bits of bitfields will be rounded up to that size by the compiler) from the current 11 unsigned ints. So on x86 thats 44 bytes shrinking to 4 bytes, in each and every GFS2 superblock. Signed-off-by: Steven Whitehouse commit 9a22b6e76ba75fa0f3963cdec7829156d00a7173 Author: Ingo Molnar Date: Thu Sep 18 12:50:18 2008 +0200 dmi scan: warn about too early calls to dmi_check_system() It happened to me recently that i added a dmi_check_system() quirk in a too early codepath, and it was silently ignored because all the DMI tables and strings were still empty. As this situation is clearly a programming error / kernel bug, warn when it happens, instead of silently ignoring quirks. Signed-off-by: Ingo Molnar commit c2fe59444e1827ecd2713a1e6ecfd1ab1fc548ae Author: Timur Tabi Date: Wed Aug 6 11:48:25 2008 -0500 powerpc: add SSI-to-DMA properties to Freescale MPC8610 HPCD device tree Add the fsl,playback-dma and fsl,capture-dma properties to the Freescale MPC8610 HPCD device tree. These properties connect the SSI nodes to the DMA nodes for the DMA channels that the SSI should use. Also update the ssi.txt documentation. These properties will be needed when the ASoC V2 version of the Freescale MPC8610 device drivers are merged into the mainline. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit 1562f98f918f2de7549edbaaabdb8bece52320f0 Author: Russell King Date: Wed Sep 17 20:36:49 2008 +0100 [ARM] Fix IOP13xx build warnings http://armlinux.simtec.co.uk/kautobuild/2.6.27-rc5/iop13xx_defconfig/zimage.log Occurrences Warning text 339 arch/arm/include/asm/dma-mapping.h:40: warning: return makes pointer from integer without a cast 203 arch/arm/include/asm/dma-mapping.h:45: warning: return makes integer from pointer without a cast Acked-by: Dan Williams Signed-off-by: Russell King commit 6ae19b04ab41a4db0f0c48ec0b78950f6b028823 Author: Eric Miao Date: Wed Sep 10 12:06:15 2008 -0400 Input: ads7846 - introduce .gpio_pendown to get pendown state The GPIO connected to ADS7846 nPENIRQ signal is usually used to get the pendown state as well. Introduce a .gpio_pendown, and use this to decide the pendown state if .get_pendown_state is NULL. Signed-off-by: Eric Miao Signed-off-by: Dmitry Torokhov commit fbdbf709938d155c719c76b9894d28342632c797 Author: Uwe Kleine-König Date: Mon Sep 15 22:02:43 2008 +0200 x86, debug: gpio_free might sleep 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 patch changes the gpio_free implementations for the x86 architecture. Signed-off-by: Uwe Kleine-König Signed-off-by: Ingo Molnar commit 90f7d25c6b672137344f447a30a9159945ffea72 Author: Arjan van de Ven Date: Tue Sep 16 11:27:30 2008 -0700 x86: print DMI information in the oops trace in order to diagnose hard system specific issues, it's useful to have the system name in the oops (as provided by DMI) Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit 7bff3c4ce44ea48f50dc47a5994454984bd08c59 Author: David Brownell Date: Sun Sep 7 23:43:02 2008 -0700 ARM: DaVinci: evm sets up many devices Update DaVinci EVM board setup to work with key drivers which are now in mainline kernels: - I2C adapter (driver: i2c_davinci) * three gpio expanders (driver: pcf8574) used for - LEDs - audio codec control - misc device control (including USB VBUS, IDE-vs-CF) * at24 (driver: at24) eeprom - USB controller (driver: musb_hdrc) - IDE controller (driver: palm_bk3710) This board is the first in-tree client for a number of those drivers, and adding this board support means the EVM board can be used for some "real work" ... excepting "DaVinci Technology" video and DSP support (also available in most OMAP3 chips). Also renames the flash as "evm_norflash", since NAND may be jumpered. (Patch contains work by myself, Kevin Hilman, Sergei Shtylyov.) Signed-off-by: David Brownell Signed-off-by: Kevin Hilman Cc: Sergei Shtylyov commit cece6e5af23815ae4cfa6d3dab1303f80b42feef Author: David Brownell Date: Sun Sep 7 23:41:57 2008 -0700 ARM: DaVinci: usb setup Declare the musb_hdrc platform device for DaVinci. Signed-off-by: David Brownell Signed-off-by: Kevin Hilman commit d395e6ad98912b52a299999ab667de9a1f393c91 Author: Komal Shah Date: Sun Sep 7 23:41:28 2008 -0700 ARM: DaVinci: i2c setup Davinci I2C initialization infrastructure; will be used by EVM init. [ dbrownell@users.sourceforge.net: pass platform data into init code ] Signed-off-by: Komal Shah Signed-off-by: Kevin Hilman Signed-off-by: David Brownell commit dce1115bc32d66237102a4c925e1e0a5e82b9945 Author: David Brownell Date: Sun Sep 7 23:41:04 2008 -0700 ARM: DaVinci: SOC GPIOs use gpiolib Switch DaVinci SOC gpios over to using the new GPIO library, so it can access GPIO expanders and other non-SOC GPIOs using the same calls. Signed-off-by: David Brownell Signed-off-by: Kevin Hilman commit ac7643e4d36c63b190709777d9e03392a7d20477 Author: Kevin Hilman Date: Mon Sep 15 04:09:14 2008 -0700 ARM: DaVinci: Update IO address pointer typechecking Signed-off-by: Kevin Hilman commit d286600e199aa2f1058a1f883d234e73626304d2 Author: Brian Haley Date: Tue Sep 16 11:11:11 2008 -0400 ipvs: change some __constant_htons() to htons() Change __contant_htons() to htons() in the IPVS code when not in an initializer. -Brian Signed-off-by: Brian Haley Acked-by: Julius Volz Signed-off-by: Simon Horman commit 563e94f072714657a82a59a3bf81a719a6a25591 Author: Simon Horman Date: Wed Sep 17 10:10:42 2008 +1000 ipvs: add __aquire/__release annotations to ip_vs_info_seq_start/ip_vs_info_seq_stop This teaches sparse that the following are not problems: make C=1 CHECK net/ipv4/ipvs/ip_vs_ctl.c net/ipv4/ipvs/ip_vs_ctl.c:1793:14: warning: context imbalance in 'ip_vs_info_seq_start' - wrong count at exit net/ipv4/ipvs/ip_vs_ctl.c:1842:13: warning: context imbalance in 'ip_vs_info_seq_stop' - unexpected unlock Acked-by: Sven Wegener Acked-by: Julius Volz Signed-off-by: Simon Horman commit dff630ddad3884b99fae3ad92f5eccbf26618679 Author: Simon Horman Date: Wed Sep 17 10:10:42 2008 +1000 ipvs: supply a valid 0 address to ip_vs_conn_new() ip_vs_conn_new expects a union nf_inet_addr as the type for its address parameters, not a plain integer. This problem was detected by sparse. make C=1 CHECK net/ipv4/ipvs/ip_vs_core.c net/ipv4/ipvs/ip_vs_core.c:469:9: warning: Using plain integer as NULL pointer Acked-by: Sven Wegener Acked-by: Julius Volz Signed-off-by: Simon Horman commit 9e691ed68d94ab3047e028736641445b4cf74d67 Author: Simon Horman Date: Wed Sep 17 10:10:41 2008 +1000 ipvs: only unlock in ip_vs_edit_service() if already locked Jumping to out unlocks __ip_vs_svc_lock, but that lock is not taken until after code that may jump to out. This problem was detected by sparse. make C=1 CHECK net/ipv4/ipvs/ip_vs_ctl.c net/ipv4/ipvs/ip_vs_ctl.c:1332:2: warning: context imbalance in 'ip_vs_edit_service' - unexpected unlock Acked-by: Sven Wegener Acked-by: Julius Volz Signed-off-by: Simon Horman commit e8ae43ec6d8fb28ceeb3eb2b9aa2de823666ba2b Merge: 63f2c04... b18e304... Author: Simon Horman Date: Wed Sep 17 10:08:26 2008 +1000 Merge git://git.kernel.org/pub/scm/linux/kernel/git/horms/lvs-2.6 into lvs-next-2.6 commit 388e57b2759672a3e3ede0d2f7e95124b417b0a3 Author: Steve French Date: Tue Sep 16 23:50:58 2008 +0000 [CIFS] use common code for turning off ATTR_READONLY in cifs_unlink We already have a cifs_set_file_info function that can flip DOS attribute bits. Have cifs_unlink call it to handle turning ATTR_HIDDEN on and ATTR_READONLY off when an unlink attempt returns -EACCES. This also removes a level of indentation from cifs_unlink. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 97fc0555dae8f4d437c8672c14d7191962429be4 Author: H. Peter Anvin Date: Tue Sep 16 15:09:26 2008 -0700 x86 setup: handle more than 8 CPU flag words Checkin e38e05a85828dac23540cd007df5f20985388afc added a 9th CPU flag word, but didn't adjust the boot code to match. This patch adds the necessary boot code support. Note: due to a typo in an #if statement, it didn't trigger the #error this was supposed to do. Signed-off-by: H. Peter Anvin commit 2e57572a50a4de41c6cbc879a4866a312d4cd316 Merge: 9b2e43a... f948cc6... Author: David S. Miller Date: Tue Sep 16 14:11:43 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 Conflicts: arch/sparc64/kernel/pci_psycho.c commit 5f0319a79043457d2555f059fac68c1d840ce381 Author: Jeff Layton Date: Tue Sep 16 14:05:16 2008 -0400 cifs: clean up variables in cifs_unlink Change parameters to cifs_unlink to match the ones used in the generic VFS. Add some local variables to cut down on the amount of struct dereferencing that needs to be done, and eliminate some unneeded NULL pointer checks on the parent directory inode. Finally, rename pTcon to "tcon" to more closely match standard kernel coding style. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit f1eaf16a9e843aa915b86594b60ec6cd66c9eac7 Author: Jochen Friedrich Date: Wed Aug 27 12:32:25 2008 +0200 powerpc/cpm1: Fix race condition in CPM1 GPIO library. The CPM1 GPIO library code uses the non thread-safe clrbits32/setbits32 macros. This patch protects them with a spinlock. Based on the CPM2 patch from Laurent Pinchart , commit 639d64456e20cbfc866b18dc03cf9f9babc9c7cd. Signed-off-by: Jochen Friedrich Signed-off-by: Kumar Gala commit 998564789137921acae9e367b61c5a1dc295653d Author: Paul Bolle Date: Tue Sep 16 11:17:03 2008 +0200 x86 setup: drop SWAP_DEV Impact: None (cleanup) SWAP_DEV is unused since 2.6.23-rc1. The comment was already incorrect since (at least) 2.6.12. Signed-off-by: Paul Bolle Signed-off-by: H. Peter Anvin commit 1a9314a0f6f71cf13ddf9e58f1d4f507a5265056 Author: Martyn Welch Date: Tue Sep 16 10:57:52 2008 +0100 powerpc: Default configuration for GE Fanuc SBC610 Support for the SBC610 VPX Single Board Computer from GE Fanuc (PowerPC MPC8641D). This is the default config file for GE Fanuc's SBC610, a 6U single board computer, based on Freescale's MPC8641D. Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala commit 54508214cf2f88ad1288e8836032545e0357ebde Author: Martyn Welch Date: Tue Sep 16 10:57:47 2008 +0100 powerpc: Board support for GE Fanuc SBC610 Support for the SBC610 VPX Single Board Computer from GE Fanuc (PowerPC MPC8641D). This is the basic board support for GE Fanuc's SBC610, a 6U single board computer, based on Freescale's MPC8641D. Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala commit 66576a87dda18cede6a728685366c9c0fedd1742 Author: Paul Gortmaker Date: Wed Sep 3 16:02:25 2008 -0400 powerpc/sbc8560: fix compile warning on CPM pin array This is just a parallel of a5dc66e2ab2e2cf641346b056a69a67cfcf9458c applied to the sbc8560 board. Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit 48d6c64311ddb6417b901639530ccbc47bdc7635 Author: Kumar Gala Date: Fri Jun 27 09:39:00 2008 -0500 math-emu: Add support for reporting exact invalid exception Some architectures (like powerpc) provide status information on the exact type of invalid exception. This is pretty straight forward as we already report invalid exceptions via FP_SET_EXCEPTION. We add new flags (FP_EX_INVALID_*) the architecture code can define if it wants the exact invalid exception reported. We had to split out the INF/INF and 0/0 cases for divide to allow reporting the two invalid forms properly. Signed-off-by: Kumar Gala Acked-by: David S. Miller commit 40d3057ac036f2501c1930728a6179be4fca577b Author: Kumar Gala Date: Fri Jun 27 09:33:59 2008 -0500 math-emu: Fix compiler warnings Fix warnings of the form: arch/powerpc/math-emu/fsubs.c:15: warning: 'R_f1' may be used uninitialized in this function arch/powerpc/math-emu/fsubs.c:15: warning: 'R_f0' may be used uninitialized in this function Signed-off-by: Kumar Gala commit 82331ab15f14786f3d8e874efb76462685e3bfa0 Author: Becky Bruce Date: Thu Aug 21 13:50:22 2008 -0500 powerpc/85xx: fix build warning, remove silly cast This fixes a build warning when PHYS_64BIT is enabled, and removes an unnecessary cast to phys_addr_t (the variable being cast is already a phys_addr_t) Signed-off-by: Becky Bruce Signed-off-by: Kumar Gala commit 307db95882fdfba372a0639e8e238cf8c542f430 Author: Anton Vorontsov Date: Thu Aug 14 21:13:42 2008 +0400 powerpc/83xx: mpc836x_mds: add support for the nor flash This patch adds the localbus node, moves the bcsr node into the localbus node, and adds the flash node. Also enable MTD support in the defconfig. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 7cfc4e5e7f9b5fa598aa69b5344b6fd0539f71d6 Author: Kumar Gala Date: Mon Aug 4 08:27:52 2008 -0500 serial/cpm_uart: Remove dead Kconfig options With the change to device tree based setup we no longer need the explicit Kconfig options for each SCC{1,4} or SMC{1,2} port. Signed-off-by: Kumar Gala commit 637166337ca29459581bd2943072a9f1268fb982 Author: Heiko Schocher Date: Wed Jun 18 10:38:32 2008 +0200 powerpc: Add support for mpc8247 based board MGCOGE from keymile. Signed-off-by: Heiko Schocher Signed-off-by: Kumar Gala commit e14d4af0c87af0be7f2d0e204e1922cf4fa3c19e Author: Heiko Schocher Date: Sat Jun 14 21:02:04 2008 +0200 powerpc: Add support for the MPC852 based mgsuvd board from keymile. Supported SMC1 (serial console), SCC3 Ethernet (10Mbps hdx). Signed-off-by: Heiko Schocher Signed-off-by: Kumar Gala commit fc38151947477596aa27df6c4306ad6008dc6711 Author: Ingo Molnar Date: Tue Sep 16 10:07:34 2008 +0200 x86: add X86_RESERVE_LOW_64K This bugzilla: http://bugzilla.kernel.org/show_bug.cgi?id=11237 Documents a wide range of systems where the BIOS utilizes the first 64K of physical memory during suspend/resume and other hardware events. Currently we reserve this memory on all AMI and Phoenix BIOS systems. Life is too short to hunt subtle memory corruption problems like this, so we try to be robust by default. Still, allow this to be overriden: allow users who want that first 64K of memory to be available to the kernel disable the quirk, via CONFIG_X86_RESERVE_LOW_64K=n. Also, allow the early reservation to overlap with other early reservations. Signed-off-by: Ingo Molnar commit 1e22436eba84edfec9c25e5a25d09062c4f91ca9 Author: Ingo Molnar Date: Tue Sep 16 09:58:02 2008 +0200 x86: reserve low 64K on AMI and Phoenix BIOS boxen there's multiple reports about suspend/resume related low memory corruption in this bugzilla: http://bugzilla.kernel.org/show_bug.cgi?id=11237 the common pattern is that the corruption is caused by the BIOS, and that it affects some portion of the first 64K of physical RAM. So add a DMI quirk This will waste 64K RAM on 'good' systems too, but without knowing the exact nature of this BIOS memory corruption this is the safest approach. This might as well solve a wide range of suspend/resume breakages under Linux. Signed-off-by: Ingo Molnar commit 5649b7c30316a51792808422ac03ee825d26aa5e Author: Ingo Molnar Date: Tue Sep 16 09:29:09 2008 +0200 x86: add DMI quirk for AMI BIOS which corrupts address 0xc000 during resume Alan Jenkins and Andy Wettstein reported a suspend/resume memory corruption bug and extensively documented it here: http://bugzilla.kernel.org/show_bug.cgi?id=11237 The bug is that the BIOS overwrites 1K of memory at 0xc000 physical, without registering it in e820 as reserved or giving the kernel any idea about this. Detect AMI BIOSen and reserve that 1K. We paint this bug around with a very broad brush (reserving that 1K on all AMI BIOS systems), as the bug was extremely hard to find and needed several weeks and lots of debugging and patching. The bug was found via the CONFIG_X86_CHECK_BIOS_CORRUPTION=y debug feature, if similar bugs are suspected then this feature can be enabled on other systems as well to scan low memory for corrupted memory. Reported-by: Alan Jenkins Reported-by: Andy Wettstein Signed-off-by: Ingo Molnar commit e3bbaa3cb6ac5a245e5ecc28b09f9b7b93b2dd8a Merge: 9c3254a... adee14b... Author: Ingo Molnar Date: Tue Sep 16 09:34:23 2008 +0200 Merge commit 'v2.6.27-rc6' into x86/memory-corruption-check commit 375da53b8e5e3ff2330b66b377e07a6151a93fe5 Author: John W. Linville Date: Mon Sep 15 17:25:54 2008 -0400 libertas: correct "limited range of data type" warning CC [M] drivers/net/wireless/libertas/wext.o drivers/net/wireless/libertas/wext.c: In function ‘lbs_get_rts’: drivers/net/wireless/libertas/wext.c:307: warning: comparison is always false due to limited range of data type Signed-off-by: John W. Linville commit 75d31cf19fe8f86b4612561c94dfbb6d8a472ba3 Author: David Kilroy Date: Fri Sep 12 22:28:18 2008 +0100 orinoco: Fix compile warnings Use min_t to avoid warnings when the typesafe version is used. Explicitly cast u64s to unsigned long long when being passed to printk. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit e16ce63c893ff7ccb314d2fbdafbbc915b64d173 Author: Abhijeet Kolekar Date: Fri Sep 12 13:44:08 2008 -0700 mac80211 : Fix mode change hard_start_xmit function When monitor mode is changed to BSS or IBSS, data trasnfer can not happen because proper transmit function is not assigend for BSS ,IBSS mode. This patch fixes this problem by assigning the ieee80211_subif_start_xmit to device's hard_start_xmit function. Signed-off-by: Abhijeet Kolekar Acked-by: Zhu Yi Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 538df283c185c477dbdafafa9652c33e9742de75 Author: Johannes Berg Date: Fri Sep 12 15:22:53 2008 +0200 mac80211: remove debug frame dumping You can just pull up a monitor interface to get much more detailed information, or, when debugging a driver, insert dump code into the driver (which usually you will have to do anyway to dump the driver-specific information). Hence this option is useless. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c1b6cf4ee0fb8a3698c563e101a60f9ee4910de0 Author: Johannes Berg Date: Fri Sep 12 11:05:39 2008 +0200 mac80211: remove beacon counters The beacon counters mac80211 keeps are only used for debugfs, unfortunately, they are incorrect for many hardware designs, namely any design that has a beacon template. Hence, remove the counters so we don't create the impression they are usable. This also allows removing the beacon MESH #ifdef again. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 62c1f95e3993480ae451c322588f7cbf5a58db28 Author: Johannes Berg Date: Fri Sep 12 10:18:44 2008 +0200 mac80211: clean up kdoc A few errors sneaked in over time, some functions no longer exist, for some alternatives exist. This changes the docbook template to include the right things. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9222963f7c81e2897833a43066c9db75350c8586 Author: Johannes Berg Date: Fri Sep 12 09:53:27 2008 +0200 mac80211: fix sta_info kernel-doc warning Sorry, forgot to run kernel-doc and just got the output from the nightly run by email, this fixes a warning which I introduced when doing the first RC API cleanups. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0e057d73eacd952d321d46c7eb972969ec245026 Author: Johannes Berg Date: Fri Sep 12 00:39:22 2008 +0200 mac80211 hwsim: make radio list dynamic This paves the way for dynamic radio additions while the module is loaded. Also restrict the number of radios to 100 because creating that many already takes forever. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 25d834e16294c8dfd923dae6bdb8a055391a99a5 Author: Johannes Berg Date: Fri Sep 12 22:52:47 2008 +0200 mac80211: fix virtual interfaces vs. injection Currently, virtual interface pointers passed to drivers might be from monitor interfaces and as such completely uninitialised because we do not tell the driver about monitor interfaces when those are created. Instead of passing them, we should therefore indicate to the driver that there is no information; do that by passing a NULL value and adjust drivers to cope with it. As a result, some mac80211 API functions also need to cope with a NULL vif pointer so drivers can still call them unconditionally. Also, when injecting frames we really don't want to pass NULL all the time, if we know we are the source address of a frame and have a local interface for that address, we can to use that interface. This also helps with processing the frame correctly for that interface which will help the 802.11w implementation. It's not entirely correct for VLANs or WDS interfaces because there the MAC address isn't unique, but it's already a lot better than what we do now. Finally, when injecting without a matching local interface, don't assign sequence numbers at all. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9c31fd635ddfae6eb61712491770befa2ce1fdde Author: Javier Cardona Date: Thu Sep 11 15:32:50 2008 -0700 libertas: Reduce the WPA key installation time. WPA requires that the PTK is installed immediately after the 4-way handshake in order to properly decrypt the subsequent incoming EAPOL-GTK frame. If the PTK is not enabled by the time the EAPOL-GTK frame arrives, the frame is dropped and the supplicant does not receive the group key. This will happen with fast Access Points that send the EAPOL-GTK frame before the suplicant has successfully installed and enabled the PTK. To mitigate this situation, this patch simplifies and accelerates the SIOCSIWENCODEEXT execution. This patch resolves OLPC ticket 7825 (http://dev.laptop.org/ticket/7825) Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit bed7aac9416f50425d2200df32bcc9bf248ff8cb Author: Henrique de Moraes Holschuh Date: Tue Aug 26 11:58:01 2008 -0300 rfkill: remove transmitter blocking on suspend Currently, rfkill would stand in the way of properly supporting wireless devices that are capable of waking the system up from sleep or hibernation when they receive a special wireless message. It would also get in the way of mesh devices that need to remain operational even during platform suspend. To avoid that, stop trying to block the transmitters on the rfkill class suspend handler. Drivers that need rfkill's older behaviour will have to implement it by themselves in their own suspend handling. Do note that rfkill *will* attempt to restore the transmitter state on resume in any situation. This happens after the driver's resume method is called by the suspend core (class devices resume after the devices they are attached to have been resumed). The following drivers need to check if they need to explicitly block their transmitters in their own suspend handlers (maintainers Cc'd): arch/arm/mach-pxa/tosa-bt.c drivers/net/usb/hso.c drivers/net/wireless/rt2x00/* (USB might need it?) drivers/net/wireless/b43/ (SSB over USB might need it?) drivers/misc/hp-wmi.c eeepc-laptop w/rfkill support (not in mainline yet) Compal laptop w/rfkill support (not in mainline yet) toshiba-acpi w/rfkill support (not in mainline yet) Signed-off-by: Henrique de Moraes Holschuh Cc: Ivo van Doorn Cc: Matthew Garrett Cc: Andrew Bird Cc: Greg Kroah-Hartman Cc: Cezary Jackiewicz Cc: Philip Langdale Signed-off-by: John W. Linville commit e35cc4ddcc4c3b11006bcabe8ce28aa7e18da318 Author: Lorenzo Nava Date: Thu Sep 11 15:06:24 2008 +0200 b43: fix QoS parameters initialization This fixes the initialization of QoS parameters. Reported-by: Lorenzo Nava, Francesco Gringoli Signed-off-by: Francesco Gringoli Signed-off-by: John W. Linville commit 25cb6cada8fa0a2f375af29eca6ab5520199ffd6 Author: Zhu Yi Date: Thu Sep 11 11:45:22 2008 +0800 iwl3945: add MODULE_FIRMWARE for 3945 HW This patch adds MODULE_FIRMWARE statement for 3945 HW. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit c9f79ed2d063c3b0e0f2dbb2befd793ab40f6054 Author: Tomas Winkler Date: Thu Sep 11 11:45:21 2008 +0800 iwlwifi: add MODULE_FIRMWARE for 5000 HW This patch adds MODULE_FIRMWARE statement for 5000 HW. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit e96a8495dcac965ef41a654fb456a72e56c87340 Author: Tomas Winkler Date: Thu Sep 11 11:45:20 2008 +0800 iwlwifi: update 5350 Wifi PCI IDs This patch updates PCI IDs for 5350 Wifi/WiMax. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 3061307013267c2c75efae3925f461858d832101 Author: Johannes Berg Date: Thu Sep 11 05:27:40 2008 +0200 mac80211: pass AP vif pointer for VLANs We cannot pass a VLAN vif pointer to the driver since those are entirely virtual and we never tell the driver. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ff550cb4f8ef03f7cb0b4948e503388bcfb96034 Author: Johannes Berg Date: Thu Sep 11 03:17:05 2008 +0200 iwlwifi: don't access mac80211's AMPDU state machine There really is no need, at worst ieee80211_start_tx_ba_session will log a message when debugging is enabled, and poking such internals of mac80211 definitely doesn't belong into an RC algorithm. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 687c7c0807371aeaa94ff2fff511eeb326b5c5de Author: Johannes Berg Date: Thu Sep 11 03:14:11 2008 +0200 mac80211: share sta_info->ht_info Rate control algorithms may need access to a station's HT capabilities, so share the ht_info struct in the public station API. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ae17e986091637e7ef5a8224c7b689029b105131 Author: Johannes Berg Date: Thu Sep 11 03:04:36 2008 +0200 mac80211: move txrate_idx into RC algorithms The sta_info->txrate_idx member isn't used by all RC algorithms in the way it was intended to be used, move it into those that require it (only PID) and keep track in the core code of which rate was last used for reporting to userspace and the mesh MLME. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 323ce79a9cdbf838ea577677b1ddace8e0b4d4c6 Author: Johannes Berg Date: Thu Sep 11 02:45:11 2008 +0200 mac80211: share sta->supp_rates As more preparation for a saner rate control algorithm API, share the supported rates bitmap in the public API. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b7e35008815a1c39123f4dd53b430788e2e18da4 Author: Johannes Berg Date: Thu Sep 11 02:22:58 2008 +0200 mac80211: move last_txrate_idx into RC algorithms This variable in sta_info is only used in a meaningful way by the Intel RC algorithms, so move it into those. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 95dac040041723d0c0ab245642c1b9802f12cc8d Author: Johannes Berg Date: Thu Sep 11 02:03:28 2008 +0200 mac80211: small rate control changes This patch fixes mac80211 to not rely on the rate control algorithm to update sta->tx_retry_failed and sta->tx_retry_count (even if we don't currently use them), removes a number of completely unused values we don't even show in debugfs and changes the code in ieee80211_tx_status() to not look up the sta_info repeatedly. The only behaviour change here would be not calling the rate control function rate_control_tx_status() when no sta_info is found, but all rate control algorithms ignore such calls anyway. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 81c065238644ade3869391f977438ff7ed3158db Author: Johannes Berg Date: Thu Sep 11 02:17:01 2008 +0200 mac80211 hwsim: verify sta pointers In analogy with the previous patch to make mac80211-hwsim verify that the virtual interface pointers are correct, this makes it very that it knows about all station structs. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 17741cdc264e4d768167766a252210e201c1519a Author: Johannes Berg Date: Thu Sep 11 00:02:02 2008 +0200 mac80211: share STA information with driver This patch changes mac80211 to share some more data about stations with drivers. Should help iwlwifi and ath9k when they get around to updating, and might also help with implementing rate control algorithms without internals. Signed-off-by: Johannes Berg Cc: Sujith Manoharan Signed-off-by: John W. Linville commit 8aa21e6fd703cb3fed66ac07dcbcb861f00cf6d6 Author: Johannes Berg Date: Thu Sep 11 02:16:36 2008 +0200 mac80211 hwsim: verify vif pointers mac80211-hwsim is a debugging tool for mac80211, and as such it can very well verify that mac80211 isn't passing junk to drivers, especially the vif pointer is prone to this because for vlan interfaces the AP interface pointer needs to be passed. This makes mac80211-hwsim add a magic cookie to the private vif area and verify it whenever an operation is called that gets a vif pointer. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7a725f73403e874ec52c58741e9b98cd604dbd03 Author: Johannes Berg Date: Thu Sep 11 00:02:00 2008 +0200 mac80211: warn on some invalid vlan operations These should never happen, but better warn about them than crashing a driver, the fact that they never happen is rather subtle throughout mac80211. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0d143fe1e2efc084fa730d2dfa22d0d1ca2ee5f1 Author: Johannes Berg Date: Thu Sep 11 00:01:59 2008 +0200 mac80211: move regular interface handling Move the code to handle regular interfaces out of main.c and into iface.c, keep only the master interface stuff in main.c. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 05c914fe330fa8e1cc67870dc0d3809dfd96c107 Author: Johannes Berg Date: Thu Sep 11 00:01:58 2008 +0200 mac80211: use nl80211 interface types There's really no reason for mac80211 to be using its own interface type defines. Use the nl80211 types and simplify the configuration code a bit: there's no need to translate them any more now. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 96dd22ac06b0dbfb069fdf530c72046a941e9694 Author: Johannes Berg Date: Thu Sep 11 00:01:57 2008 +0200 mac80211: inform driver of basic rateset Drivers need to know the basic rateset to be able to configure the ACK/CTS programming in hardware correctly. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ccd7b36286f8c42b3fa95c5a8d402162ffab41df Author: Johannes Berg Date: Thu Sep 11 00:01:56 2008 +0200 mac80211: clean up some comments Some comments refer to 80211.o or similar; also remove a comment about implementing fragments better, we really have better things to do. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c2b13452b283f9c4a5b02a6b53ed6416ebf4c03c Author: Johannes Berg Date: Thu Sep 11 00:01:55 2008 +0200 mac80211: clean up scan namespace Most of the scan functions are called ieee80211_sta_scan_* or similar, make clean it up so they are all just called ieee80211_scan_*. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 213cd118cbb88b76ae48f92cfb7dbef9a83cca62 Author: Johannes Berg Date: Thu Sep 11 00:01:54 2008 +0200 mac80211: make bridge_packets a virtual interface option The bridge_packets configuration really should be per virtual interface (theoretically per AP/VLAN, but this is much easier); there currently is no way to set it yet though. Also invert the option to "NO_BRIDGE_PACKETS" so the default is to bridge. While at it, also document the flags properly. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e16751c3178add97c4f83dcf92e59b536537b22f Author: Johannes Berg Date: Thu Sep 11 00:01:53 2008 +0200 mac80211: move ieee80211_set_freq to utils It really doesn't belong into the wireless extensions code. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9c6bd79011b14a8bfe58aad0acfb51e4dca05eed Author: Johannes Berg Date: Thu Sep 11 00:01:52 2008 +0200 mac80211: reorder MLME code more This way all the utility functions are at the top, then the state machine and externally callable functions are moved to the bottom. Also clean up ieee80211_i.h a bit and add a few comments about which functions are called from where. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5bc75728fd43bb15b46f16ef465bcf9d487393cf Author: Johannes Berg Date: Thu Sep 11 00:01:51 2008 +0200 mac80211: fix scan vs. interface removal race When we remove an interface, we can currently end up having a pointer to it left in local->scan_sdata after it has been set down, and then with a hardware scan the scan completion can try to access it which is a bug. Alternatively, a scan that started as a hardware scan may terminate as though it was a software scan, if the timing is just right. On SMP systems, software scan also has a similar problem, just canceling the delayed work and setting a flag isn't enough since it may be running concurrently; in this case we would also never restore state of other interfaces. This patch hopefully fixes the problems by always invoking ieee80211_scan_completed or requiring it to be invoked by the driver, I suspect the drivers that have ->hw_scan() are buggy. The bug will not manifest itself unless you remove the interface while hw-scanning which will also turn off the hw, and then add a new interface which will be unusable until you scan once. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b7413430d4d2a6168e68231d9f93763047b6d60c Author: Johannes Berg Date: Thu Sep 11 00:01:50 2008 +0200 mac80211: fix work race When we stop an interface, the work on it may still be pending or running. We do cancel the timer, but we do not currently protect against the work struct. The race is very unlikely to hit -- it'll happen only when the driver is using mac80211's workqueue to run long-running tasks and the sta/mesh works are delayed for quite a bit. This patch fixes it by cancelling the work explicitly. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 472dbc45dc1966284de72d7de15690c17ed2cf33 Author: Johannes Berg Date: Thu Sep 11 00:01:49 2008 +0200 mac80211: split off mesh handling entirely This patch splits off mesh handling from the STA/IBSS. Unfortunately it increases mesh code size a bit, but I think it makes things clearer. The patch also reduces per-interface run-time memory usage. Also clean up a few places where ifdef is not required. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7c95069522d02ff144cd421be6618dce619caf7e Author: Johannes Berg Date: Thu Sep 11 00:01:48 2008 +0200 mac80211: dont set REQ_RUN when scan finishes The timer restart is done wrongly, we shouldn't set the REQ_RUN bit when the scan has finished if it hadn't been set before the scan started. If the timer fires during the scan, it will set REQ_RUN and then we can run the work for it, if it didn't fire then we shouldn't run its work either. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a1678f84bff9b20807f7f6a45ebfb56a0c02b353 Author: Johannes Berg Date: Thu Sep 11 00:01:47 2008 +0200 mac80211: move STA timer restart This I shouldn't have moved to the scan implementation, move it back to the MLME where it belongs, to the notification. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 24723d1bc9da79a53d0495b9cf9ee18747121b03 Author: Johannes Berg Date: Thu Sep 11 00:01:46 2008 +0200 mac80211: move ieee80211_sta_expire ieee80211_sta_expire uses the internal __sta_info_unlink function which can become static if this function is moved to sta_info.c. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 39fcf7a315e098430e878a5c0c4d39561c93ebf6 Author: Dan Williams Date: Wed Sep 10 12:49:00 2008 -0400 libertas: convert SNMP_MIB to a direct command And support setting both long and short retries independently. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 500c064d3a5f9c8aa604ef63a1346ab70eed443a Author: Vasanthakumar Thiagarajan Date: Wed Sep 10 18:50:17 2008 +0530 ath9k: Add RF kill support RF kill support is enabled when CONFIG_RFKILL is set. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 8feceb67929bd23bfca58d5f49df93d7fc315bb1 Author: Vasanthakumar Thiagarajan Date: Wed Sep 10 18:49:27 2008 +0530 ath9k: Re-order functions in main.c Some of the functions in main.c are re-ordered in such a way that all local functions are defined before mac80211 and pci callbacks. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit f8e77caefea8940ee1fb09c9ebb0107ca2eadb72 Author: Dan Williams Date: Wed Sep 10 09:04:33 2008 -0400 libertas: remove unused generic RESET command The generic reset command is unused. Each interface type needs to handle the reset command differently since after reset, the firmware is dead and interface-specific mechanisms must be used to reinitialize the card. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit e83a1070a1167eac1bf8844b9f08df5e9ea1b5bc Author: Luis R. Rodriguez Date: Tue Sep 9 23:19:49 2008 -0700 zd1211rw: make use of new regulatory_hint() This cleans up zd1211rw's own regulatory work, and makes use of the new cfg80211 regulatory_hint(). Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b2e1b30290539b344cbaff0d9da38012e03aa347 Author: Luis R. Rodriguez Date: Tue Sep 9 23:19:48 2008 -0700 cfg80211: Add new wireless regulatory infrastructure This adds the new wireless regulatory infrastructure. The main motiviation behind this was to centralize regulatory code as each driver was implementing their own regulatory solution, and to replace the initial centralized code we have where: * only 3 regulatory domains are supported: US, JP and EU * regulatory domains can only be changed through module parameter * all rules were built statically in the kernel We now have support for regulatory domains for many countries and regulatory domains are now queried through a userspace agent through udev allowing distributions to update regulatory rules without updating the kernel. Each driver can regulatory_hint() a regulatory domain based on either their EEPROM mapped regulatory domain value to a respective ISO/IEC 3166-1 country code or pass an internally built regulatory domain. We also add support to let the user set the regulatory domain through userspace in case of faulty EEPROMs to further help compliance. Support for world roaming will be added soon for cards capable of this. For more information see: http://wireless.kernel.org/en/developers/Regulatory/CRDA For now we leave an option to enable the old module parameter, ieee80211_regdom, and to build the 3 old regdomains statically (US, JP and EU). This option is CONFIG_WIRELESS_OLD_REGULATORY. These old static definitions and the module parameter is being scheduled for removal for 2.6.29. Note that if you use this you won't make use of a world regulatory domain as its pointless. If you leave this option enabled and if CRDA is present and you use US or JP we will try to ask CRDA to update us a regulatory domain for us. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit a501d8f30e4fcca563e4ee462be00f96e51181d5 Author: Martin Langer Date: Sun Sep 7 17:51:32 2008 +1000 powerpc: Fix major revision number for Freescale cores Some 74xx cores by Freescale are using the configuration field instead of the major revision field for their revision number. This corrects the wrong behaviour for those ppc cores including my one. There is a reference document at Freecale. It describes the PVR register. This is based on that pdf. You can find the document at: http://www.freescale.com/files/archives/doc/support_info/PPCPVR.pdf Signed-off-by: Martin Langer Signed-off-by: Paul Mackerras commit 0b26425ce101a7c1b1ad4ec353d4e860223d9fc4 Author: David Gibson Date: Fri Sep 5 11:49:54 2008 +1000 powerpc: Clean up hugepage pagetable allocation for powerpc with 16G pages There is a small bug in the handling of 16G hugepages recently added to the kernel. This doesn't cause a crash or other user-visible problems, but it does mean that more levels of pagetable are allocated than makes sense for 16G pages. The hugepage pagetables for the 16G pages are allocated much lower in the pagetable tree than they should be, with the intervening levels allocated with full pmd and pud pages which will only ever have one entry filled in. This corrects this problem, at the same time cleaning up the handling of which level 64k versus 16M hugepage pagetables are allocated at. The new way of formatting the tests should be more robust against changes in pagetable structure, or any newly added hugepage sizes. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 150c6c8fecf6daaf68c2987ba2b6b259baefdff2 Author: Sebastien Dugue Date: Thu Sep 4 22:37:08 2008 +1000 powerpc: Make the irq reverse mapping radix tree lockless The radix trees used by interrupt controllers for their irq reverse mapping (currently only the XICS found on pSeries) have a complex locking scheme dating back to before the advent of the lockless radix tree. This takes advantage of the lockless radix tree and of the fact that the items of the tree are pointers to a static array (irq_map) elements which can never go under us to simplify the locking. Concurrency between readers and writers is handled by the intrinsic properties of the lockless radix tree. Concurrency between writers is handled with a global mutex. Signed-off-by: Sebastien Dugue Cc: Benjamin Herrenschmidt Cc: Michael Ellerman Signed-off-by: Paul Mackerras commit 967e012ef306e99cfddcd7423f37414e6b568361 Author: Sebastien Dugue Date: Thu Sep 4 22:37:07 2008 +1000 powerpc: Separate the irq radix tree insertion and lookup irq_radix_revmap() currently serves 2 purposes, irq mapping lookup and insertion which happen in interrupt and process context respectively. Separate the function into its 2 components, one for lookup only and one for insertion only. Fix the only user of the revmap tree (XICS) to use the new functions. Also, move the insertion into the radix tree of those irqs that were requested before it was initialized at said tree initialization. Mutual exclusion between the tree initialization and readers/writers is handled via a state variable (revmap_trees_allocated) set to 1 when the tree has been initialized and set to 2 after the already requested irqs have been inserted in the tree by the init path. This state is checked before any reader or writer access just like we used to check for tree.gfp_mask != 0 before. Finally, now that we're not any longer inserting nodes into the radix-tree in interrupt context, turn the GFP_ATOMIC allocations into GFP_KERNEL ones. Signed-off-by: Sebastien Dugue Cc: Benjamin Herrenschmidt Cc: Michael Ellerman Signed-off-by: Paul Mackerras commit aaf4a9b0f78786e6915077cbbb1d6f4fb6a8ee0b Author: Becky Bruce Date: Thu Sep 4 01:37:53 2008 +1000 powerpc: Rename PTE_SIZE to HPTE_SIZE It's the size of the hardware PTE; make that clear in the name. Signed-off-by: Becky Bruce Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit ce400c0102d8e1367266115ce6bc22333e5e3da6 Author: Thiemo Seufer Date: Tue Sep 2 00:23:02 2008 +1000 powerpc: Enforce a non-spe kernel build even on broken compilers Those two are required on my fresh gcc 4.3.1. Signed-off-by: Thiemo Seufer Signed-off-by: Sebastian Siewior Signed-off-by: Paul Mackerras commit d6c93adbeb98c56e19f7df37633566b39fbcd4c9 Author: Christoph Hellwig Date: Mon Sep 1 11:23:30 2008 +1000 powerpc: Use sys_pause for 32-bit pause entry point sys32_pause is a useless copy of the generic sys_pause. Signed-off-by: Christoph Hellwig Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 549e8152de8039506f69c677a4546e5427aa6ae7 Author: Paul Mackerras Date: Sat Aug 30 11:43:47 2008 +1000 powerpc: Make the 64-bit kernel as a position-independent executable This implements CONFIG_RELOCATABLE for 64-bit by making the kernel as a position-independent executable (PIE) when it is set. This involves processing the dynamic relocations in the image in the early stages of booting, even if the kernel is being run at the address it is linked at, since the linker does not necessarily fill in words in the image for which there are dynamic relocations. (In fact the linker does fill in such words for 64-bit executables, though not for 32-bit executables, so in principle we could avoid calling relocate() entirely when we're running a 64-bit kernel at the linked address.) The dynamic relocations are processed by a new function relocate(addr), where the addr parameter is the virtual address where the image will be run. In fact we call it twice; once before calling prom_init, and again when starting the main kernel. This means that reloc_offset() returns 0 in prom_init (since it has been relocated to the address it is running at), which necessitated a few adjustments. This also changes __va and __pa to use an equivalent definition that is simpler. With the relocatable kernel, PAGE_OFFSET and MEMORY_START are constants (for 64-bit) whereas PHYSICAL_START is a variable (and KERNELBASE ideally should be too, but isn't yet). With this, relocatable kernels still copy themselves down to physical address 0 and run there. Signed-off-by: Paul Mackerras commit e31aa453bbc4886a7bd33e5c2afa526d6f55bd7a Author: Paul Mackerras Date: Sat Aug 30 11:41:12 2008 +1000 powerpc: Use LOAD_REG_IMMEDIATE only for constants on 64-bit Using LOAD_REG_IMMEDIATE to get the address of kernel symbols generates 5 instructions where LOAD_REG_ADDR can do it in one, and will generate R_PPC64_ADDR16_* relocations in the output when we get to making the kernel as a position-independent executable, which we'd rather not have to handle. This changes various bits of assembly code to use LOAD_REG_ADDR when we need to get the address of a symbol, or to use suitable position-independent code for cases where we can't access the TOC for various reasons, or if we're not running at the address we were linked at. It also cleans up a few minor things; there's no reason to save and restore SRR0/1 around RTAS calls, __mmu_off can get the return address from LR more conveniently than the caller can supply it in R4 (and we already assume elsewhere that EA == RA if the MMU is on in early boot), and enable_64b_mode was using 5 instructions where 2 would do. Signed-off-by: Paul Mackerras commit 1f6a93e4c35e75d547b51f56ba8139ab1a91628c Author: Paul Mackerras Date: Sat Aug 30 11:40:24 2008 +1000 powerpc: Make it possible to move the interrupt handlers away from the kernel This changes the way that the exception prologs transfer control to the handlers in 64-bit kernels with the aim of making it possible to have the prologs separate from the main body of the kernel. Now, instead of computing the address of the handler by taking the top 32 bits of the paca address (to get the 0xc0000000........ part) and ORing in something in the bottom 16 bits, we get the base address of the kernel by doing a load from the paca and add an offset. This also replaces an mfmsr and an ori to compute the MSR value for the handler with a load from the paca. That makes it unnecessary to have a separate version of EXCEPTION_PROLOG_PSERIES that forces 64-bit mode. We can no longer use a direct branches in the exception prolog code, which means that the SLB miss handlers can't branch directly to .slb_miss_realmode any more. Instead we have to compute the address and do an indirect branch. This is conditional on CONFIG_RELOCATABLE; for non-relocatable kernels we use a direct branch as before. (A later change will allow CONFIG_RELOCATABLE to be set on 64-bit powerpc.) Since the secondary CPUs on pSeries start execution in the first 0x100 bytes of real memory and then have to get to wherever the kernel is, we can't use a direct branch to get there. Instead this changes __secondary_hold_spinloop from a flag to a function pointer. When it is set to a non-NULL value, the secondary CPUs jump to the function pointed to by that value. Finally this eliminates one code difference between 32-bit and 64-bit by making __secondary_hold be the text address of the secondary CPU spinloop rather than a function descriptor for it. Signed-off-by: Paul Mackerras commit 9a95516740c924675d52c472d7d170c62eab176c Author: Paul Mackerras Date: Sat Aug 30 11:39:26 2008 +1000 powerpc: Rearrange head_64.S to move interrupt handler code to the beginning This rearranges head_64.S so that we have all the first-level exception prologs together starting at 0x100, followed by all the second-level handlers that are invoked from the first-level prologs, followed by other code. This doesn't make any functional change but will make following changes for relocatable kernel support easier. Signed-off-by: Paul Mackerras commit cf00085d8045cddd80a8aabad97de96fa8131793 Author: Chandru Date: Sat Aug 30 00:28:16 2008 +1000 powerpc: Add support for dynamic reconfiguration memory in kexec/kdump kernels Kdump kernel needs to use only those memory regions that it is allowed to use (crashkernel, rtas, tce, etc.). Each of these regions have their own sizes and are currently added under 'linux,usable-memory' property under each memory@xxx node of the device tree. The ibm,dynamic-memory property of ibm,dynamic-reconfiguration-memory node (on POWER6) now stores in it the representation for most of the logical memory blocks with the size of each memory block being a constant (lmb_size). If one or more or part of the above mentioned regions lie under one of the lmb from ibm,dynamic-memory property, there is a need to identify those regions within the given lmb. This makes the kernel recognize a new 'linux,drconf-usable-memory' property added by kexec-tools. Each entry in this property is of the form of a count followed by that many (base, size) pairs for the above mentioned regions. The number of cells in the count value is given by the #size-cells property of the root node. Signed-off-by: Chandru Siddalingappa Signed-off-by: Paul Mackerras commit 525c411d400603665f8416f7e84bb14a43830027 Author: Nathan Fontenot Date: Tue Aug 26 05:33:34 2008 +1000 powerpc: Check rc of notifier chain for memory remove The return code from invocation of the notifier for pSeries_reconfig_chain during update of the device tree is not checked. This causes writes to /proc/ppc64/ofdt to update memory properties (i.e. ibm,dyamic-reconfiguration-memory) to always return success, instead of the result of the notifier chain. This happens specifically when we remove/add memory from the device tree on machines using memory specified in the ibm,dynamic-reconfiguration-memory property of the device tree. Signed-off-by: Nathan Fontenot Signed-off-by: Paul Mackerras commit 57dda6ef5bd5b9e60410477ad29e654097e2cca1 Author: Mark Nelson Date: Fri Aug 22 14:39:00 2008 +1000 powerpc: New copy_4K_page() This new copy_4K_page() function was originally tuned for the best performance on the Cell processor, but after testing on more 64bit powerpc chips it was found that with a small modification it either matched the performance offered by the current mainline version or bettered it by a small amount. It was found that on a Cell-based QS22 blade the amount of system time measured when compiling a 2.6.26 pseries_defconfig decreased by 4%. Using the same test, a 4-way 970MP machine saw a decrease of 2% in system time. No noticeable change was seen on Power4, Power5 or Power6. The 4096 byte page is copied in thirty-two 128 byte strides. An initial setup loop executes dcbt instructions for the whole source page and dcbz instructions for the whole destination page. To do this, the cache line size is retrieved from ppc64_caches. A new CPU feature bit, CPU_FTR_CP_USE_DCBTZ, (introduced in the previous patch) is used to make the modification to this new copy routine - on Power4, 970 and Cell the feature bit is set so the setup loop is executed, but on all other 64bit chips the setup loop is nop'ed out. Signed-off-by: Mark Nelson Signed-off-by: Paul Mackerras commit 2a9294369bd020db89bfdf78b84c3615b39a5c84 Author: Mark Nelson Date: Fri Aug 22 14:36:19 2008 +1000 powerpc: Add new CPU feature: CPU_FTR_CP_USE_DCBTZ Add a new CPU feature bit, CPU_FTR_CP_USE_DCBTZ, to be added to the 64bit powerpc chips that benefit from having dcbt and dcbz instructions used in their memory copy routines. This will be used in a subsequent patch that updates copy_4K_page(). The new bit is added to Cell, PPC970 and Power4 because they show better performance with the new copy_4K_page() when dcbt and dcbz instructions are used. Signed-off-by: Mark Nelson Signed-off-by: Paul Mackerras commit 1b3c83e6d3b4d3001e42a9cf800c0071adf8e2c9 Author: roel kluin Date: Tue Aug 19 08:34:17 2008 +1000 powerpc: Fix duplicate test of MACIO_FLAG_SCCB_ON Evidently MACIO_FLAG_SCCA_ON was meant. Signed-off-by: Roel Kluin Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit acd2c8aa02f302ed838348052e16ee575c645147 Author: Abhijith Das Date: Mon Sep 15 08:54:06 2008 -0500 GFS2: GFS2 will panic if you misspell any mount options The gfs2 superblock pointer is NULL after a failed mount. When control eventually goes to gfs2_kill_sb, we dereference this NULL pointer. This patch ensures that the gfs2 superblock pointer is not NULL before being dereferenced in gfs2_kill_sb. Signed-off-by: Abhijith Das Signed-off-by: Steven Whitehouse commit acb57a3652c614efed26080dad5972c0076166b1 Author: Bob Peterson Date: Thu Sep 11 15:35:37 2008 -0400 GFS2: Direct IO write at end of file error This patch fixes a problem whereby a direct_io write doesn't fall back to buffered write properly at end of file. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit d7451fca18e2ec62641ae4bbfe946069f13765a3 Author: Jordan Crouse Date: Fri Sep 12 11:45:22 2008 -0600 x86, hpet: SB600 - remove HPET resources from PCI device Prevent the HPET resources from appearing in PCI device 14.0 which confuses the PCI resource engine. Signed-off-by: Jordan Crouse Signed-off-by: Ingo Molnar commit 83bd6998b04fc1bb7280b14f16b2bdbdc07c914b Merge: e7250b8... adee14b... Author: Ingo Molnar Date: Sun Sep 14 18:24:00 2008 +0200 Merge commit 'v2.6.27-rc6' into timers/hpet commit f81b691a3df09806385ea413c3a2ee094c705ca3 Merge: 110e035... adee14b... Author: Ingo Molnar Date: Sun Sep 14 17:26:53 2008 +0200 Merge commit 'v2.6.27-rc6' into x86/pat commit 8308c54d7e312f7a03e2ce2057d0837e6fe3843f Author: Jeremy Fitzhardinge Date: Thu Sep 11 01:31:50 2008 -0700 generic: redefine resource_size_t as phys_addr_t There's no good reason why a resource_size_t shouldn't just be a physical address, so simply redefine it in terms of phys_addr_t. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 947d0496cf3e12ebfa70b3eaf561c25403247ce9 Author: Jeremy Fitzhardinge Date: Thu Sep 11 01:31:48 2008 -0700 generic: make PFN_PHYS explicitly return phys_addr_t PFN_PHYS, as its name suggests, turns a pfn into a physical address. However, it is a macro which just operates on its argument without modifying its type. pfns are typed unsigned long, but an unsigned long may not be long enough to hold a physical address (32-bit systems with more than 32 bits of physcial address). Make sure we cast to phys_addr_t to return a complete result. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 600715dcdf567c86f8b2c6173fcfb4b873e25a19 Author: Jeremy Fitzhardinge Date: Thu Sep 11 01:31:45 2008 -0700 generic: add phys_addr_t for holding physical addresses Add a kernel-wide "phys_addr_t" which is guaranteed to be able to hold any physical address. By default it equals the word size of the architecture, but a 32-bit architecture can set ARCH_PHYS_ADDR_T_64BIT if it needs a 64-bit phys_addr_t. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 9dfed08eb4086584205717894177a9ee930c88c4 Merge: 1cf44ba... adee14b... Author: Ingo Molnar Date: Sun Sep 14 17:23:29 2008 +0200 Merge commit 'v2.6.27-rc6' into core/resources commit f6a32a36ab96016675cd414802904feb288d7899 Author: FUJITA Tomonori Date: Thu Sep 11 23:08:48 2008 +0900 x86: gart alloc_coherent does virtual mapppings only when necessary gart alloc_coherent need to do virtual mapppings only when an allocated buffer is not DMA-capable for a device. Signed-off-by: FUJITA Tomonori Acked-by: Joerg Roedel Signed-off-by: Ingo Molnar commit f10ac8a232496bf9271cfc67c6eea432891f04a6 Author: FUJITA Tomonori Date: Thu Sep 11 23:08:47 2008 +0900 x86: avoid unnecessary low zone allocation in Calgary's alloc_coherent x86's common alloc_coherent (dma_alloc_coherent in dma-mapping.h) sets up the gfp flag according to the device dma_mask but Calgary doesn't need it because of virtual mappings. This patch avoids unnecessary low zone allocation. Signed-off-by: FUJITA Tomonori Acked-by: Muli Ben-Yehuda Signed-off-by: Ingo Molnar commit bee44f294efd8417f5e68553778a6cc957af1547 Author: FUJITA Tomonori Date: Fri Sep 12 19:42:35 2008 +0900 x86: make GART to respect device's dma_mask about virtual mappings Currently, GART IOMMU ingores device's dma_mask when it does virtual mappings. So it could give a device a virtual address that the device can't access to. This patch fixes the above problem. Signed-off-by: FUJITA Tomonori Signed-off-by: Ingo Molnar commit 589fc9a6e2102b498978f6350581ec7fa5aeb032 Author: FUJITA Tomonori Date: Fri Sep 12 19:42:34 2008 +0900 iommu: add dma_get_mask helper function Several IOMMUs do the same thing to get the dma_mask of a device. This adds a helper function to do the same thing to sweep them. Signed-off-by: FUJITA Tomonori Signed-off-by: Ingo Molnar commit eecfffc154ffbfe70686a9905c090b488778c28e Author: FUJITA Tomonori Date: Fri Sep 12 19:42:33 2008 +0900 iommu: add iommu_device_max_index IOMMU helper function This function helps IOMMUs to know the highest address that a device can access to. Signed-off-by: FUJITA Tomonori Signed-off-by: Ingo Molnar commit 457b1d5a4b7b8c2b3b6bd032098da600c50dd6b2 Author: Lennert Buytenhek Date: Thu Sep 4 12:22:34 2008 +0200 mv643xx_eth: add support for chips without transmit bandwidth control Add support for mv643xx_eth versions that have no transmit bandwidth control registers at all, such as the ethernet block found in the Marvell 88F6183 ARM SoC. Signed-off-by: Lennert Buytenhek commit 6b8f90c276ac25cd37f143a00d467a8ccb19c4c6 Author: Lennert Buytenhek Date: Sun Sep 14 15:50:32 2008 +0200 mv643xx_eth: avoid reading ->byte_cnt twice during receive processing Currently, the receive processing reads ->byte_cnt twice (once to update interface statistics and once to properly size the data area of the received skb), but since receive descriptors live in uncached memory, caching this value in a local variable saves one uncached access, and increases routing performance a tiny little bit more. Signed-off-by: Lennert Buytenhek commit e6babb6b7fed93c93f8fc5ef8ebd3a474fc2df3e Author: Hiroshi Shimamoto Date: Fri Sep 12 17:03:31 2008 -0700 x86: signal: introduce do_rt_sigreturn() introduce do_rt_sigreturn(), to collect common part of sys_rt_sigreturn(). No change in functionality intended. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 2ba48e16e78216bb5b9fd08a088bfefda478df25 Author: Hiroshi Shimamoto Date: Fri Sep 12 17:02:53 2008 -0700 x86: signal: remove unneeded err handling This patch eliminates unused or unneeded variable handling. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 3d0aedd9538e6be8afec1a9d8b084bf90bc91495 Author: Hiroshi Shimamoto Date: Fri Sep 12 17:01:09 2008 -0700 x86: signal: put give_sigsegv of setup frames together When setup frame fails, force_sigsegv is called and returns -EFAULT. There is similar code in ia32_setup_frame(), ia32_setup_rt_frame(), __setup_frame() and __setup_rt_frame(). Make them identical. No change in functionality intended. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit b899219572350685e6163ce7535efb5ad9bcd6a4 Author: Alexey Dobriyan Date: Sun Sep 14 13:44:41 2008 +0400 x86: simpler SYSVIPC_COMPAT definition X86_64 part is entirely redundant. Signed-off-by: Alexey Dobriyan Signed-off-by: Ingo Molnar commit a1c75cc5018f17ff6d80ce45a13435b1536f76db Author: Ingo Molnar Date: Sun Sep 14 14:50:26 2008 +0200 x86, microcode rework, v2, fix based on patch from Dmitry Adamushko. - add missing vfree() - update debug printks Signed-off-by: Ingo Molnar commit a9853dd6d285c30a3ddeb3cce8c05e1678400bef Author: Ingo Molnar Date: Sun Sep 14 14:46:58 2008 +0200 x86: cpuid, fix typo Signed-off-by: Ingo Molnar commit 2b4a624d706d404a3edccb6d1bb2c440a6dbbc31 Author: Lennert Buytenhek Date: Sun Sep 14 14:09:59 2008 +0200 mv643xx_eth: shrink default receive and transmit queue sizes Since the size of the receive queue is directly related to the data cache footprint of the driver (between refilling a receive ring entry with a fresh skb and receiving a packet in that entry, queue_size - 1 other skbs will have been touched), shrink the default receive queue size to a saner number of entries, as 400 is definite overkill for almost all workloads. While we are at it, trim the default transmit queue size a bit as well. Signed-off-by: Lennert Buytenhek commit afae865613c8292e8bdcce4f0b161988d761f033 Author: Yinghai Lu Date: Sun Sep 14 02:33:16 2008 -0700 x86: move transmeta cap read to early_init_transmeta() Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit aef93c8bd506a78983d91cd576a97fee6e934ac1 Author: Yinghai Lu Date: Sun Sep 14 02:33:15 2008 -0700 x86: identify_cpu_without_cpuid v2 Krzysztof found some old cyrix cpu where an mtrr-alike cpu feature was not detected properly. this one is based on Krzysztof' patch, and we call ->c_identify() in early_identify_cpu. need to call c_identify() for cpus without cpuid even earlier ... v2: Krzysztof point out need to give cyrix another chance about cpuid checking again, after ->c_identify() enables cpuid for it Signed-off-by: Yinghai Lu Cc: Krzysztof Helt Signed-off-by: Ingo Molnar commit 99ab08e091df65ce8e191d85ebdc23f78b8355cb Author: Lennert Buytenhek Date: Thu Aug 28 05:53:18 2008 +0200 mv643xx_eth: replace array of skbs awaiting transmit completion with a queue Get rid of the skb pointer array that we currently use for transmit reclaim, and replace it with an skb queue, to which skbuffs are appended when they are passed to the xmit function, and removed from the front and freed when we do transmit queue reclaim and hit a descriptor with the 'owned by device' bit clear and 'last descriptor' bit set. Signed-off-by: Lennert Buytenhek commit a418950c1378c4a3722baecdbe98df78ea23f231 Author: Lennert Buytenhek Date: Sat Sep 13 04:16:15 2008 +0200 mv643xx_eth: avoid dropping tx lock during transmit reclaim By moving DMA unmapping during transmit reclaim back under the netif tx lock, we avoid the situation where we read the DMA address and buffer length from the descriptor under the lock and then not do anything with that data after dropping the lock on platforms where the DMA unmapping routines are all NOPs (which is the case on all ARM platforms that mv643xx_eth is used on at least). This saves two uncached reads, which makes a small but measurable performance difference in routing benchmarks. Signed-off-by: Lennert Buytenhek commit 8fd89211bf8e8e60415c66e5546c1478f5e8bc2b Author: Lennert Buytenhek Date: Thu Aug 28 08:26:28 2008 +0200 mv643xx_eth: switch to netif tx queue lock, get rid of private spinlock Since our ->hard_start_xmit() method is already called under spinlock protection (the netif tx queue lock), we can simply make that lock cover the private transmit state (descriptor ring indexes et al.) as well, which avoids having to use a private lock to protect that state. Since this was the last user of the driver-private spinlock, it can be killed off. Signed-off-by: Lennert Buytenhek commit 1fa38c586e92cce4ce06bfc08ad3134b8445170b Author: Lennert Buytenhek Date: Thu Aug 28 08:09:10 2008 +0200 mv643xx_eth: move all work to the napi poll handler Move link status handling, transmit reclaim and TX_END handling from the interrupt handler to the napi poll handler. This allows switching ->lock over to a non-IRQ-safe lock and removes all explicit interrupt disabling from the driver. Signed-off-by: Lennert Buytenhek commit 6e03f99803195e5aaf7f247db31b0d11857ccc35 Merge: 9821626... 6bfb09a... Author: Ingo Molnar Date: Sun Sep 14 14:07:00 2008 +0200 Merge branch 'linus' into x86/iommu Conflicts: lib/swiotlb.c Signed-off-by: Ingo Molnar commit 9b2e43ae4e9609f80034dfe8de895045cac52d77 Author: David S. Miller Date: Thu Sep 11 23:08:30 2008 -0700 sparc32: Use PROM device probing for sun4m timer registers. Signed-off-by: David S. Miller commit 730c213c79a638137b47a90624e4bac252f07ae7 Author: Eric Sandeen Date: Sat Sep 13 15:23:29 2008 -0400 ext4: use percpu data structures for lg_prealloc_list lg_prealloc_list seems to cry out for a per-cpu data structure; on a large smp system I think this should be better. I've lightly tested this change on a 4-cpu system. Signed-off-by: Eric Sandeen Acked-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit 8eea80d52b9d87cfd771055534bd2c24f73704d7 Author: Theodore Ts'o Date: Sat Sep 13 19:54:35 2008 -0400 ext4: Renumber EXT4_IOC_MIGRATE Pick an ioctl number for EXT4_IOC_MIGRATE that won't conflict with other ext4 ioctl's. Since there haven't been any major userspace users of this ioctl, we can afford to change this now, to avoid potential problems later. Also, reorder the ioctl numbers in ext4.h to avoid this sort of mistake in the future. Signed-off-by: "Theodore Ts'o" commit 4db46fc266b84a04b73b7a4c6ebe8a543a62a2ff Author: Aneesh Kumar K.V Date: Wed Oct 8 23:34:06 2008 -0400 ext4: hook the ext3 migration interface to the EXT4_IOC_SETFLAGS ioctl This patch hooks the ext3 to ext4 migrate interface to EXT4_IOC_SETFLAGS ioctl. The userspace interface is via chattr +e. We only allow setting extent flags. Clearing extent flag (migrating from ext4 to ext3) is not supported. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit 2a43a878001cc5cb7c3c7be2e8dad0a1aeb939b0 Author: Aneesh Kumar K.V Date: Sat Sep 13 12:52:26 2008 -0400 ext4: elevate write count for migrate ioctl The migrate ioctl writes to the filsystem, so we need to elevate the write count. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit 63f2c0464875b6ef2132cecb19b2a5abbf061227 Author: Stephen Rothwell Date: Fri Sep 12 23:23:50 2008 -0700 net: ip_vs_proto_{tcp,udp} build fix Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit f07d1501292b3b0d3276ee0e537005526a45e242 Author: Alexander Duyck Date: Fri Sep 12 17:57:23 2008 -0700 multiq: Further multiqueue cleanup This patch resolves a few issues found with multiq including wording suggestions and a problem seen in the allocation of queues. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 67333bb5679325db310bb612c1de3e6e47bb0043 Author: Alexander Duyck Date: Fri Sep 12 17:56:50 2008 -0700 skbedit: Fix a typo in the documentation Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ca9b0e27e072be4cef2f5f0cbc0b0fd94eae3520 Author: Alexander Duyck Date: Fri Sep 12 16:30:20 2008 -0700 pkt_action: add new action skbedit This new action will have the ability to change the priority and/or queue_mapping fields on an sk_buff. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 92651940ab00dbe64722e908f70d816713d677b7 Author: Alexander Duyck Date: Fri Sep 12 16:29:34 2008 -0700 pkt_sched: Add multiqueue scheduler support This patch is intended to add a qdisc to support the new tx multiqueue architecture by providing a band for each hardware queue. By doing this it is possible to support a different qdisc per physical hardware queue. This qdisc uses the skb->queue_mapping to select which band to place the traffic onto. It then uses a round robin w/ a check to see if the subqueue is stopped to determine which band to dequeue the packet from. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 78d15e82754945ee9821fb491b57faf43abfb9d7 Author: Vegard Nossum Date: Fri Sep 12 16:17:43 2008 -0700 tcp_ipv6: fix use of uninitialized memory inet6_rsk() is called on a struct request_sock * before we have checked whether the socket is an ipv6 socket or a ipv6- mapped ipv4 socket. The access that triggers this is the inet_rsk(rsk)->inet6_rsk_offset dereference in inet6_rsk(). This is arguably not a critical error as the inet6_rsk_offset is only used to compute a pointer which is never really used (in the code path in question) anyway. But it might be a latent error, so let's fix it. Spotted by kmemcheck. Signed-off-by: Vegard Nossum Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit f262b59becc3f557da6460232abac13706402849 Author: Benjamin Thery Date: Fri Sep 12 16:16:37 2008 -0700 net: fix scheduling of dst_gc_task by __dst_free The dst garbage collector dst_gc_task() may not be scheduled as we expect it to be in __dst_free(). Indeed, when the dst_gc_timer was replaced by the delayed_work dst_gc_work, the mod_timer() call used to schedule the garbage collector at an earlier date was replaced by a schedule_delayed_work() (see commit 86bba269d08f0c545ae76c90b56727f65d62d57f). But, the behaviour of mod_timer() and schedule_delayed_work() is different in the way they handle the delay. mod_timer() stops the timer and re-arm it with the new given delay, whereas schedule_delayed_work() only check if the work is already queued in the workqueue (and queue it (with delay) if it is not) BUT it does NOT take into account the new delay (even if the new delay is earlier in time). schedule_delayed_work() returns 0 if it didn't queue the work, but we don't check the return code in __dst_free(). If I understand the code in __dst_free() correctly, we want dst_gc_task to be queued after DST_GC_INC jiffies if we pass the test (and not in some undetermined time in the future), so I think we should add a call to cancel_delayed_work() before schedule_delayed_work(). Patch below. Or we should at least test the return code of schedule_delayed_work(), and reset the values of dst_garbage.timer_inc and dst_garbage.timer_expires back to their former values if schedule_delayed_work() failed. Otherwise the subsequent calls to __dst_free will test the wrong values and assume wrong thing about when the garbage collector is supposed to be scheduled. dst_gc_task() also calls schedule_delayed_work() without checking its return code (or calling cancel_scheduled_work() first), but it should fine there: dst_gc_task is the routine of the delayed_work, so no dst_gc_work should be pending in the queue when it's running. Signed-off-by: Benjamin Thery Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 3c503701038ac161c269ea43cd67805a3c5669fb Author: David S. Miller Date: Fri Sep 12 15:01:31 2008 -0700 sparc: Fix user_regset 'n' field values. As noticed by Russell King, we were not setting this properly to the number of entries, but rather the total size. This results in the core dumping code allocating waayyyy too much memory. Signed-off-by: David S. Miller commit a0a29b62a9cac6b7d83b7514679f2ed8d33d4372 Author: Dmitry Adamushko Date: Thu Sep 11 23:27:52 2008 +0200 x86, microcode rework, v2 this is a rework of the microcode splitup in tip/x86/microcode (1) I think this new interface is cleaner (look at the changes in 'struct microcode_ops' in microcode.h); (2) it's -64 lines of code; Signed-off-by: Ingo Molnar commit 3ab5827eb0fefbfa7234f3f91f78b50f2dfcf8e4 Author: David S. Miller Date: Fri Sep 12 00:22:42 2008 -0700 sparc64: Fix sparse warnings in chmc.c Several constants are larger than 32-bit and need "UL" markers. Signed-off-by: David S. Miller commit af1ee569d32e4dec5d14758ce025cc374088394d Author: David S. Miller Date: Fri Sep 12 00:19:21 2008 -0700 sparc64: Kill sparse warnings in mm/init.h 1) Several exported symbols need extern decls, they are exported not for C code but for assembler routines. 2) PAGE_EXEC isn't used, delete 3) Several larger than 32-bit constants need "UL" markers Signed-off-by: David S. Miller commit b539c4676600dc25c2cd9322ff6bff2c2d455161 Author: David S. Miller Date: Fri Sep 12 00:10:32 2008 -0700 sparc64: Fix sparse warnings in fault.c 1) set_brkpt() is referenced by nothing and hasn't been used by anyone to my knowledge for many many years. So just delete it. 2) add extern decl for do_sparc64_fault() in asm/pgtable_64.h Signed-off-by: David S. Miller commit a9e7bb041084055b70971e3cde3bb21aea593a74 Author: David S. Miller Date: Fri Sep 12 00:06:58 2008 -0700 sparc64: Remove explicit initialization of mmu_gathers This was just needed to work around an ancient gcc bug that we don't care about any more. It was also causing a sparse warnings: arch/sparc64/mm/tlb.c:22:52: warning: Using plain integer as NULL pointer Signed-off-by: David S. Miller commit 7694b024f145c4a598cde5fcccfd3fe5eac4027b Author: David S. Miller Date: Fri Sep 12 00:04:33 2008 -0700 sparc64: Fix sparse warnings in vio.c Several variables should be marked static. Signed-off-by: David S. Miller commit 8d2aec512304144cbb4f7dbb484626fb598b698e Author: David S. Miller Date: Fri Sep 12 00:01:03 2008 -0700 sparc64: Fix sparse warnings in pci_sun4v.c 'err' variable shadowing in pci_sun4v_probe() Signed-off-by: David S. Miller commit 77d10d0e63dcc4f961cb416447d64281300e5a01 Author: David S. Miller Date: Thu Sep 11 23:57:40 2008 -0700 sparc64: Fix sparse warnings in pci.c 1) Declare pci_poke_* in pci_impl.h 2) of_create_pci_dev() should be static 3) ->setup_msi_irq() wants an unsigned int pointer not a plain int one 4) void value expression return in arch_teardown_msi_irq() Signed-off-by: David S. Miller commit 21cd8833933ef20a0bbb368ea00876cbfc06141b Author: David S. Miller Date: Thu Sep 11 23:53:41 2008 -0700 sparc64: Fix sparse warnings in of_device.c Passing unsigned int pointer where plain int pointer is expected. Signed-off-by: David S. Miller commit c91e2ecad0a392604ece6e53d38b484918060825 Author: David S. Miller Date: Thu Sep 11 23:52:35 2008 -0700 sparc64: Fix sparse warnings in prom.c 1) Testing null with '0' 2) returning void-valued expression Signed-off-by: David S. Miller commit 7e0b1e6186c755becf8b19c844c63db1a551898b Author: David S. Miller Date: Thu Sep 11 23:46:40 2008 -0700 sparc64: Fix sparse warnings in visemul.c 1) edge8 tables should be static 2) add vis_emul() extern decl. to asm/visasm.h Signed-off-by: David S. Miller commit d8ada0a2cd11c991d8193a3f7d37f1806c93c4a0 Author: David S. Miller Date: Thu Sep 11 23:39:11 2008 -0700 sparc64: Fix sparse warnings in kernel/time.c 1) Using "clock" as a local variable shadows a global variable of the same name declared in linux/clocksource.h 2) rtc_cmos_resource should be static Signed-off-by: David S. Miller commit b0f1e7962f93a78630161c7c9fc263de43c101ac Author: David S. Miller Date: Thu Sep 11 23:36:32 2008 -0700 sparc64: Define WANT_PAGE_VIRTUAL As sparse warns, without this struct page pointer subtraction is extremely expensive, and this is a pretty common operation in fast paths. With this define struct page becomes 64 bytes which makes for a simple subtract and shift, instead of a costly divide or reciprocol multiply. Signed-off-by: David S. Miller commit 17f04fbb0f7153d95ec33da81189b113cc778157 Author: David S. Miller Date: Thu Sep 11 23:33:53 2008 -0700 sysctl: Use header file for sysctl knob declarations on sparc. This also takes care of a sparse warning as scons_pwroff's definition point. Signed-off-by: David S. Miller commit 72c57ed50663dc04b0b329beaec39b557c8ac5a5 Author: David S. Miller Date: Thu Sep 11 23:29:54 2008 -0700 sysctl: Use CONFIG_SPARC instead of __sparc__ for ifdef tests. Signed-off-by: David S. Miller commit 8f20b20de73eeabe3d35e67e0ce993eceef07492 Author: David S. Miller Date: Thu Sep 11 23:19:22 2008 -0700 sparc64: Fix sparse warnings in global reg snapshotting. Lots of shadowed local variables and global_reg_snapshot[] needs an extern declaration in asm/ptrace_64.h. Signed-off-by: David S. Miller commit 4845afac95a653f8e64c45024cbb94264df54b8f Author: David S. Miller Date: Thu Sep 11 23:14:52 2008 -0700 sparc64: Add __arch64__ to CHECKFLAGS Otherwise sparse doesn't work. The 32 vs. 64 header ifdef used under arch/sparc/include/asm/ is: #if defined(__sparc__) && defined(__arch64__) And that doesn't work for sparse unless we give it __arch64__ Signed-off-by: David S. Miller commit 1ae4be22f64326a6784acd7083b9590c9f4215a2 Author: Alexander Duyck Date: Thu Sep 11 20:17:05 2008 -0700 vlan: vlan device not reading gso max size of parent. The vlan devices are not reading the gso max size of the parent device. As a result devices that do not support 64K max gso size are currently failing. This issue is seen on 2.6.26 kernels as well and the same patch should be able to be applied without any issues. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 1f07553a58c65741d6d125621123ecf9093fa0e3 Merge: c655705... 69da6b8... Author: David S. Miller Date: Thu Sep 11 16:08:24 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/ath9k/beacon.c drivers/net/wireless/ath9k/core.h commit c65570503716015110350ba1c52a04156df3a455 Merge: 638266f... 0112c9e... Author: David S. Miller Date: Thu Sep 11 15:46:02 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 638266f7e879e34de4a4635049c15f5a58505e75 Author: David S. Miller Date: Thu Sep 11 15:45:19 2008 -0700 tg3: Fix DMA mapping leak in tigon3_dma_hwbug_workaround(). Noticed by Michael Chan. Signed-off-by: David S. Miller commit 0112c9e9e8d47f1d1e6ce1323675cb43ca6aae86 Author: Anna Neal Date: Thu Sep 11 11:17:25 2008 -0700 libertas: Improvements on automatic tx power control via SIOCSIWTXPOW. iwconfig txpower can now be used to set tx power to fixed or auto. If set to auto the default firmware settings are used. The command CMD_802_11_PA_CFG is only sent to older firmware, as Dan Williams noted the command was no longer supported in firmware V9+. Signed-off-by: Anna Neal Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit aee14ceb5230afb5c17a4e28222ab9734ffd5002 Author: Jouni Malinen Date: Tue Sep 9 16:33:15 2008 +0200 mac80211: Reorder debugfs calls during netdev deinit ieee80211_free_keys() must be called before ieee80211_debugfs_remove_netdev() in order to make sure that the possible default_key symlink is removed before attempting to remove the netdev debugfs directory. Signed-off-by: Jouni Malinen Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e50db65c0dad109aae77c353305853b31555b228 Author: Johannes Berg Date: Tue Sep 9 15:07:09 2008 +0200 mac80211: move frame TX function The ieee80211_sta_tx function isn't MLME code any more, it's getting used by a lot of code. Move it to utils and rename it to ieee80211_tx_skb. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 759ef3eb1eeba8ff7411771e7b9cf6bfd6bb9cfe Author: Johannes Berg Date: Tue Sep 9 14:55:09 2008 +0200 mac80211: make ieee80211_rx_h_mgmt more readable That function isn't exactly easy to read especially since it does something in an if branch that continues after the if because the else returns. Express it in a more readable way. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 39192c0bcf556c8521dcf0203714e9d48ac0b9f6 Author: Johannes Berg Date: Tue Sep 9 14:49:03 2008 +0200 mac80211: move spectrum management code out Like the HT code, this doesn't depend on the STA-mode implementation and can be handled entirely independently. There's only stub code for now, but when it gets filled having it in its own file will be beneficial. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit de1ede7ac3bd300f9aa565d0f93f6cf9ba74bb1a Author: Johannes Berg Date: Tue Sep 9 14:42:50 2008 +0200 mac80211: make BA session handling independent of STA mode The aggregation handling isn't dependent on anything related to our STA-mode implementation, and doesn't need to depend on it for frame processing. This patch moves the relevant code to ht.c and adds a hook in rx.c. For now, the relevant action frames are only processed in STA/IBSS modes, but that's now something we can easily change. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5825fe100d654fff89aa67a1e202af1f8a7f0ad0 Author: Johannes Berg Date: Tue Sep 9 12:56:01 2008 +0200 mac80211: initialise queue QoS parameters at hw start When hardware is started it might be in a confused state with respect to queue QoS parameters. This patch changes mac80211 to set sane defaults right after the hardware is brought up. Signed-off-by: Johannes Berg Cc: Michael Buesch Signed-off-by: John W. Linville commit 3110bef78cb4282c58245bc8fd6d95d9ccb19749 Author: Guy Cohen Date: Tue Sep 9 10:54:54 2008 +0800 iwlwifi: Added support for 3 antennas Added support for 3 antennas for Legacy, SISO and MIMO2. MIMO3 is still not supported yet. Signed-off-by: Guy Cohen Signed-off-by: Emmanuel Grumbach Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 90d7795e152f9b7095adef77b71a4448f092e3b6 Author: Guy Cohen Date: Tue Sep 9 10:54:53 2008 +0800 iwlwifi: fix searching for best rate in new search column This patch fixes a bug in Rate Scaling. When moving from SISO to MIMO we need to choose the lowest higher rate, instead of choosing the highest in MIMO. No doing this can lead to a high packet loss in the highest rate in MIMO, leading not to move MIMO although lower in MIMO could give a better TPT. Signed-off-by: Guy Cohen Signed-off-by: Emmanuel Grumbach Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 12e5e22d38577a5a16dd47e7144722817a55e52e Author: Abhijeet Kolekar Date: Tue Sep 9 10:54:52 2008 +0800 iwl3945 : Code cleanup Simplify pass_packet_to_mac80211 code block. Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 71b35f3abeb8f7f7e0afd7573424540cc5aae2d5 Author: Dan Williams Date: Mon Sep 8 16:34:40 2008 -0400 libertas: clear current command on card removal If certain commands were in-flight when the card was pulled or the driver rmmod-ed, cleanup would block on the work queue stopping, but the work queue was in turn blocked on the current command being canceled, which didn't happen. Fix that. Signed-off-by: Dan Williams Cc: stable Signed-off-by: John W. Linville commit 771fd565195727d12f0b75d918b9fcb9f33a5476 Author: Ivo van Doorn Date: Mon Sep 8 19:07:15 2008 +0200 rt2x00: Make rt2x00 LEDS invisible config option There isn't really a good reason to have the LED configuration options selectable per driver, lets make it default 'y' and make it depend on the NEW_LEDS and LEDS_CLASS interface. Signed-off-by: Ivo van Doorn commit 58169529986e81e0d477ce11eb8b91f025f649c1 Author: Ivo van Doorn Date: Mon Sep 8 18:46:29 2008 +0200 rt2x00: Make RFKILL enabled by default RFKILL should be enabled for _all_ hardware whether or not they feature a rfkill button or not. Remove driver specific RFKILL configuration options and make the rt2x00lib version depend on CONFIG_RFKILL and defaulting to 'y' to make sure it will always be enabled when RFKILL was enabled. This also fixes some bugs where RFKILL wasn't initialized and didn't respond to RFKILL key presses. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3d35f7c6874d83063d19de0cdb4e503ff4471098 Author: Johannes Berg Date: Tue Sep 9 12:54:11 2008 +0200 mac80211: split ieee80211_sta_def_wmm_params Cleans up the code a bit and prepares for the next patch that will use the function elsewhere. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ef422bc0ae934e6a46dfa63f0e27cad83b94234f Author: Johannes Berg Date: Tue Sep 9 10:58:25 2008 +0200 mac80211: consolidate deauth/disassoc deauth and disassoc frames are completely identical so there's little point in having two functions to send them rather than one that gets a parameter. This same a bit of code size. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9ac19a9084001695479a6d6dd67443cc5fb1df2f Author: Johannes Berg Date: Tue Sep 9 10:57:09 2008 +0200 mac80211: reorder frame code in mlme This reorders all frame sending functions to be at the top of the file. When reading the file, I tend to be looking at either the frame code or the state machine, and having them mixed in the file is confusing. When all frame sending is at the top the remainder of the file is more readable, in my opinion. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b079ada7dd11cf82c3157a51c205c3d88321c704 Author: Johannes Berg Date: Tue Sep 9 09:32:59 2008 +0200 mac80211: remove useless 'ibss' parameter Ever since we refactored beaconing to not be controlled by a fake queue this parameter to ieee80211_sta_def_wmm_params has been unused. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a0fe8b3349bdee27065b57cdceb2ca53c1487866 Author: Johannes Berg Date: Mon Sep 8 17:58:23 2008 +0200 mac80211: simplify scan start ieee80211_sta_start_scan() can very well take a non-NULL ssid pointer with a zero ssid_len. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9116dd01120e249dc2e84e6edecd7ad7f828680f Author: Johannes Berg Date: Mon Sep 8 17:47:23 2008 +0200 mac80211: clarify scan request When a scan is requested for non-STA interfaces, we simply fire off a scan, but for STA interfaces we shouldn't because they could be in the middle of an association. This clarifies the corresponding code. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit bacac545f10f2bf6e5ceff0d8e2b82dfc493602a Author: Johannes Berg Date: Mon Sep 8 17:44:29 2008 +0200 mac80211: move some HT code out of main.c Now that I've created ht.c, I can move the aggregation code from main.c into it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 44d414dbff9d5bf46fc09f2e68567b5848cbbfd3 Author: Johannes Berg Date: Mon Sep 8 17:44:28 2008 +0200 mac80211: move some HT code out of mlme.c Some of the HT code in mlme.c is misplaced: * constants/definitions belong to the ieee80211.h header * code being used in other modes as well shouldn't be there Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5484e23749e78d5a4f56928efaf3c4b0d862b7a6 Author: Johannes Berg Date: Mon Sep 8 17:44:27 2008 +0200 mac80211: move BSS handling to scan code This moves all the BSS list handling out of mlme.c to scan.c, no further changes except fixing kzalloc/atomic_inc/atomic_inc to kzalloc/atomic_set(2). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 98c8fccfaea838e62ffde2f2e44568844e0e5472 Author: Johannes Berg Date: Mon Sep 8 17:44:26 2008 +0200 mac80211: refactor and move scan RX code This patch refactors some code and moves the scan RX function to scan.c. More importantly, however, it changes it so that the MLME's beacon/probe_resp functions aren't invoked when scanning so that we can remove a "if (scanning)" conditions from two places. There's a very slight behavioural change in this patch: now, when scanning, IBSS and mesh aren't updated even on the same channel. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0a51b27e956bd9580296c48191b78175ed8b5971 Author: Johannes Berg Date: Mon Sep 8 17:44:25 2008 +0200 mac80211: start moving scan code from mlme Here's a first patch to move some code from mlme.c to a new file called scan.c. The end result will hopefully be a more manageable mlme.c. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ee96d6ef82cc29421569b7cb7f7c7ee90168ec50 Author: Johannes Berg Date: Mon Sep 8 17:44:24 2008 +0200 mac80211: remove useless non-NULL tests from scan results code I'm surprised nobody complained about these before. What a waste. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 491775a50787b9fbb09b5735be3d111c65935f5c Author: Johannes Berg Date: Mon Sep 8 17:44:23 2008 +0200 mac80211: use sdata pointer for scan interface Since we now use sdata pointers most of the time, using a netdev pointer here is somewhat artificial, use an sdata pointer instead. Replace a netdev-prefix in a few messages by a wiphy-prefix. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 60f8b39c9406752ea5e0d3bbf5df6f903d61cacf Author: Johannes Berg Date: Mon Sep 8 17:44:22 2008 +0200 mac80211: reorder mlme code This reorders the mlme code a bit so we don't need all the forward function declarations. It also removes the ERP_INFO_USE_PROTECTION define that is unused, but otherwise contains no real changes. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 24e64622c3f3143c801850897ab0cea8f3c69445 Author: Tomas Winkler Date: Mon Sep 8 17:33:40 2008 +0200 mac80211: stop queues before carrier off During testing of the disassociation fixes, Tomas noticed that it was possible to run into a situation where you'd suddenly get a few "wlan0: dropped frame to (unauthorized port)" messages and I found this to be due to the AP's sta_info having been removed but netif_carrier_off not having removed/stopped traffic yet. To avoid that, stop the queue for the interface (and avoid bringing them up when another vif scans when they weren't up.) Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f5e5bf258b399f74b606e532ae0a2599522fd7bf Author: Tomas Winkler Date: Mon Sep 8 17:33:39 2008 +0200 mac80211: remove disassociation code from ieee80211_set_associated This patch moves disassociation code from ieee80211_set_associated to ieee80211_set_disassoc. To reduce code duplication, it introduces the ieee80211_sta_send_apinfo function. Additionally, it fixes a lapse where BSS_CHANGED_HT wasn't set when notifying the driver of changes due to disassociation. Signed-off-by: Tomas Winkler Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3b7ee69d0caefbdb85a606a98bff841b8c63b97e Author: Tomas Winkler Date: Mon Sep 8 17:33:38 2008 +0200 mac80211: disassociate when moving to new BSS This patch makes the MLME cleanly disassociate from the current BSS when leaving it for a new one. This is not just nicer to the old AP (we're leaving it, might as well tell it!) but also required for some drivers that keep track of the station we're associated with, they'd get confused because they'd think we are associated with two APs. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit aa458d1737c3cc9a7c90ea9c5ef1ee6d663fba71 Author: Tomas Winkler Date: Tue Sep 9 00:32:12 2008 +0300 mac80211: restructure disassoc/deauth flows This patch restructure the flow of disassociation and deauthentication flows to be consistent under all circumstances. It ensures that BA session is treated down before deauthentication or disassociation, adds the removal of the obsolete sta form station table and fixes a related bug (sta_info_destroy without sta_info_unlink) in ieee80211_associated() and reduce some code duplication Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 79636a5fbbdfb303dbf2bfe7a7fa396f40bfac31 Author: Ivo van Doorn Date: Mon Sep 8 17:31:49 2008 +0200 rt2x00: Revert "rt2x00: Fix the beacon length bug" This reverts: b93ce437eba7e0232683326f30d9d1167a872fad rt2x00: Fix the beacon length bug The workaround is no longer required since it has been correctly fixed in rt2x00usb now. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 37ffc8da803a1151e887f2a80f08f0c49d1dc1d5 Author: Johannes Berg Date: Mon Sep 8 16:40:36 2008 +0200 mac80211: move IE parsing to util file Since IE parsing is required for the mlme and mesh code, it's not a static function anyway, and it's much better to have it in util rather than the overly large mlme.c Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5fd12d4da198647e834f93f163e20bfcdd33bad8 Author: Johannes Berg Date: Mon Sep 8 16:31:48 2008 +0200 mac80211: fix typo in action frame handling This says chan_switch.action_code but really means measurement.action_code, of course the actual offset in the frame is the same, it's just harder to understand this way. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9c80d3dc272ec5ce44a7564e5392f950ad38357a Author: Johannes Berg Date: Mon Sep 8 15:41:59 2008 +0200 mac80211: fix action frame length checks The action frame length checks are one too small, there's not just an action code as the comment makes you believe, there's a category code too, and the category code is required in each action frame (hence part of IEEE80211_MIN_ACTION_SIZE). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5bda617576e58c7213aef5ab90383f303727b5b1 Author: Johannes Berg Date: Mon Sep 8 11:05:10 2008 +0200 mac80211: BSS info: check channel first When we receive information about a BSS we check at some point whether or not we think we're allowed to use the channel it is on, but we do that fairly late. I don't think we should do it that late, so do it earlier to avoid doing IBSS/mesh stuff on that channel and then getting confused because it's disabled. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit fe3fa827314b877486c515a001c3e6f604f6f16f Author: Johannes Berg Date: Mon Sep 8 11:05:09 2008 +0200 mac80211: make conf_tx non-atomic The conf_tx callback currently needs to be atomic, this requirement is just because it can be called from scanning. This rearranges it slightly to only update while not scanning (which is fine, we'll be getting beacons when associated) and thus removes the atomic requirement. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 69e6c010fd5f5015d3cc64718fbe266face93770 Author: Johannes Berg Date: Mon Sep 8 11:05:08 2008 +0200 mac80211: move some RCU locking into an if branch The if itself doesn't need to be protected, so move in the RCU locking to avoid doing anything at all when the condition isn't true. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 940b7a3a6c257391bda0950448591dd79efebf59 Author: Ehud Gavron Date: Sat Sep 6 21:30:00 2008 -0700 b43legacy: Fix to enhance TX speed Recent changes in the specifications have improved the performance of the BCM4306/2 devices that use b43legacy as the driver. These "errors" in the specs have been present from the very first implementation of bcm43xx. Signed-off-by: Ehud Gavron Tested-by: Larry Finger Signed-off-by: John W. Linville commit c6a2afdacccd56cc0be8e9a7977f0ed1509069f6 Author: Larry Finger Date: Sat Sep 6 16:51:22 2008 -0500 b43legacy: Fix failure in rate-adjustment mechanism A coding error present since b43legacy was incorporated into the kernel has prevented the driver from using the rate-setting mechanism of mac80211. The driver has been forced to remain at a 1 Mb/s rate. Signed-off-by: Larry Finger Cc: Stable [2.6.26], [2.6.25] Signed-off-by: John W. Linville commit 5a5f3b406a167cb5befa2110c6d9943898070aaf Author: Michael Buesch Date: Sat Sep 6 20:07:31 2008 +0200 b43: Remove QoS update workqueue We don't need the workqueue anymore, as we can now sleep in the callback. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit b338994dc2d0f8f1316ca12455fec3e5b0d44d3e Author: Michael Buesch Date: Sat Sep 6 19:28:55 2008 +0200 b43 G-PHY: Remove mmiowb() It causes compile errors on m68k and it is not needed. Remove it. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit c40c1129106ab20c90b0f1516e79d7b5e7e29904 Author: Michael Buesch Date: Sat Sep 6 16:21:47 2008 +0200 b43: Fix QoS defaults This fixes the initialization of the default QoS parameters. This got broken by "wireless: fix warnings from QoS patch". Reported-by: Lorenzo Nava Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 1b9975347e852c22a7c4c67b68814403ef16d2bd Author: Christian Lamparter Date: Sat Sep 6 14:25:58 2008 +0200 p54: 802.11a 5GHz phy support This patch brings the 5GHz Phy in any prism54 devices (of course, only those who have one) to life. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 09adf284039f896401df8ea219ee1d13e80333a8 Author: Christian Lamparter Date: Sat Sep 6 14:25:53 2008 +0200 p54: control output power levels I hope this patch is enough to cover at least the basic requirements of IEEE 802.11h's TPC. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit cc6de669f648bc8820f1cf93ee311eb4eaab9fc5 Author: Christian Lamparter Date: Sat Sep 6 02:56:23 2008 +0200 p54: add lots of useful rx/tx statistics The firmware can provide lots of useful statistics about noise floor, mac time and lots of numbers about successful transfers and dropped frames. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 78d57eb2b666617dd75aac0f1a420238004a98b3 Author: Christian Lamparter Date: Sat Sep 6 02:56:12 2008 +0200 p54: add more rx filters This patch adds new filters settings to make the card more useful in monitor mode. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit a0db663ff192e21ebb703f962308675f22fb38a8 Author: Christian Lamparter Date: Sat Sep 6 02:56:04 2008 +0200 p54: 32-bit tsf timestamps tcpdump: 02:15:42.874518 61112184us tsft 48.0 Mb/s 2437 MHz (0x0480) antenna 1 [0x0000000e] CF +QoS Data IV 02:15:42.874557 >>>4356079526us<<< tsft 24.0 Mb/s 2437 MHz (0x0480) antenna 1 [0x0000000e] Acknowledgment 02:15:42.976844 61214513us tsft 1.0 Mb/s 2437 MHz (0x0480) antenna 0 [0x0000000e] Beacon as one can see on the huge jump, it's very plausible that firmware does not report the full 64-bit mac time, just the lower 32bit and some kinds of flags... Therefore if we want a useful timestamp we have to emulate the high bits. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 3c9355222cc521ca2e8c355a9b05e773900c5dc0 Author: Zhu Yi Date: Wed Sep 3 11:26:57 2008 +0800 iwlwifi: fix compile warning The patch fixes compile warning for ‘iwl4965_hw_channel_switch’ defined but not used. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit a33c2f47bd4618b0483d5ec4c5bc793e6d02c1f7 Author: Emmanuel Grumbach Date: Wed Sep 3 11:26:56 2008 +0800 iwlwifi: remove uneeded declarations This patch cleans up iwlwifi by removing uneeded declarations and removing uneeded symbol export reducing the namespace pollution. It also fixes some typos in comments. Signed-off-by: Emmanuel Grumbach Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 04816448d8b77551834c9ea01e407ef5f0042f0f Author: Grumbach, Emmanuel Date: Wed Sep 3 11:26:53 2008 +0800 iwlwifi: use the results from disconnected antenna algorithm This patch makes usage of the results from disconnected antenna alg to know how many antennas are connected. It also synchronizes between the chain noise alg and the W/A that disables power management during association. All the antennas must be enables during the chain noise algorithm. Hence, power management is restored only after the completion of the algorithm. In the future, we will need to update the AP that we don't support MIMO if there is only one antenna connected. We also need to update the rate scaling algorithm. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 12837be1c127e6fba2e3f916a18fc202a9889af2 Author: Ron Rindjunsky Date: Wed Sep 3 11:26:47 2008 +0800 iwlwifi: rename ps_mode to sm_ps This patch renames iwl_priv.ps_mode for clearer iwl_priv.current_ht_config.sm_ps (spatial multiplexing power save). Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 00c5ae2fa0f8191a1b204e71f0ee11359e3b2c06 Author: Tomas Winkler Date: Wed Sep 3 11:26:42 2008 +0800 mac80211: change MIMO_PS to SM_PS This patch follows 11n spec naming more rigorously replacing MIMO_PS with SM_PS (Spatial Multiplexing Power Save). (Originally submitted as 4 patches, "mac80211: change MIMO_PS to SM_PS", "iwlwifi: change MIMO_PS to SM_PS", "ath9k: change MIMO_PS to SM_PS", and "iwlwifi: remove double definition of SM PS". -- JWL) Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit f058925b201357fba48d56cc9c1719ae274b2022 Author: Stephen Smalley Date: Thu Sep 11 09:20:26 2008 -0400 Update selinux info in MAINTAINERS and Kconfig help text Update the SELinux entry in MAINTAINERS and drop the obsolete information from the selinux Kconfig help text. Signed-off-by: Stephen Smalley Signed-off-by: James Morris commit 90079ce89aa65e17f36ac2b09110720c51d874f4 Author: David S. Miller Date: Thu Sep 11 04:52:51 2008 -0700 tg3: Use SKB DMA helper functions for TX. Signed-off-by: David S. Miller commit a40c24a13366e324bc0ff8c3bb107db89312c984 Author: David S. Miller Date: Thu Sep 11 04:51:14 2008 -0700 net: Add SKB DMA mapping helper functions. Signed-off-by: David S. Miller commit 271bff7afbb2cbaa81e744006ad2fff1f3e10b1b Author: David S. Miller Date: Thu Sep 11 04:48:58 2008 -0700 net: Add DMA mapping tokens to skb_shared_info. Signed-off-by: David S. Miller commit 09b22a2f678ae733801b888c44756d0abd686b8a Merge: 3ba3557... adee14b... Author: Ingo Molnar Date: Thu Sep 11 13:37:28 2008 +0200 Merge commit 'v2.6.27-rc6' into sched/devel commit 3fbe36d8da0081dbee23c5d477d8142fab98c42e Author: David S. Miller Date: Wed Sep 10 23:40:32 2008 -0700 sparc32: Call parse_early_param() in setup_arch(). Mirror sparc64. This will allow us to use early_param() on sparc32 too. Signed-off-by: David S. Miller commit 1e493d1946a0b26b79001c18d7312d536156ff5a Author: David S. Miller Date: Wed Sep 10 17:27:15 2008 -0700 ipv6: On interface down/unregister, purge icmp routes too. Johannes Berg reported that occaisionally, bringing an interface down or unregistering it would hang for up to 30 seconds. Using debugging output he provided it became clear that ICMP6 routes were the culprit. The problem is that ICMP6 routes live in their own world totally separate from normal ipv6 routes. So there are all kinds of special cases throughout the ipv6 code to handle this. While we should really try to unify all of this stuff somehow, for the time being let's fix this by purging the ICMP6 routes that match the device in question during rt6_ifdown(). Signed-off-by: David S. Miller commit 87395fc6781ff269bad7f972b8abf2312a8ccdf6 Author: David S. Miller Date: Wed Sep 10 04:13:10 2008 -0700 sparc64: Kill hand-crafted I/O accessors in PCI controller drivers. Use existing upa_{read,write}q() interfaces instead. Signed-off-by: David S. Miller commit e6e003720fd7123482f77dcec19e930d272937fe Author: David S. Miller Date: Wed Sep 10 03:52:51 2008 -0700 sparc64: Commonize large portions of PSYCHO error handling. The IOMMU and streaming cache error interrogation is moved here as well as the PCI error interrupt handler. Signed-off-by: David S. Miller commit 1c03a55cdf309d0939e881b313abbe7e9a67d95e Author: David S. Miller Date: Wed Sep 10 03:15:56 2008 -0700 sparc64: Create and use psycho_pbm_init_common(). Signed-off-by: David S. Miller commit a21cff3e5e39c087b5a4c5efb20f1744475c556e Author: David S. Miller Date: Wed Sep 10 03:07:03 2008 -0700 sparc64: Start commonizing code common between SABRE and PSYCHO. These are very similar chips, in fact they are identical in some macro blocks. So start commonizing code which they can share. We begin with the IOMMU initialization sequence. Signed-off-by: David S. Miller commit 22fecbae4446ad470b9237ee9b79f80f343b3838 Author: David S. Miller Date: Wed Sep 10 00:19:28 2008 -0700 sparc64: Record OF device instead of device node pointer in pci_pbm_info. Signed-off-by: David S. Miller commit d3ae4b5bc7186a53731d35187ad4ba3bca147cf6 Author: David S. Miller Date: Tue Sep 9 23:54:02 2008 -0700 sparc64: Get rid of pci_controller_info. It is just used as a parent to encapsulate two PBM objects. But that layout is only really relevant and necessary for psycho PCI controllers, which unlike all the others share a single IOMMU instance between sibling PCI busses. Signed-off-by: David S. Miller commit ab138c031f72f6d030afa1a06a3a537e85ae843e Author: David S. Miller Date: Wed Sep 10 13:36:13 2008 -0700 sparc32: Need to close openned RTC device just like sparc64. Otherwise we get refcount problems. Signed-off-by: David S. Miller commit 90158d84eb20fa15e3c8010b570f3ea2c925121d Author: David S. Miller Date: Wed Sep 10 13:35:08 2008 -0700 sparc64: Fix return value in update_persistent_clock(). Noticed by Stephen Rothwell. Signed-off-by: David S. Miller commit 4d5975e5016a9025814b92981de21eaf9203caa6 Author: Eric Miao Date: Wed Sep 10 12:06:15 2008 -0400 Input: ads7846 - introduce .gpio_pendown to get pendown state The GPIO connected to ADS7846 nPENIRQ signal is usually used to get the pendown state as well. Introduce a .gpio_pendown, and use this to decide the pendown state if .get_pendown_state is NULL. Signed-off-by: Eric Miao Signed-off-by: Dmitry Torokhov commit 0d46ed1c747edfe6476961d4d9f732ceb7a29074 Author: Elvis Pranskevichus Date: Wed Sep 10 10:19:13 2008 -0400 Input: ALPS - add signature for DualPoint found in Dell Latitude E6500 Signed-off-by: Elvis Pranskevichus Signed-off-by: Dmitry Torokhov commit d19497e2922cfe04bf0aa986bda6cf46c2b4705f Author: Niels de Vos Date: Thu Sep 4 22:20:11 2008 -0400 Input: serio_raw - allow attaching to translated (SERIO_I8042XL) ports serio_raw only binds to non-translated devices. Enable serio_raw to bind to normal (translated) keyboards which can have non-standard extensions (like POS Keyboards). With this it is possible to send commands to the device over /dev/serio_raw. Signed-off-by: Niels de Vos Signed-off-by: Dmitry Torokhov commit 67d47641b5d271c58a0283d2e8ce77eb9e7c2865 Author: Stephen Rothwell Date: Fri Aug 22 16:33:18 2008 -0400 Input: cm109 - don't use obsolete logging macros err(), warn(), info() are being removed in favor of dev_* variants. Signed-off-by: Stephen Rothwell Signed-off-by: Dmitry Torokhov commit 61579ba83934d397a4fa2bb7372de9ae112587d5 Author: Matthew Garrett Date: Fri Aug 15 13:54:51 2008 -0400 Input: atkbd - expand Latitude's force release quirk to other Dells Dell laptops fail to send key up events for several of their special keys. There's an existing quirk in the kernel to handle this, but it's limited to the Latitude range. This patch extends it to cover all portable Dells. Signed-off-by: Matthew Garrett Signed-off-by: Dmitry Torokhov commit 108fcb42c7bfd9ee205d1b8247813548705073b7 Author: Michael Hennerich Date: Fri Aug 15 13:53:08 2008 -0400 Input: bf54x-keys - add power management support Fix Bug: does nor properply resume after suspend mem Fix for PM_SUSPEND_MEM: Save and restore peripheral base registers Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Signed-off-by: Dmitry Torokhov commit d8c1f317d1b3bb5c21175550968c86acfab3ff36 Author: Dan Liang Date: Thu Aug 14 22:36:41 2008 -0400 Input: atmel_tsadcc - improve accuracy Discard the last sample just before pen is up because it is quite often errorneous. Signed-off-by: Nicolas Ferre Signed-off-by: Dan Liang Signed-off-by: Dmitry Torokhov commit 160f1fef7e52e974489b3c70fbd4e094c06965c2 Author: Joe Rouvier Date: Sun Aug 10 00:29:25 2008 -0400 Input: convert drivers to use strict_strtoul() strict_strtoul() allows newline character at the end of the the input string and therefore is more user-friendly. Signed-off-by: Dmitry Torokhov commit 6a9e91846bf52cc70a0417de19fdfac224c435c4 Author: Jeremy Fitzhardinge Date: Tue Sep 9 15:43:25 2008 -0700 xen: fix pinning when not using split pte locks We only pin PTE pages when using split PTE locks, so don't do the pin/unpin when attaching/detaching pte pages to a pinned pagetable. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 3ce9bcb583536c45a46c7302747029450e22279c Merge: 26fd105... f7d0b92... Author: Ingo Molnar Date: Wed Sep 10 14:05:45 2008 +0200 Merge branch 'core/xen' into x86/xen commit f7d0b926ac8c8ec0c7a83ee69409bd2e6bb39f81 Author: Jeremy Fitzhardinge Date: Tue Sep 9 15:43:22 2008 -0700 mm: define USE_SPLIT_PTLOCKS rather than repeating expression Define USE_SPLIT_PTLOCKS as a constant expression rather than repeating "NR_CPUS >= CONFIG_SPLIT_PTLOCK_CPUS" all over the place. Signed-off-by: Jeremy Fitzhardinge Acked-by: Hugh Dickins Signed-off-by: Ingo Molnar commit e38e05a85828dac23540cd007df5f20985388afc Author: Sheng Yang Date: Wed Sep 10 18:53:34 2008 +0800 x86: extended "flags" to show virtualization HW feature in /proc/cpuinfo The hardware virtualization technology evolves very fast. But currently it's hard to tell if your CPU support a certain kind of HW technology without digging into the source code. The patch add a new catagory in "flags" under /proc/cpuinfo. Now "flags" can indicate the (important) HW virtulization features the CPU supported as well. Current implementation just cover Intel VMX side. Signed-off-by: Sheng Yang Signed-off-by: Ingo Molnar commit 315a6558f30a264c88274fa70626615d1c7851c7 Author: Sheng Yang Date: Tue Sep 9 14:54:53 2008 +0800 x86: move VMX MSRs to msr-index.h They are hardware specific MSRs, and we would use them in virtualization feature detection later. Signed-off-by: Sheng Yang Signed-off-by: Ingo Molnar commit 59c37bf8924c30fbac7ebb66a1d92dcb9f05f6b1 Merge: ec70cae... adee14b... Author: Ingo Molnar Date: Wed Sep 10 14:00:45 2008 +0200 Merge commit 'v2.6.27-rc6' into x86/unify-cpu-detect Conflicts: arch/x86/kernel/cpu/amd.c arch/x86/kernel/cpu/common.c arch/x86/kernel/cpu/common_64.c arch/x86/kernel/cpu/feature_names.c include/asm-x86/cpufeature.h Signed-off-by: Ingo Molnar commit 982162602b31041b426edec6480d327743abcbcc Author: FUJITA Tomonori Date: Wed Sep 10 00:49:48 2008 +0900 x86: convert dma_alloc_coherent to use is_device_dma_capable Signed-off-by: FUJITA Tomonori Signed-off-by: Ingo Molnar commit 8a493d37f049b631e19584d1cb84cec88cbcf8fc Author: FUJITA Tomonori Date: Wed Sep 10 00:49:47 2008 +0900 x86: remove duplicated extern force_iommu Both iommu.h and dma-mapping.h have extern force_iommu. The latter doesn't need to do. Signed-off-by: FUJITA Tomonori Signed-off-by: Ingo Molnar commit 2797982ed93c10d5585ee1842ab298cb11326ff5 Author: FUJITA Tomonori Date: Wed Sep 10 01:06:49 2008 +0900 swiotlb: convert swiotlb to use is_buffer_dma_capable helper function Signed-off-by: FUJITA Tomonori Acked-by: Joerg Roedel Signed-off-by: Ingo Molnar commit 49fbf4e9f982c704dc365698c5b5efa780aadcb5 Author: FUJITA Tomonori Date: Wed Sep 10 01:06:48 2008 +0900 x86: convert pci-nommu to use is_buffer_dma_capable helper function Signed-off-by: FUJITA Tomonori Acked-by: Joerg Roedel Signed-off-by: Ingo Molnar commit ac4ff656c07ada78316307b0c0ce8a8eb48aa6dd Author: FUJITA Tomonori Date: Wed Sep 10 01:06:47 2008 +0900 x86: convert gart to use is_buffer_dma_capable helper function Signed-off-by: FUJITA Tomonori Acked-by: Joerg Roedel Signed-off-by: Ingo Molnar commit 636dc67cbf8c481a996faf6c23f0532d0f02ebad Author: FUJITA Tomonori Date: Wed Sep 10 01:06:46 2008 +0900 add is_buffer_dma_capable helper function is_buffer_dma_capable helper function is to see if a memory region is DMA-capable or not. The arugments are the dma_mask (or coherent_dma_mask) of a device and the address and size of a memory region. Signed-off-by: FUJITA Tomonori Acked-by: Joerg Roedel Signed-off-by: Ingo Molnar commit e92b4fdacc6a7d8cc7895b81347671d5fcd6c5e1 Merge: 9fcaff0... adee14b... Author: Ingo Molnar Date: Wed Sep 10 11:32:52 2008 +0200 Merge commit 'v2.6.27-rc6' into x86/iommu commit 91030ca1e739696812242c807b112ee3981a14be Author: Hugh Dickins Date: Tue Sep 9 16:42:45 2008 +0100 x86: unsigned long pte_pfn pte_pfn() has always been of type unsigned long, even on 32-bit PAE; but in the current tip/next/mm tree it works out to be unsigned long long on 64-bit, which gives an irritating warning if you try to printk a pfn with the usual %lx. Now use the same pte_pfn() function, moved from pgtable-3level.h to pgtable.h, for all models: as suggested by Jeremy Fitzhardinge. And pte_page() can well move along with it (remaining a macro to avoid dependence on mm_types.h). Signed-off-by: Hugh Dickins Acked-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit e8aed68614c81f24d8c4cbcb4923f848ece846e1 Author: Lai Jiangshan Date: Wed Sep 10 11:01:07 2008 +0800 doc/RCU: fix pseudocode in rcuref.txt atomic_inc_not_zero(v) return 0 if *v = 0. use spin_lock instead of write_lock for update lock. Signed-off-by: Lai Jiangshan Cc: "Paul E. McKenney" Signed-off-by: Ingo Molnar commit 429b022af41108f6942d72547592b1d30e9a51f0 Merge: 0cd418d... adee14b... Author: Ingo Molnar Date: Wed Sep 10 08:35:40 2008 +0200 Merge commit 'v2.6.27-rc6' into core/rcu commit 764e8d128f9343027cf09afe8a145e8ff186e129 Author: Hiroshi Shimamoto Date: Tue Sep 9 17:22:12 2008 -0700 x86: signal_64.c: make handle_signal() similar Make handle_signal() same as 32bit. No change in functionality intended. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 0c40ed71736c20f447843b3c96b715bb9c4904d7 Author: Hiroshi Shimamoto Date: Tue Sep 9 17:21:17 2008 -0700 x86: signal_64.c: arg for restore_i387_xstate() is void __user * restore_i387_xstate() is declared as: int restore_i387_xstate(void __user *buf); so, make the variable buf void __user *. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit b2994ef0de252d41f1511e5f87704bedda12dabc Author: Hiroshi Shimamoto Date: Tue Sep 9 17:18:50 2008 -0700 x86: signal_64.c: clean up signal_fault() clean up and make signal_fault() same as 32bit. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit ec70cae8698632917f06110fdb70c6364281ecc6 Author: Yinghai Lu Date: Tue Sep 9 16:40:39 2008 -0700 x86: centaur_64.c remove duplicated setting of CONSTANT_TSC Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 4052704d92c3172ebc13cc0cc8df8ba2bd446a5c Author: Yinghai Lu Date: Tue Sep 9 16:40:38 2008 -0700 x86: intel.c put workaround for old cpus together consolidate the code some more. No change in functionality intended. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 879d792b66d633bbe466974f61d1acc9aa8c78eb Author: Yinghai Lu Date: Tue Sep 9 16:40:37 2008 -0700 x86: let intel 64-bit use intel.c now that arch/x86/kernel/cpu/intel_64.c and arch/x86/kernel/cpu/intel.c are equal, drop arch/x86/kernel/cpu/intel_64.c and fix up the glue. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 58602c1681bdfa1a0deaa5574b8a72d6e30c0e97 Author: Yinghai Lu Date: Tue Sep 9 16:40:36 2008 -0700 x86: make intel_64.c the same as intel.c No change in functionality intended - this only adds the 32-bit side. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 185f3b9da24c09c26b784591ed354fe57998a7b1 Author: Yinghai Lu Date: Tue Sep 9 16:40:35 2008 -0700 x86: make intel.c have 64-bit support code prepare for unification. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 81faaae45701484bd7368336e02f2a846153b22f Merge: f69feff... 3c93390... Author: Ingo Molnar Date: Wed Sep 10 08:20:51 2008 +0200 Merge branch 'x86/pebs' into x86/unify-cpu-detect Conflicts: arch/x86/Kconfig.cpu include/asm-x86/ds.h Signed-off-by: Ingo Molnar commit 08569908fffec3625e29eec7cf7577eaa512e719 Author: David S. Miller Date: Tue Sep 9 22:13:28 2008 -0700 ipsec: Add missing list_del() in xfrm_state_gc_task(). Otherwise entries stay on the GC todo list forever, even after we free them. Signed-off-by: David S. Miller commit abb81c4f3cb9b8d421f1e5474811ef1d461d341c Author: Herbert Xu Date: Tue Sep 9 19:58:29 2008 -0700 ipsec: Use RCU-like construct for saved state within a walk Now that we save states within a walk we need synchronisation so that the list the saved state is on doesn't disappear from under us. As it stands this is done by keeping the state on the list which is bad because it gets in the way of the management of the state life-cycle. An alternative is to make our own pseudo-RCU system where we use counters to indicate which state can't be freed immediately as it may be referenced by an ongoing walk when that resumes. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit dacc62dbf56e872ad96edde0393b9deb56d80cd5 Merge: 47abf28... c051a0a... Author: David S. Miller Date: Tue Sep 9 19:51:04 2008 -0700 Merge branch 'lvs-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/lvs-2.6 commit 503acc8a33b1f41a547517c9a592af5e5968f85c Author: David S. Miller Date: Tue Sep 9 19:50:04 2008 -0700 rtc-bq4802: Fix sparse warnings. As reported by Harvey Harrison. Signed-off-by: David S. Miller commit 4944f7e5c917949451ba7f32aab5d297d8b03c7f Author: Bjoern B. Brandenburg Date: Tue Sep 9 19:43:33 2008 -0700 sparc: remove unused includes The spinlock code does not use NR_CPUS. Compile tested using allyesconfig and allnoconfig. Signed-off-by: Bjoern B. Brandenburg Signed-off-by: David S. Miller commit 833be4e1f080050706901d8605f2e9ee863464a9 Author: Robert Reif Date: Tue Sep 9 19:38:17 2008 -0700 rtc-m48t59: Only check century bits on m48t59 chips. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit 47abf28d5b36521558a848a346064a3a3c82bd9e Merge: 28faa97... e550dfb... Author: David S. Miller Date: Tue Sep 9 19:28:03 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit 7e392f8c29ee045c6a29d50193d2fb10712eceb0 Merge: 7713fef... 93811d9... Author: Paul Mackerras Date: Wed Sep 10 11:36:13 2008 +1000 Merge branch 'linux-2.6' commit c051a0a2c9e283c1123ed3ce65e66e41d2ce5e24 Merge: e9c0ce2... 28faa97... Author: Simon Horman Date: Wed Sep 10 09:14:52 2008 +1000 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 into lvs-next-2.6 commit 28faa979746b2352cd78a376bf9f52db953bda46 Author: David S. Miller Date: Tue Sep 9 16:08:51 2008 -0700 ipsec: Make xfrm_larval_drop default to 1. The previous default behavior is definitely the least user friendly. Hanging there forever just because the keying daemon is wedged or the refreshing of the policy can't move forward is anti-social to say the least. Signed-off-by: David S. Miller commit 28f7e66fc1da53997a545684b21b91fb3ca3f321 Author: H. Peter Anvin Date: Mon Sep 8 12:01:48 2008 -0700 x86: prevent binutils from being "smart" and generating NOPLs for us binutils, contrary to documented behaviour, will generate long NOPs (a P6-or-higher instruction which is broken on at least some VIA chips, Virtual PC/Virtual Server, and some versions of Qemu) depending on the -mtune= option, which is not supposed to change architectural behaviour. Pass an explicit override to the assembler, in case ends up passing the -mtune= parameter to gas (gcc 4.3.0 does not appear to.) Signed-off-by: H. Peter Anvin commit 43789e21638626d826c0e8d62e50ceb76b9d61ed Author: H. Peter Anvin Date: Mon Sep 8 14:43:11 2008 -0700 kbuild: fix cc-option and cc-option-yn David Sanders wrote: > I'm getting this error: > as: unrecognized option `-mtune=generic32' > I have binutils 2.17. Use -c instead of -S in cc-option and cc-option-yn, so we can probe options related to the assembler. Signed-off-by: H. Peter Anvin Cc: Sam Ravnborg Cc: kbuild devel Signed-off-by: Ingo Molnar commit 8f0d8363ddf7e6d5f8bdd6265535732597f88ec9 Author: Jaroslav Kysela Date: Tue Sep 9 18:55:25 2008 +0200 ALSA: Release v1.0.18rc3 Signed-off-by: Jaroslav Kysela commit 98aa34c0501f78bf7d3de82d96d27f4a2b450477 Author: Harald Welte Date: Tue Sep 9 16:02:09 2008 +0800 ALSA: HDA patch_via.c: Second S/PDIF (HDMI) support The VT1702 and VT1708S have a second S/PDIF output which is used to connect to a HDMI transmitter. This patch adds support for it. Signed-off-by: Harald Welte Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0aa62aef611006704226095bad9cd80246ce00c9 Author: Harald Welte Date: Tue Sep 9 15:58:27 2008 +0800 ALSA: HDA patch_via.c: Independent DAC for headphone This mode allows an output stream to have two substreams, one for the speakers and one for the headphone. Each of the substreams has independent PCM data and uses a different DAC. Signed-off-by: Harald Welte Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 69e52a80916b39dcdc3667894040c187179fbf2e Author: Harald Welte Date: Tue Sep 9 15:57:32 2008 +0800 ALSA: HDA patch_via.c: Mute on headphone plug-in Signed-off-by: Harald Welte Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d949cac1ea8596f61942437ad741a3fbb412846f Author: Harald Welte Date: Tue Sep 9 15:56:01 2008 +0800 ALSA: HDA patch_via.c: Add VT1708S and VT1702 support The VT1702 and VT1708S codecs are new HDA codecs by VIA. This patch adds support for them to the patch_via.c file for HDA Signed-off-by: Harald Welte Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit fb4cb772c0b22f7bce0b151ef5712e80d434bc97 Author: Harald Welte Date: Tue Sep 9 15:53:36 2008 +0800 ALSA: HDA patch_via.c: Fix inversion of surround and side channels In the current driver, there is a consistent mistake between the SURROUND and the SIDE channels. This patch fixes it. Signed-off-by: Harald Welte Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 76d9b0dd78197c473892e44b1fbf6be4592cc440 Author: Harald Welte Date: Tue Sep 9 15:50:37 2008 +0800 ALSA: HDA patch_via.c: HP and CD pin connect config Signed-off-by: Harald Welte Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit eb14a46cf974c59aadef8c120b7dfcb27bc81f24 Author: Harald Welte Date: Tue Sep 9 15:40:38 2008 +0800 ALSA: HDA patch_via.c: cleanup * add extra parenthesis to make code more readable * use kzalloc() for alloc+zero rather than kcalloc() * ensure that AUTO_SEQ_* starts at 0 Signed-off-by: Harald Welte Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e8f18ae558b30783c2c0f6df32626fbc789ba6f6 Author: Uwe Kleine-König Date: Tue Sep 9 13:47:11 2008 +0200 ALSA: fix section for sa11xx-uda1341 platform driver Don't use __init but __devinit to define probe function. A pointer to sa11xx_uda1341_probe is passed to the core via platform_driver_register and so the function must not disappear after the module is loaded. Using __init and having HOTPLUG=y and SND_SA11XX_UDA1341=m the following probably oopses: echo -n sa11xx_uda1341.1 > /sys/bus/platform/driver/sa11xx_uda1341/unbind echo -n sa11xx_uda1341.1 > /sys/bus/platform/driver/sa11xx_uda1341/bind Signed-off-by: Uwe Kleine-König Cc: Russell King Cc: Brian Avery Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e99d32b325ac68bd2ffbbe8edc44cbaf5d91e4be Author: Matthew Ranostay Date: Tue Sep 9 10:46:38 2008 +0200 ALSA: hda - add missing slave_dig_outs for 92HD73bxx Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 19ec95df2c4ec2d28919f267c4d17178f8fe9d9c Author: Marc Zyngier Date: Tue Jul 29 11:33:15 2008 +0200 Add default configuration for Arcom/Eurotech Viper SBC Signed-off-by: Marc Zyngier commit 20f18ff32fe311f60770ac70395b01c06758923b Author: Marc Zyngier Date: Tue Aug 19 12:15:53 2008 +0200 Add support for the Arcom/Eurotech Viper SBC CompactFlash card slot The Arcom/Eurotech Viper needs some extra care to run. On this board, the PC104 connector is actually wired to the second PCMCIA slot. Therefore, this second socket needs to be enabled, despite not being managed by the PCMCIA code. I'd rather have the MECR setup in the platform support code so I could, for example, use the PC104 bus without having the PCMCIA module loaded. Signed-off-by: Marc Zyngier commit 175ff20f6a681effa82d67e3656c4cc3e7117600 Author: Marc Zyngier Date: Tue Jul 22 16:59:44 2008 +0200 Add support for the Arcom/Eurotech Viper SBC onboard ethernet. Signed-off-by: Marc Zyngier commit 352699a3d7ccb027e0139a7a67931e7907af6249 Author: Marc Zyngier Date: Thu Aug 14 17:20:31 2008 +0200 Basic support for the Arcom/Eurotech Viper SBC. Signed-off-by: Marc Zyngier commit fb683f1627745e937ef199edd3428ac4b2ef1e08 Author: Marc Zyngier Date: Fri Aug 22 16:36:28 2008 +0200 Export smc91x led definitions Now that we can configure smc91x leds from its platform data, it seems rather useful to move the led definitions to the externally visible header file. Signed-off-by: Marc Zyngier commit 2276f03b745c297733e41470dde7f32bdd4b52af Author: Robert Jarzmik Date: Sat Sep 6 23:01:32 2008 +0100 [ARM] 5244/1: Add hardware CTSRTS flow control to pxa serial driver Adds hardware CTSRTS control for pxa serial devices through termios controls. Signed-off-by: Robert Jarzmik Signed-off-by: Russell King commit 4104980a3c21801f701e53961375b3d736ee9a73 Author: Russell King Date: Wed Aug 27 12:55:04 2008 +0100 [ARM] pxa: Allow platforms to override PSPR setting Currently, we set PSPR just before entering sleep mode. However, some platforms have different requirements for setting PSPR in order to properly wake up. Set PSPR earlier in the suspend cycle so that platforms can change the setting by using a sysdev driver instead. Acked-by: Eric Miao Signed-off-by: Russell King commit 63bef5473892ae683a9e989975180a5754b0ae33 Author: Mark Brown Date: Tue Aug 26 18:40:57 2008 +0100 [ARM] 5224/2: PXA SSP: Introduce register accessors Introduce accessors for the SSP registers so that drivers don't need to open code offsets from the MMIO base. Signed-off-by: Mark Brown Acked-by: Eric Miao Signed-off-by: Russell King commit e7d48fa2b5fbc7f74bb7ef4a8d7e080b0e831ef0 Author: Russell King Date: Tue Aug 26 10:40:50 2008 +0100 [I2C] pxa: provide late suspend and early resume hooks Properly hook the I2C driver into the PM code; the previous fix for this (ece5f7b3c4fde70a1ae4add7372ebca5c90bc34d) worked around the platform where I2C is required to be available early during resume. It has been found to be sufficient to use the early resume hook for this function, so the original hack can die. Leave the hack in place for the PIO transfer handler though. Signed-off-by: Russell King commit 387fa6a5eca021ed5bef5454413b7cdfda74ba41 Author: Dmitry Baryshkov Date: Mon Aug 18 14:38:48 2008 +0100 [ARM] 5203/1: i2c-pxa: fix scheduling while atomic in i2c_pxa_abort() i2c_pxa_abort can be called from the atomic context. Change it to use mdelay and counted loop. Signed-off-by: Dmitry Baryshkov Acked-by: Eric Miao Signed-off-by: Russell King commit 9ba63c4fa10cf446eff06a3200822d22b0c31c31 Author: Mike Rapoport Date: Sun Aug 17 06:23:05 2008 +0100 [ARM] 5201/1: PXA3xx: Add support for power i2c bus Add power I2C support for PXA3xx processors Signed-off-by: Mike Rapoport Signed-off-by: Russell King commit 80cec14a83ad0ad109d822b3f3482a379bc481ba Author: Russell King Date: Tue Sep 9 13:56:45 2008 +0100 [ARM] Add -march=all to assembly file build in arch/arm/boot/compressed This allows assembly files to be crafted to cover all ARM CPU types rather than erroring out on instructions only in later CPUs. We are careful in these files to only execute CPU specific code when the CPU ID says we can. Signed-off-by: Russell King commit 423da26997497f5938c0b169f1cc9762b5f3fa9f Author: Matthias Fuchs Date: Sun Sep 7 21:57:21 2008 +0000 powerpc/44x: Add hwmon support to Sequoia device tree This patch adds support for the AD7414 temperature sensor on Sequoia PPC440EPx board. Signed-off-by: Matthias Fuchs Acked-by: Stefan Roese Signed-off-by: Josh Boyer commit ded67c0e2f0388458c36e8fd3b0c8be07c53db08 Merge: f8ef6e4... 410e27a... Author: David S. Miller Date: Tue Sep 9 05:09:24 2008 -0700 Merge branch 'master' of git://eden-feed.erg.abdn.ac.uk/net-next-2.6 commit f8ef6e44474037b1671bb913bc259e048a7d5548 Author: Yitchak Gertner Date: Tue Sep 9 05:07:25 2008 -0700 bnx2x: EEH recovery fix When EEH detects an i/o error it resets the device thus it cannot be accessed. In this case the driver needs to unload its interface only with OS, kernel and network stack but not with the device. After successful recovery, the driver can load normally. Signed-off-by: Yitchak Gertner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 410e27a49bb98bc7fa3ff5fc05cc313817b9f253 Author: Gerrit Renker Date: Tue Sep 9 13:27:22 2008 +0200 This reverts "Merge branch 'dccp' of git://eden-feed.erg.abdn.ac.uk/dccp_exp" as it accentally contained the wrong set of patches. These will be submitted separately. Signed-off-by: Gerrit Renker commit 58a85f465fb16a918a869eba05addb8f78d9e064 Author: Sascha Hauer Date: Tue Sep 9 10:19:44 2008 +0200 MX2: Add DMA support for mx2 and (eventually) mx1 This patch adds DMA support for Freescale i.MX27 SoCs. It is derived from the i.MX1 port and should (though currently untested) still be working for the i.MX1. Signed-off-by: Sascha Hauer commit b72f92ff551d9151c146c8d0f1c5c743611df982 Author: Paulius Zaleckas Date: Tue Sep 9 10:19:43 2008 +0200 i.MX: Add FIQ support Drivers which are going to use it will have to select it and use imx_set_irq_fiq() to set FIQ mode for this interrupt. Changes since V1: - removed '#ifdef CONFIG_FIQ' from irqs.h - renamed imx_set_irq_type() to imx_set_irq_fiq() - made irqt unsigned - fixed irq number check Signed-off-by: Paulius Zaleckas Signed-off-by: Sascha Hauer commit 8b69ac577e644e5084a9d7a93e4ccd5184c77626 Author: Darius Augulis Date: Tue Sep 9 10:19:43 2008 +0200 MXC: Remove WD IRQ priority setting Remove WD IRQ priority setting from ARCH_MXC common init code, because it's application specific. Signed-off-by: Darius Augulis Signed-off-by: Sascha Hauer commit defa8c309d280915a2e7f4451f70bcbb087088a3 Author: Luotao Fu Date: Tue Sep 9 10:19:43 2008 +0200 i.MX3: Fix compiler warnings Fix some base address declaration by adding a cast. Signed-off-by: Luotao Fu Signed-off-by: Sascha Hauer commit 8b0171fad1db5c9a5b315f4a11e65da45fbd6f21 Author: Luotao Fu Date: Tue Sep 9 10:19:43 2008 +0200 MXC: add RTCK alternate function definitions This one adds definitions to configure RTCK pad (PE16) in primary and alternate function. The RTCK Pin is used by one wire master controller and as JTAG Clock return. Signed-off-by: Luotao Fu Signed-off-by: Sascha Hauer commit 2cf842b8967b5a9989a12e6105da9a82d24e5777 Author: Luotao Fu Date: Tue Sep 9 10:19:42 2008 +0200 mxc: add cscr register defintions This adds macros to get CSCR upper, lower and additional registers. These registers are needed to configure a chip select line. The offset layouts of these Registers are identical on mx27 and mx31, hence we can use the macros in generic way Signed-off-by: Luotao Fu Signed-off-by: Sascha Hauer commit 7113cdcdc1842d797ea99af8b57606a069945f16 Author: Luotao Fu Date: Tue Sep 9 10:19:42 2008 +0200 MX31: add macros to configure spi pins this adds convenience values usable by mxc_iomux_mode() to configure Pins of the spi interfaces on mx31. Signed-off-by: Luotao Fu Signed-off-by: Sascha Hauer commit 479c901f59762732dee305166ae477171cae3617 Author: Darius Augulis Date: Tue Sep 9 11:29:41 2008 +0200 MXC: Lets handle IRQ by priority, defined with exported API function Signed-off-by: Darius Augulis Signed-off-by: Sascha Hauer commit d7568f79d5c289d0d7859680be7b5afdcea0c9b2 Author: Gilles Chanteperdrix Date: Tue Sep 9 10:19:42 2008 +0200 i.MX31ADS: Add CPLD interrupts demultiplexing (take 3). Needed for 8250 serial port and CS89x0 ethernet interface. Signed-off-by: Gilles Chanteperdrix Signed-off-by: Sascha Hauer commit 0741794c0d4192c45193d5e7f8e87a7bfb79ae0a Author: Gilles Chanteperdrix Date: Tue Sep 9 10:19:41 2008 +0200 i.MX31ADS: Enable the first IMX serial port. (take 3) Signed-off-by: Gilles Chanteperdrix Signed-off-by: Sascha Hauer commit cfc135632a17b57cc6f97a7dea474a5abcfac36a Author: Sascha Hauer Date: Tue Sep 9 10:19:41 2008 +0200 i.MX27: add definitions for USB pins Signed-off-by: Sascha Hauer commit 7e90534a8fde3a528606ada5dedfa244d8e0452d Author: Sascha Hauer Date: Tue Sep 9 10:19:41 2008 +0200 i.MX2: make SoC devices globally available Make SoC devices globally available to boards rather than using a device specific init function. Signed-off-by: Sascha Hauer commit 5cf0942123bcacf8af8922eaf3fef70bce6078e6 Author: Sascha Hauer Date: Tue Sep 9 10:19:41 2008 +0200 i.MX3: make SoC devices globally available Make SoC devices globally available to boards rather than using a device specific init function. Signed-off-by: Sascha Hauer commit 282b13d066927aeba7137ce3c03d2ee69b8d4940 Author: Sascha Hauer Date: Tue Sep 9 10:19:40 2008 +0200 MXC: add convenience function to register platform devices Signed-off-by: Sascha Hauer commit e348797018528249e525b40f0270aca42ac44a97 Author: Matthew Ranostay Date: Mon Sep 8 11:36:59 2008 -0400 ALSA: hda: SPDIF mux name change Changed the mux naming scheme from "IEC9258 Mux" to "IEC958 Playback Source" to match the coding style. Signed-by-off: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0ffa9807592171ad7421c1ffce7abde04b1622c0 Author: Matthew Ranostay Date: Mon Sep 8 11:20:05 2008 -0400 ALSA: hda: digital slave support for IDT codecs Added slave_dig_outs entries for several IDT codecs that have multiple SPDIF outs, and enabled these SPDIF outs in several pin configs. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6010b2da1f11752dd58191423fc9878b0ce420c8 Author: Mark Brown Date: Sat Sep 6 18:33:24 2008 +0100 ALSA: ASoC: Use codec digital mute when stopping playback Muting the DAC masks artefacts introduced as the digital stream shuts down, for example when the input stops being clocked. Signed-off-by: Mark Brown Signed-off-by: Jaroslav Kysela commit 3e860846d7f44993ded9b4fbf36e7b051b86df08 Author: Mark Brown Date: Sat Sep 6 18:11:51 2008 +0100 ALSA: ASoC: Sort Kconfig and Makefile entries for codecs Hopefully this will make merges a little bit easier. Signed-off-by: Mark Brown Signed-off-by: Jaroslav Kysela commit d540de4c2d53753f29a042525bc7267e2e4533b3 Author: Mark Brown Date: Fri Sep 5 22:40:49 2008 +0100 ALSA: ASoC: Fix indentation in WM9713 Signed-off-by: Mark Brown Signed-off-by: Jaroslav Kysela commit de51ca1267b523d82644b0b752899de693e7190b Author: Matthew Ranostay Date: Sun Sep 7 14:31:40 2008 -0400 ALSA: hda: slave digital out support Added support for playing a stream on multiple digital outs. This is done by defining codec->slave_dig_outs as array of hda_nid_t with a null-terminated entry to set the slave SPDIF outs, in which the slave outs have cloned settings of the master out (e.g. dig_out_nid). Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit de30d36be171c05dfd66fa49e3d785e004f5ecdf Author: Krzysztof Helt Date: Sun Sep 7 17:24:33 2008 +0200 ALSA: fix section mismatch in the sound_core The __exit cleanup_oss_soundcore() is called from the __init init_soundcore(). This causes section mismatch and breaks kernel's linking on sparc64. Remove the __exit attribute from the cleanup_oss_soundcore(). Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d8009882e9f5e1a76986c741f071edd2ad760c97 Author: Takashi Iwai Date: Sun Sep 7 12:51:13 2008 +0200 ALSA: use correct lock in snd_ctl_dev_disconnect() The lock used in snd_ctl_dev_disconnect() should be card->ctl_files_rwlock for protection of card->ctl_files entries, instead of card->controls_rwsem. Reported-by: Vegard Nossum Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3d8cb466a885cb5a0fb53ef3d39c36432d67fcbb Author: Alexander Beregalov Date: Sun Sep 7 14:17:02 2008 +0400 ALSA: ice1712.c: fix coding style before: total: 113 errors, 169 warnings, 2786 lines checked total: 26 errors, 24 warnings, 504 lines checked after: total: 14 errors, 163 warnings, 2799 lines checked total: 0 errors, 24 warnings, 504 lines checked Compile tested only. Signed-off-by: Alexander Beregalov Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1de9fdc24b01869e70ef9c576c3978506748db85 Author: Alexander Beregalov Date: Sun Sep 7 14:11:04 2008 +0400 ALSA: ice1724.c: fix coding style before: total: 96 errors, 66 warnings, 2612 lines checked after: total: 11 errors, 64 warnings, 2624 lines checked Compile tested only. Signed-off-by: Alexander Beregalov Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit cc67b7f737103a2985e65e00edfdd1a5f89c3af5 Author: Vedran Miletic Date: Sun Sep 7 12:00:02 2008 +0200 ALSA: ice1712/ice1724: Coding style fixes part 1 (more coming up) Inspired by Alexander Beregalov's patches for wtm and aureon.c, I decided to run checkpatch on some more files. After some work checkpatch.pl-0.23 --no-tree --file --strict reports 0 errors, 0 warnings, 0 checks, n lines checked for: phase.c phase.h juli.c (1 check about unused code, maybe we should comment it) juli.h (no changes necessary) In other files I have just fixed // comments and long lines along the way (but not all of them), more coming up. Signed-off-by: Vedran Miletic Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 07f455f779acfb3eba4921fd1399761559b10fa9 Author: Matthew Ranostay Date: Sun Sep 7 12:04:17 2008 +0200 ALSA: hda: removed unneeded hp_nid references Removed unneeded hp_nid references for 92hd73xx codec family. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d9737751eb7f2f3f6e973834ea9f215e855d46ea Author: Matthew Ranostay Date: Sun Sep 7 12:03:41 2008 +0200 ALSA: hda: SPDIF mux controls Dynamically create mux controls for SPDIF outs on certain IDT/Sigmatel codecs. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f14d8e975054ae186eba229485a213dfcc7a25da Author: Alexander Beregalov Date: Sun Sep 7 01:54:27 2008 +0400 ALSA: ice1712/wtm: fix coding style before: total: 2 errors, 0 warnings, 20 lines checked total: 49 errors, 2 warnings, 518 lines checked after: total: 0 errors, 0 warnings, 20 lines checked total: 0 errors, 0 warnings, 518 lines checked Compile tested, size and code are equal. Signed-off-by: Alexander Beregalov Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1ce211a9dbf2a40b16132789735a127696bb6699 Author: Alexander Beregalov Date: Sun Sep 7 01:19:00 2008 +0400 ALSA: ice1712/aureon.c: fix coding style before: total: 304 errors, 137 warnings, 2259 lines checked after: total: 0 errors, 121 warnings, 2284 lines checked Compile tested, size is different because of include was changed, but without that change md5sum is different because of cmp cx,dx/cmp dx,cx swap and __LINE__ was changed in printk function. Signed-off-by: Alexander Beregalov Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 59fcbb6312e9b710514a19398a3acdecb1086895 Author: Cliff Cai Date: Fri Sep 5 18:21:34 2008 +0800 sound: ASoC: Blackfin: Include Blackfin architecture support in build Signed-off-by: Cliff Cai Signed-off-by: Bryan Wu Signed-off-by: Mark Brown Signed-off-by: Jaroslav Kysela commit 579e8eac46d80f586cd6390013115f9a012a17db Author: Cliff Cai Date: Fri Sep 5 18:21:42 2008 +0800 sound: ASoC: Blackfin: add Blackfin arch ASoC Kconfig and Makefile Signed-off-by: Cliff Cai Signed-off-by: Bryan Wu Signed-off-by: Mark Brown Signed-off-by: Jaroslav Kysela commit a7e7f54f984a5c048c328216089e6cb8a9ca39bd Author: Cliff Cai Date: Fri Sep 5 18:21:41 2008 +0800 sound: ASoC: Blackfin: board driver for SSM2602 sound chip Signed-off-by: Cliff Cai Signed-off-by: Bryan Wu Signed-off-by: Mark Brown Signed-off-by: Jaroslav Kysela commit c4cf8c79c14b56e8025680b95ac7dc2583654212 Author: Cliff Cai Date: Fri Sep 5 18:21:40 2008 +0800 sound: ASoC: Blackfin: board driver for AD1980/1 audio codec Signed-off-by: Cliff Cai Signed-off-by: Bryan Wu Signed-off-by: Mark Brown Signed-off-by: Jaroslav Kysela commit 912c2ac94e2698b8972c741a71ff53d4ec410801 Author: Cliff Cai Date: Fri Sep 5 18:21:39 2008 +0800 sound: ASoC: Blackfin: I2S CPU DAI driver [Additional coding standards fixes by Mark Brown.] Signed-off-by: Cliff Cai Signed-off-by: Bryan Wu Signed-off-by: Mark Brown Signed-off-by: Jaroslav Kysela commit 88740da15c3ff9d22dddfb5bc4b9fb7161cf3373 Author: Cliff Cai Date: Fri Sep 5 18:21:38 2008 +0800 sound: ASoC: Blackfin: DMA Driver for I2S sound chip Signed-off-by: Cliff Cai Signed-off-by: Bryan Wu Signed-off-by: Mark Brown Signed-off-by: Jaroslav Kysela commit f2028623f2b14bdd3daeb0873a16cab0dc4050c4 Author: Cliff Cai Date: Fri Sep 5 18:21:37 2008 +0800 sound: ASoC: Blackfin: AC97 Blackfin CPU DAI driver Signed-off-by: Cliff Cai Signed-off-by: Bryan Wu Signed-off-by: Mark Brown Signed-off-by: Jaroslav Kysela commit aff0510c00523bfd9fab20923a493ce8a6f27cda Author: Cliff Cai Date: Fri Sep 5 18:21:36 2008 +0800 sound: ASoC: Blackfin: DMA Driver for AC97 sound chip [Additional coding standards fixes by Mark Brown.] Signed-off-by: Bryan Wu Signed-off-by: Cliff Cai Signed-off-by: Mark Brown Signed-off-by: Jaroslav Kysela commit 8c9c198347e39b5bcf52399989885991a5cdbaff Author: Cliff Cai Date: Fri Sep 5 18:21:35 2008 +0800 sound: ASoC: Blackfin: SPORT peripheral interface driver SPORT is a serial port which can support serveral serial communication protocols. It can be used as I2C/PCM/AC97. For further information, please look up the HRM. [Additional coding standards fixes by Mark Brown.] Signed-off-by: Cliff Cai Signed-off-by: Bryan Wu Signed-off-by: Mark Brown Signed-off-by: Jaroslav Kysela commit b7138212a8aa90115bd9197d5b6cd89a282184f9 Author: Cliff Cai Date: Fri Sep 5 18:09:57 2008 +0800 sound: ASoC codec: SSM2602 audio codec driver [Some checkpatch fixups done by Mark Brown.] Signed-off-by: Cliff Cai Signed-off-by: Bryan Wu Signed-off-by: Mark Brown Signed-off-by: Jaroslav Kysela commit 41759c2eab96ad67245acfbd24f93d126b0523a7 Author: Jean Delvare Date: Tue Sep 2 17:07:30 2008 +0200 sound: ASoC: Convert wm8510 to a new-style i2c driver Convert the wm8510 codec driver to the new (standard) device driver binding model. Signed-off-by: Jean Delvare Cc: Geoffrey Wossum Signed-off-by: Mark Brown Signed-off-by: Jaroslav Kysela commit b6471305bbda16fd0d8d96a5cfb01fa6aec87eb5 Author: Jean Delvare Date: Mon Sep 1 17:46:57 2008 +0200 sound: ASoC: Convert neo1973/lm4857 to a new-style i2c driver Convert the lm4857 driver in neo1973_wm8753 to the new (standard) i2c device driver binding model. I assumed that the LM4857 was always on the same I2C bus as the WM8753 codec. Signed-off-by: Jean Delvare Cc: Tim Niemeyer Cc: Graeme Gregory Cc: Mark Brown Signed-off-by: Mark Brown Signed-off-by: Jaroslav Kysela commit ad4503d8a0636ddae8175bd05b652264c4260e96 Author: Jean Delvare Date: Mon Sep 1 17:45:34 2008 +0200 sound: ASoC: Convert wm8753 to a new-style i2c driver Convert the wm8753 codec driver to the new (standard) i2c device driver binding model. Signed-off-by: Jean Delvare Cc: Ville Syrjala Cc: Frank Mandarino Cc: Mark Brown Signed-off-by: Mark Brown Signed-off-by: Jaroslav Kysela commit d280289e799dcdf5913e8935bffe136d7594e26d Author: Jean Delvare Date: Mon Sep 1 17:44:05 2008 +0200 sound: ASoC: Fix an error path in neo1973_wm8753 The error handling in neo1973_init is incorrect: * If platform_device_add fails, we go on with the rest of the initialization instead of bailing out. Things will break when the module is removed (platform_device_unregister called on a device that wasn't registered.) * If i2c_add_driver fails, we return an error so the module will not load, but we don't unregister neo1973_snd_device, so we are leaking resources. Add the missing error handling. Signed-off-by: Jean Delvare Cc: Tim Niemeyer Cc: Graeme Gregory Cc: Mark Brown Signed-off-by: Mark Brown Signed-off-by: Jaroslav Kysela commit dfdf34bbcbb2687d3a5fa723279124df9e309195 Author: Robert P. J. Day Date: Fri Sep 5 09:16:38 2008 +0200 sound: remove reference to dead sound OSS vars AEDSP16_MSS and SBPRO Remove the Kconfig definitions of unused variables AEDSP16_MSS and AEDSP16_SBPRO since they're: 1) unused, and 2) referenced incorrectly anyway. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit dc0abf90059292da831fb43e55b833d7c7a9e2a6 Author: Randy Dunlap Date: Thu Sep 4 20:28:13 2008 -0700 ALSA: us122l - Add missing dependency on CONFIG_SND_HWDEP CONFIG_SND_USB_US122L uses snd_hwdep_new(), so SND_HWDEP needs to be enabled (selected). ERROR: "snd_hwdep_new" [sound/usb/usx2y/snd-usb-us122l.ko] undefined! Signed-off-by: Randy Dunlap Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b1cd9b24e8b010847a081c88960f411bda736b37 Author: Cliff Cai Date: Thu Sep 4 16:25:54 2008 +0800 ALSA: ASoC codec: fix compiling error in ad1980 driver after ASoC API changed Signed-off-by: Cliff Cai Signed-off-by: Bryan Wu Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ea88663cdcf64bfc14feaf033e902ce3c432156e Author: Takashi Iwai Date: Thu Sep 4 09:20:40 2008 +0200 ALSA: remove stale files Empty files remained likely due to wrong patching. Remove them now. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 2f5983f2aaffbc92addc4ec378989a1c200cf3dd Author: Takashi Iwai Date: Wed Sep 3 16:00:44 2008 +0200 ALSA: hda - allow probing of 4 codecs Allow probing of 4 codecs on known good situations. On some known bad situations, it should be avoided. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9c0bbee8a6fc14107e9a7af6750bfe1056cbf4bc Author: Alexey Dobriyan Date: Tue Sep 9 11:01:31 2008 +0400 seccomp: drop now bogus dependency on PROC_FS seccomp is prctl(2)-driven now. Signed-off-by: Alexey Dobriyan Signed-off-by: Ingo Molnar commit 9fcaff0e660d886e9a766460adbe558dd25de31b Author: Steven Noonan Date: Mon Sep 8 16:19:11 2008 -0700 x86: unused variable in dma_alloc_coherent_gfp_flags() Fixed a warning caused by a badly placed ifdef. Signed-off-by: Steven Noonan Signed-off-by: Ingo Molnar commit 088a39623660f2875aaf15649bf663bbb5a8a219 Author: David S. Miller Date: Mon Sep 8 19:53:28 2008 -0700 sparc64: Add missing rtc_close() in update_persistent_clock() Noticed by David Brownell. Signed-off-by: David S. Miller commit 0a68a20cc3eafa73bb54097c28b921147d7d3685 Merge: 17dce5d... a3cbdde... Author: David S. Miller Date: Mon Sep 8 17:28:59 2008 -0700 Merge branch 'dccp' of git://eden-feed.erg.abdn.ac.uk/dccp_exp Conflicts: net/dccp/input.c net/dccp/options.c commit 17dce5dfe38ae2fb359b61e855f5d8a3a8b7892b Merge: 712d695... 82a28c7... Author: David S. Miller Date: Mon Sep 8 16:59:05 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: net/mac80211/mlme.c commit e9c0ce232e7a36daae1ca08282609d7f0c57c567 Author: Sven Wegener Date: Mon Sep 8 13:39:04 2008 +0200 ipvs: Embed user stats structure into kernel stats structure Instead of duplicating the fields, integrate a user stats structure into the kernel stats structure. This is more robust when the members are changed, because they are now automatically kept in sync. Signed-off-by: Sven Wegener Reviewed-by: Julius Volz Signed-off-by: Simon Horman commit 2206a3f5b75be5dadf11541961bd7c924857eb5d Author: Sven Wegener Date: Mon Sep 8 13:38:11 2008 +0200 ipvs: Restrict connection table size via Kconfig Instead of checking the value in include/net/ip_vs.h, we can just restrict the range in our Kconfig file. This will prevent values outside of the range early. Signed-off-by: Sven Wegener Reviewed-by: Julius Volz Signed-off-by: Simon Horman commit 9d7f2a2b1aa9e55537a053c68bdbd119fc479dd3 Author: Julius Volz Date: Mon Sep 8 14:55:42 2008 +0200 IPVS: Remove incorrect ip_route_me_harder(), fix IPv6 Remove an incorrect ip_route_me_harder() that was probably a result of merging my IPv6 patches with the local client patches. With this, IPv6+NAT are working again. Signed-off-by: Julius Volz Signed-off-by: Simon Horman commit 503e81f65adac596a0275ea0230f2ae1fd64c301 Author: Simon Horman Date: Mon Sep 8 12:04:21 2008 +1000 ipvs: handle PARTIAL_CHECKSUM Now that LVS can load balance locally generated traffic, packets may come from the loopback device and thus may have a partial checksum. The existing code allows for the case where there is no checksum at all for TCP, however Herbert Xu has confirmed that this is not legal. Signed-off-by: Simon Horman Acked-by: Julius Volz commit 712d6954e3998d0de2840d8130941e8042541246 Author: Alexey Dobriyan Date: Mon Sep 8 16:20:18 2008 -0700 netns bridge: cleanup bridges during netns stop Signed-off-by: Alexey Dobriyan Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit 4aa678ba44aa35759c04f300afbc97d3dab5faa2 Author: Alexey Dobriyan Date: Mon Sep 8 16:19:58 2008 -0700 netns bridge: allow bridges in netns! Bridge as netdevice doesn't cross netns boundaries. Bridge ports and bridge itself live in same netns. Notifiers are fixed. netns propagated from userspace socket for setup and teardown. Signed-off-by: Alexey Dobriyan Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit 5337407c673e2c7c66a84b9838d55a45a760ecff Author: Arjan van de Ven Date: Mon Sep 8 16:17:42 2008 -0700 warn: Turn the netdev timeout WARN_ON() into a WARN() this patch turns the netdev timeout WARN_ON_ONCE() into a WARN_ONCE(), so that the device and driver names are inside the warning message. This helps automated tools like kerneloops.org to collect the data and do statistics, as well as making it more likely that humans cut-n-paste the important message as part of a bugreport. Signed-off-by: Arjan van de Ven Signed-off-by: David S. Miller commit 9bff9dbd00e5907f5c36e72bae8aee8a46440e11 Merge: e2a6b85... d10c4ec... Author: David S. Miller Date: Mon Sep 8 16:10:53 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit e2a6b85247aacc52d6ba0d9b37a99b8d1a3e0d83 Author: Herbert Xu Date: Mon Sep 8 16:10:02 2008 -0700 net: Enable TSO if supported by at least one device As it stands users of netdev_compute_features (e.g., bridges/bonding) will only enable TSO if all consituent devices support it. This is unnecessarily pessimistic since even on devices that do not support hardware TSO and SG, emulated TSO still performs to a par with TSO off. This patch enables TSO if at least on constituent device supports it in hardware. The direct beneficiaries will be virtualisation that uses bridging since this means that TSO will always be enabled for communication from the host to the guests. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 7b1af32f52077402157f8bb8fc22d8da17606095 Author: David S. Miller Date: Tue Sep 2 01:17:41 2008 -0700 sparc32: Move sun4d show_leds() out of asm/obio.h Put it, as well as cpu_leds[] array, into sun4d_irq.c Signed-off-by: David S. Miller commit 365b50f0f09c1a24f1a60e0c027f300ed423c192 Author: David S. Miller Date: Tue Sep 2 01:13:31 2008 -0700 sparc32: Fix coding style of sparc_cpu_model setting code. Signed-off-by: David S. Miller commit 98d86c091534f35c4bab294451ae6bccab8e9075 Merge: d875a4b... 4d08461... Author: David S. Miller Date: Mon Sep 8 15:39:30 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 Conflicts: arch/sparc/kernel/of_device.c commit d10c4ec8b4bc02f3874c7ef3c3539e4e7e123969 Author: Stefanik Gábor Date: Wed Sep 3 11:26:59 2008 +0800 iwlwifi: enable packet injection for iwlagn Handle station IDs of transmitted packets when in monitor mode, and remove the various anti-injection checks from the iwl4965 driver. This makes injection work on iwl4965 and iwl5000. Tested on both cards. Note: To inject management frames with encryption, HW crypto support must be disabled using the "swcrypto=1" modparam (or "swcrypto50=1" for iwl5000). Otherwise most management frames won't be transmitted. Signed-off-by: Gábor Stefanik Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit f93405206557077d6508682b624117ec68ea48f6 Author: Abhijeet Kolekar Date: Wed Sep 3 11:26:58 2008 +0800 iwl3945: enable active scanning on active channels This patch enables active scanning on active channels. Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 05ecc2c1033677e6324965831af1ba6cefbdfa76 Author: Tomas Winkler Date: Wed Sep 3 11:26:55 2008 +0800 iwlwifi: remove bad language from the comments This patch removes bad language in the comments in iwl-agn-rs.c. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 68d12b7ca7aff20190a9751a732dfc49220ae396 Author: Emmanuel Grumbach Date: Wed Sep 3 11:26:54 2008 +0800 iwlwifi: take a fresh set of supported rates at each cycle This patch fixes regression in iwlwifi IBSS rate scaling caused by the patch named "mac80211: eliminate IBSS warning in rate_lowest_index()" by Vladimir Koutny . Signed-off-by: Emmanuel Grumbach Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 9734cb23a02f8de5fa99225ca61c7019ca9f232f Author: Tomas Winkler Date: Wed Sep 3 11:26:52 2008 +0800 iwlwifi: fix host command header according the HW spec This patch aligns definition of host command with the spec. The inaccuracies weren't critical though. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit c90a74bae10dc2a4677d1bd06b6400db229d3e1e Author: Emmanuel Grumbach Date: Wed Sep 3 11:26:50 2008 +0800 iwlwifi: allow association on radar channel in power save This patch disables power save upon association and enables it back after association. This allows to associate to AP on a radar channel if power save is enabled. Radar and passive channels are not allowed for TX (required for association) unless RX is received but PS may close the radio and no RX will be received effectively failing association. Signed-off-by: Emmanuel Grumbach Signed-off-by: Mohamed Abbas Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit e7b635814b640c6fd9dca1c254dc22fac6fb9a1a Author: Tomas Winkler Date: Wed Sep 3 11:26:49 2008 +0800 iwlwifi: cleanup PCI register handling This patch cleans up pci registers handling. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 926f0b2ef24041db876ec7213fbddd7cd4555951 Author: Emmanuel Grumbach Date: Wed Sep 3 11:26:39 2008 +0800 iwlwifi: fix strict_strtoul error checking This patch fixes handling of strcit_strtoul return value "0 == sucess". Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 6e21f2c109edd746a10e08186484bae8168cdd0c Author: Tomas Winkler Date: Wed Sep 3 11:26:37 2008 +0800 iwlwifi: generic init calibrations framework This patch allows variable number of init calibrations and allows addition new HW. This patch also fixes critical bug. Only last calibration result was applied. On reception of one calibration result all the calibration was freed. Signed-off-by: Tomas Winkler Signed-off-by: Emmanuel Grumbach Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 7c95168aba66bd11bf9efaf45e16e83ae869401d Author: Tomas Winkler Date: Wed Sep 3 11:26:35 2008 +0800 iwlwifi: remove rfkill warning from iwl-io The patch removes the warning since registers might be accessed also during rfkill. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit f5efde3b1deb301ff31d61bbe5a33f3115c39284 Author: Tomas Winkler Date: Wed Sep 3 11:26:34 2008 +0800 iwlwifi: replace readl and writel with io/read/write/32 This patch replaces readl and writel with more cross platform ioread32 and iowrite32. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 9257746f260fadf864df90bb9b439bf457e14266 Author: Tomas Winkler Date: Wed Sep 3 11:26:32 2008 +0800 iwlwifi: use strict_strtoul instead of simple_strtoul This patch makes use of strict_srtoul in sysfs code. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 8f4807a122d3ef680ae85c71f0b49ba8ec6d904a Author: Abhijeet Kolekar Date: Wed Sep 3 11:26:31 2008 +0800 iwl3945: avoid redundant iwl3945_get_active_dwell_time iwl3945_get_active_dwell_time is called twice within the same context. The patch removes one instance. Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit dc4b1e7dda331c64dacd794a9380d4cff8547cce Author: Abhijeet Kolekar Date: Wed Sep 3 11:26:30 2008 +0800 iwl3945: removed bg_post_associate work This patch removes bg_post_associate work. A direct call iwl3945_post_associate is made to avoid the waiting by userspace programs. Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 35d55b5cde00b7cae145b42ac2de741ca0a7e5a8 Author: Abhijeet Kolekar Date: Wed Sep 3 11:26:28 2008 +0800 iwl3945: replace association and beacon hooks with bss_info_changed cb Let mac80211 and bss_info_changed callback handle the association and beacon changes. Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 322a9811a3ac1db7ddd11c959e8d9e438e97e8e6 Author: Abhijeet Kolekar Date: Wed Sep 3 11:26:27 2008 +0800 iwl3945: fix unbalanced mutex The patch removes unlocking of mutex from post_associate. Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 17e72782f02fe732d687e5bc2bb0ce10424d2819 Author: Tomas Winkler Date: Wed Sep 3 11:26:26 2008 +0800 iwlwifi: align set channel with mac80211 This patch makes use of mac80211 defaults for channel and band. Older code that uses G band channel 6 was removed. This patch also changes iwl_set_rxon_channel signature. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 681c0050ea3ac2e90c83d5af397d73eed848a372 Author: Ron Rindjunsky Date: Wed Sep 3 11:26:25 2008 +0800 iwlwifi: allow consecutive scans in unassociated state This patch allows consecutive scans requests when driver is in unassociated state. Signed-off-by: Ron Rindjunsky Signed-off-by: Esti Kummer Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 7c0399d3fde0a9958fb8e9a067a463643cf235b5 Author: Ron Rindjunsky Date: Wed Sep 3 11:26:24 2008 +0800 iwlwifi: remove obsolete 4965 forward declarations This patch removes unused forward declarations functions. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit cb43dc251ab14fc047eb91944e8376d1611b95b2 Author: Tomas Winkler Date: Wed Sep 3 11:26:23 2008 +0800 iwlwifi: clean up hw scan handler This patch cleans up iwl_mac_hw_scan handler. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit cd56d3313dedaf68ec393974339edaacab74f82f Author: Abhijeet Kolekar Date: Wed Sep 3 11:26:21 2008 +0800 iwlwifi : Added bss_info_changed callback to 3945 Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 701b9cb37bae3d50dbe5f345a7cdbd2648bf7df6 Author: Randy Dunlap Date: Thu Sep 4 09:24:53 2008 -0700 mac80211: add missing kernel-doc Fix mac80211 kernel-doc missing struct field: Warning(linux-2.6.27-rc1-git2//net/mac80211/sta_info.h:329): No description found for parameter 'tid_seq[IEEE80211_QOS_CTL_TID_MASK + 1]' Signed-off-by: Randy Dunlap Signed-off-by: John W. Linville commit 8e1535d51bc93fbe9b3ded6555680044bc571d19 Author: Emmanuel Grumbach Date: Wed Sep 3 23:42:20 2008 +0300 mac80211: Fix rate scale initialization in IBSS This patch address some IBSS rate issues introduced or not covered by "mac80211: eliminate IBSS warning in rate_lowest_index()" and "cfg80211 API for channels/bitrates, mac80211 and driver conversion". This patch: 1. Moves addition of IBSS station from prepare_for_handlers to ieee80211_rx_bss_info when triggered from beacon eliminating bogus supported rates. 2. Initialize properly supported rates also in IBSS merging 3. Ensure that mandatory rates are always added into supported rates. This is needed in case when station addition is triggered from non beacon/probe packet. Some management frames need to be sent 4. Remove initialization of supported rates from self rates. This path was dead code after 6bc37c06bc4 and in general incorrect. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Cc: Vladimir Koutny Signed-off-by: John W. Linville commit 9c3254ad42e7925c3a3907a072185273705bd7b2 Author: Jeremy Fitzhardinge Date: Sun Sep 7 14:54:41 2008 -0700 x86: fix compile error with corruption checking disabled Fix compile error: arch/x86/mm/init_32.c: In function 'mem_init': arch/x86/mm/init_32.c:908: error: implicit declaration of function 'start_periodic_check_for_corruption' Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 9818babc8fd9a542978a235f1c1786f948cbac68 Author: Tomas Winkler Date: Wed Sep 3 23:42:19 2008 +0300 mac80211: Fix low bit rate in IBSS This patch fixes regression in iwlwifi IBSS rate scaling caused by patch: commit 6bc37c06bc424bcf3f944e6a79e2d5bb537e02ed Author: Vladimir Koutny Date: Fri Jun 13 16:50:44 2008 +0200 mac80211: eliminate IBSS warning in rate_lowest_index() An IBSS station is added in prepare_for_handlers where the rate scaling was initialized only with single rate matching the received packet. The correct rate scale information should be updated only in ieee80211_rx_bss_info function where beacon is parsed. Because of coding error the rate info was left untouched. If a beacon has triggered the connection the rate remined 1Mbps. This patch fixes this coding error Signed-off-by: Tomas Winkler Cc: Vladimir Koutny Signed-off-by: John W. Linville commit 19c19d54b6bfa57746f3ec805d1d7951eefa353b Author: Christian Lamparter Date: Wed Sep 3 22:25:25 2008 +0200 p54: better firmware support This patch hopefully contains all necessary changes to support firmwares for all devices up to atleast 2.13.3.0. (or: LowerMAC Protocol Rev: 5.5 ) And this is a big win, since: * newer firmwares are more stable and reliable than the old ones. * no problems anymore with packages > 1399 octets (without lowering the MTU). * monitor mode finally works on USB for more than just a few seconds. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit e0a58eacf540c65763288c81caa74013f62d7234 Author: Christian Lamparter Date: Wed Sep 3 22:25:20 2008 +0200 p54: set_filter refactoring p54_set_filter has a way too many unnecessary "magic" parameters and values. This patch axes all superfluous parameters and gives most of the magic values appropriate names. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 0b7dcd9652c8d6b2a0dd04f3a3e6ca0574560042 Author: Michael Buesch Date: Wed Sep 3 12:31:54 2008 +0200 b43: Replace hardcoded Analog switch Replace a hardcoded Analog switch (which breaks on N-PHY) by a call to the switch_analog PHY operation. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit cb24f57fe6f94a445fad8fab6ebdde7c51857895 Author: Michael Buesch Date: Wed Sep 3 12:12:20 2008 +0200 b43: Move Analog switching into phy code This moves the Analog switching code into the PHY files. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit e545a6140b698b2494daf0b32107bdcc5e901390 Author: Manfred Spraul Date: Sun Sep 7 16:57:22 2008 +0200 kernel/cpu.c: create a CPU_STARTING cpu_chain notifier Right now, there is no notifier that is called on a new cpu, before the new cpu begins processing interrupts/softirqs. Various kernel function would need that notification, e.g. kvm works around by calling smp_call_function_single(), rcu polls cpu_online_map. The patch adds a CPU_STARTING notification. It also adds a helper function that sends the message to all cpu_chain handlers. Tested on x86-64. All other archs are untested. Especially on sparc, I'm not sure if I got it right. Signed-off-by: Manfred Spraul Signed-off-by: Ingo Molnar commit 26fd10517e810dd59ea050b052de24a75ee6dc07 Author: Alex Nixon Date: Mon Sep 8 13:43:34 2008 +0100 xen: make CPU hotplug functions static There's no need for these functions to be accessed from outside of xen/smp.c Signed-off-by: Alex Nixon Acked-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 2737146b3aa2cf8b5d5ae87a18c49fe1c374528b Author: Alex Nixon Date: Mon Sep 8 13:43:33 2008 +0100 x86, xen: fix build when !CONFIG_HOTPLUG_CPU Signed-off-by: Alex Nixon Acked-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 7ee1ec4ca30c6df8e989615cdaacb75f2af4fa6b Author: Li Zefan Date: Mon Sep 8 10:47:19 2008 -0400 ext4: add missing unlock in ext4_check_descriptors() on error path If there group descriptors are corrupted we need unlock the block group lock before returning from the function; else we will oops when freeing a spinlock which is still being held. Signed-off-by: Li Zefan Signed-off-by: "Theodore Ts'o" commit 05496769e5da83ce22ed97345afd9c7b71d6bd24 Author: Theodore Ts'o Date: Tue Sep 16 14:36:17 2008 -0400 jbd2: clean up how the journal device name is printed Calculate the journal device name once and stash it away in the journal_s structure. This avoids needing to call bdevname() everywhere and reduces stack usage by not needing to allocate an on-stack buffer. In addition, we eliminate the '/' that can appear in device names (e.g. "cciss/c0d0p9" --- see kernel bugzilla #11321) that can cause problems when creating proc directory names, and include the inode number to support ocfs2 which creates multiple journals with different inode numbers. Signed-off-by: "Theodore Ts'o" commit 899fc1a4cf404747de2666534d508804597ee22f Author: Alexey Dobriyan Date: Sun Sep 14 10:21:33 2008 -0400 ext4: fix #11321: create /proc/ext4/*/stats more carefully ext4 creates per-suberblock directory in /proc/ext4/ . Name used as basis is taken from bdevname, which, surprise, can contain slash. However, proc while allowing to use proc_create("a/b", parent) form of PDE creation, assumes that parent/a was already created. bdevname in question is 'cciss/c0d0p9', directory is not created and all this stuff goes directly into /proc (which is real bug). Warning comes when _second_ partition is mounted. http://bugzilla.kernel.org/show_bug.cgi?id=11321 Signed-off-by: Alexey Dobriyan Signed-off-by: "Theodore Ts'o" commit c62a11fd9555007b1caab83b5bcbb443a43e32bb Author: Frederic Bohe Date: Mon Sep 8 10:20:24 2008 -0400 Update flex_bg free blocks and free inodes counters when resizing. This fixes a bug which prevented the newly created inodes after a resize from being used on filesystems with flex_bg. Signed-off-by: Frederic Bohe Signed-off-by: "Theodore Ts'o" commit 9d9f177572d9e4eba0f2e18523b44f90dd51fe74 Author: Eric Sandeen Date: Thu Oct 9 11:15:52 2008 -0400 ext4: Avoid printk floods in the face of directory corruption Note: some people thinks this represents a security bug, since it might make the system go away while it is printing a large number of console messages, especially if a serial console is involved. Hence, it has been assigned CVE-2008-3528, but it requires that the attacker either has physical access to your machine to insert a USB disk with a corrupted filesystem image (at which point why not just hit the power button), or is otherwise able to convince the system administrator to mount an arbitrary filesystem image (at which point why not just include a setuid shell or world-writable hard disk device file or some such). Me, I think they're just being silly. --tytso Signed-off-by: Eric Sandeen Signed-off-by: "Theodore Ts'o" Cc: linux-ext4@vger.kernel.org Cc: Eugene Teo commit cf17fea6575cb1739552e1d0cb2b446305ee3d0c Author: Aneesh Kumar K.V Date: Sat Sep 13 13:06:18 2008 -0400 ext4: Properly update i_disksize. With delayed allocation we use i_data_sem to update i_disksize. We need to update i_disksize only if the new size specified is greater than the current value and we need to make sure we don't race with other i_disksize update. With delayed allocation we will switch to the write_begin function for non-delayed allocation if we are low on free blocks. This means the write_begin function for non-delayed allocation also needs to use the same locking. We also need to check and update i_disksize even if the new size is less that inode.i_size because of delayed allocation. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit ae4d537211ff250a8c23c4f1227c4276cd2508ab Author: Aneesh Kumar K.V Date: Sat Sep 13 13:10:25 2008 -0400 ext4: truncate block allocated on a failed ext4_write_begin For blocksize < pagesize we need to remove blocks that got allocated in block_write_begin() if we fail with ENOSPC for later blocks. block_write_begin() internally does this if it allocated pages locally. This makes sure we don't have blocks outside inode.i_size during ENOSPC. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit df22291ff0fde0d350cf15dac3e5cc33ac528875 Author: Aneesh Kumar K.V Date: Mon Sep 8 23:05:34 2008 -0400 ext4: Retry block allocation if we have free blocks left When we truncate files, the meta-data blocks released are not reused untill we commit the truncate transaction. That means delayed get_block request will return ENOSPC even if we have free blocks left. Force a journal commit and retry block allocation if we get ENOSPC with free blocks left. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 166348dd37a4baacfb6fe495954b56f56b116f0c Author: Aneesh Kumar K.V Date: Mon Sep 8 23:08:40 2008 -0400 ext4: Don't add the inode to journal handle until after the block is allocated Make sure we don't add the inode to the journal handle until after the block allocation, so that a journal commit will not include the inode in case of block allocation failure. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 68629f29c6764c37ebdceec2f6bbef6637eaf420 Author: Aneesh Kumar K.V Date: Mon Sep 8 23:09:17 2008 -0400 ext4: Fix ext4 nomballoc allocator for ENOSPC We run into ENOSPC error on nonmballoc ext4, even when there is free blocks on the filesystem. The patch includes two changes: a) Set reservation to NULL if we trying to allocate near group_target_block from the goal group if the free block in the group is less than windows. This should give us a better chance to allocate near group_target_block. This also ensures that if we are not allocating near group_target_block then we don't trun off reservation. This should enable us to allocate with reservation from other groups that have large free blocks count. b) we don't need to check the window size if the block reservation is off. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 5c79161689aede2d487d707d5931a22eadf66120 Author: Aneesh Kumar K.V Date: Wed Oct 8 23:12:24 2008 -0400 ext4: Signed arithmetic fix This patch converts some usage of ext4_fsblk_t to s64. This is needed so that some of the sign conversion works as expected in if loops. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 79f0be8d2e6ebde27dfb3beff18eb689d5c4e36c Author: Aneesh Kumar K.V Date: Wed Oct 8 23:13:30 2008 -0400 ext4: Switch to non delalloc mode when we are low on free blocks count. The delayed allocation code allocates blocks during writepages(), which can not handle block allocation failures. To deal with this, we switch away from delayed allocation mode when we are running low on free blocks. This also allows us to avoid needing to reserve a large number of meta-data blocks in case all of the requested blocks are discontiguous. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 6bc6e63fcd7dac9e633ea29f1fddd9580ab28f3f Author: Aneesh Kumar K.V Date: Fri Oct 10 09:39:00 2008 -0400 ext4: Add percpu dirty block accounting. This patch adds dirty block accounting using percpu_counters. Delayed allocation block reservation is now done by updating dirty block counter. In a later patch we switch to non delalloc mode if the filesystem free blocks is greater than 150% of total filesystem dirty blocks Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 030ba6bc67b4f2bc5cd174f57785a1745c929abe Author: Aneesh Kumar K.V Date: Mon Sep 8 23:14:50 2008 -0400 ext4: Retry block reservation During block reservation if we don't have enough blocks left, retry block reservation with smaller block counts. This makes sure we try fallocate and DIO with smaller request size and don't fail early. The delayed allocation reservation cannot try with smaller block count. So retry block reservation to handle temporary disk full conditions. Also print free blocks details if we fail block allocation during writepages. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit a30d542a0035b886ffaafd0057ced0a2b28c3a4f Author: Aneesh Kumar K.V Date: Thu Oct 9 10:56:23 2008 -0400 ext4: Make sure all the block allocation paths reserve blocks With delayed allocation we need to make sure block are reserved before we attempt to allocate them. Otherwise we get block allocation failure (ENOSPC) during writepages which cannot be handled. This would mean silent data loss (We do a printk stating data will be lost). This patch updates the DIO and fallocate code path to do block reservation before block allocation. This is needed to make sure parallel DIO and fallocate request doesn't take block out of delayed reserve space. When free blocks count go below a threshold we switch to a slow patch which looks at other CPU's accumulated percpu counter values. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit 640aebfe014554ced9c38d2564e38862e488d0eb Author: FUJITA Tomonori Date: Mon Sep 8 18:53:50 2008 +0900 swiotlb: add is_swiotlb_buffer helper function This adds is_swiotlb_buffer() helper function to see whether a buffer belongs to the swiotlb buffer or not. Signed-off-by: FUJITA Tomonori Signed-off-by: Ingo Molnar commit 21f6c4de4c25c4bdd88c75bc97a78e7fbeebac4d Author: FUJITA Tomonori Date: Mon Sep 8 18:53:49 2008 +0900 swiotlb: use unmap_single instead of swiotlb_unmap_single in swiotlb_free_coherent We don't need any check in swiotlb_unmap_single here. unmap_single is appropriate. Signed-off-by: FUJITA Tomonori Signed-off-by: Ingo Molnar commit 9dfda12b8b769e224ca4efbc35ace4524b9c017b Author: FUJITA Tomonori Date: Mon Sep 8 18:53:48 2008 +0900 swiotlb: use map_single instead of swiotlb_map_single in swiotlb_alloc_coherent We always need swiotlb memory here so address_needs_mapping and swiotlb_force testings are irrelevant. map_single should be used here instead of swiotlb_map_single. Signed-off-by: FUJITA Tomonori Signed-off-by: Ingo Molnar commit 68e91d61346db4359464d06617500141cfd1442a Author: FUJITA Tomonori Date: Mon Sep 8 18:10:14 2008 +0900 swiotlb: remove GFP_DMA hack in swiotlb_alloc_coherent The callers are supposed to set up the gfp flags appropriately. Signed-off-by: FUJITA Tomonori Acked-by: Joerg Roedel Signed-off-by: Ingo Molnar commit 823e7e8c6ef12cd1943dc42fe7595ca74e8cc3d7 Author: FUJITA Tomonori Date: Mon Sep 8 18:10:13 2008 +0900 x86: dma_alloc_coherent sets gfp flags properly Non real IOMMU implemenations (which doesn't do virtual mappings, e.g. swiotlb, pci-nommu, etc) need to use proper gfp flags and dma_mask to allocate pages in their own dma_alloc_coherent() (allocated page need to be suitable for device's coherent_dma_mask). This patch makes dma_alloc_coherent do this job so that IOMMUs don't need to take care of it any more. Real IOMMU implemenataions can simply ignore the gfp flags. Signed-off-by: FUJITA Tomonori Acked-by: Joerg Roedel Signed-off-by: Ingo Molnar commit 8a53ad675f86ee003482b557da944e070d3c4859 Author: FUJITA Tomonori Date: Mon Sep 8 18:10:12 2008 +0900 x86: fix nommu_alloc_coherent allocation with NULL device argument We need to use __GFP_DMA for NULL device argument (fallback_dev) with pci-nommu. It's a hack for ISA (and some old code) so we need to use GFP_DMA. Signed-off-by: FUJITA Tomonori Acked-by: Joerg Roedel Signed-off-by: Ingo Molnar commit de9f521fb72dd091aa4989fe2e004ecf4785a850 Author: FUJITA Tomonori Date: Mon Sep 8 18:10:11 2008 +0900 x86: move pci-nommu's dma_mask check to common code The check to see if dev->dma_mask is NULL in pci-nommu is more appropriate for dma_alloc_coherent(). Signed-off-by: FUJITA Tomonori Acked-by: Joerg Roedel Signed-off-by: Ingo Molnar commit 3a80b6aa271eb08a3da1a04b5cbdcdc19d4a5ae0 Author: FUJITA Tomonori Date: Mon Sep 8 18:10:10 2008 +0900 ia64: dma_alloc_coherent always use GFP_DMA This patch makes dma_alloc_coherent use GFP_DMA at all times. This is necessary for swiotlb, which requires the callers to set up the gfp flags properly. swiotlb_alloc_coherent tries to allocate pages with the gfp flags. If the allocated memory isn't fit for dev->coherent_dma_mask, swiotlb_alloc_coherent reserves some of the swiotlb memory area, which is precious resource. So the callers need to set up the gfp flags properly. This patch means that other IA64 IOMMUs' dma_alloc_coherent also use GFP_DMA. These IOMMUs (e.g. SBA IOMMU) don't need GFP_DMA since they can map a memory to any address. But IA64's GFP_DMA is large, generally drivers allocate small memory with dma_alloc_coherent only at startup. So I chose the simplest way to set up the gfp flags for swiotlb. Signed-off-by: FUJITA Tomonori Acked-by: Joerg Roedel Signed-off-by: Ingo Molnar commit f69feff720497237ae9dd2f4604921bd3080c421 Author: Yinghai Lu Date: Sun Sep 7 17:58:58 2008 -0700 x86: little clean up of intel.c/intel_64.c Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit ff73152ced60871f7d5fb7dee52fa499902a3c6d Author: Yinghai Lu Date: Sun Sep 7 17:58:56 2008 -0700 x86: make 64 bit to use amd.c arch/x86/kernel/cpu/amd.c is now 100% identical to arch/x86/kernel/cpu/amd_64.c, so use amd.c on 64-bit too and fix up the namespace impact. Simplify the Kconfig glue as well. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 2a02505055fdd44958efd0e140dd87cb9fdecaf1 Author: Yinghai Lu Date: Sun Sep 7 17:58:55 2008 -0700 x86: make amd_64 have 32 bit code Signed-off-by: Yinghai Lu Cc: Yinghai Lu Cc: Andrew Morton Signed-off-by: Ingo Molnar commit 6c62aa4a3c12989a1f1fcbbe6f1ee5d4de4b2300 Author: Yinghai Lu Date: Sun Sep 7 17:58:54 2008 -0700 x86: make amd.c have 64bit support code Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 8d71a2ea0ad4ef9b9076ffd44726bad1f0ccf59b Author: Yinghai Lu Date: Sun Sep 7 17:58:53 2008 -0700 x86: merge header in amd_64.c Singed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 2b86473604f6e9aef0b5e89c56798a90ccddcdbe Author: Yinghai Lu Date: Sun Sep 7 17:58:52 2008 -0700 x86: add srat_detect_node for amd64 separate that from amd_detect_cmp() Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit c58606ad551e9a1c85a9bd4f1698ca41ec279b2c Author: Yinghai Lu Date: Sun Sep 7 17:58:51 2008 -0700 x86: remove duplicated force_mwait Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 11fdd252bb5b461289fc5c21dc8fc87dc66f3284 Author: Yinghai Lu Date: Sun Sep 7 17:58:50 2008 -0700 x86: cpu make amd.c more like amd_64.c v2 1. make 32bit have early_init_amd_mc and amd_detect_cmp 2. seperate init_amd_k5/k6/k7 ... v2: fix compiling for !CONFIG_SMP Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit d875a4b0ffad754e6d89fa561ea7dcdd79c9508b Author: Krzysztof Helt Date: Sun Sep 7 18:25:20 2008 -0700 rtc-m48t59: fix setting of a year on m48t08 and m48t02 rtcs Fix setting of a year in m48t08 and m48t02 clocks. They do not have century bits and setting them causes the year to overflow (bit 0x80 set). Problem found by Robert Reif on Sun Sparcstation 20. Signed-off-by: Krzysztof Helt Signed-off-by: David S. Miller commit 3baca76f5653482f4b7fe1fc400b01877f6b2d92 Author: Krzysztof Helt Date: Sun Sep 7 18:12:59 2008 -0700 sparc64: fix wrong m48t59 RTC year Correctly calculate offset to the year register for Mostek RTC. Signed-off-by: Krzysztof Helt Signed-off-by: David S. Miller commit 178f5e494e3c0252d06a9b1473016addff71e01e Author: Simon Horman Date: Mon Sep 8 09:34:46 2008 +1000 IPVS: use ipv6_addr_copy() It is standard to use ipv6_addr_copy() to fill in the in6 element of a union nf_inet_addr snet. Thanks to Julius Volz for pointing this out. Cc: Brian Haley Signed-off-by: Simon Horman Acked-by: Julius Volz commit 5af149cc34143c4e24abcc6355b29b3161eff3b8 Author: Simon Horman Date: Mon Sep 8 09:34:45 2008 +1000 IPVS: fix bogus indentation Sorry, this was my error. Thanks to Julius Volz for pointing it out. Signed-off-by: Simon Horman Acked-by: Julius Volz commit 3bfb92f4073aa829f8e67e459d54c79306ddbd73 Author: Sven Wegener Date: Fri Sep 5 16:53:49 2008 +0200 ipvs: Reject ipv6 link-local addresses for destinations We can't use non-local link-local addresses for destinations, without knowing the interface on which we can reach the address. Reject them for now. Signed-off-by: Sven Wegener Acked-by: Julius Volz Signed-off-by: Simon Horman commit 77eb851630bba8ea9962a1b2f01b23bd5d57c58e Author: Sven Wegener Date: Fri Sep 5 14:43:00 2008 +0200 ipvs: Mark tcp/udp v4 and v6 debug functions static They are only used in this file, so they should be static Signed-off-by: Sven Wegener Acked-by: Julius Volz Signed-off-by: Simon Horman commit a5ba4bf2732c85d8c95e0432966f79aa2b159478 Author: Sven Wegener Date: Fri Sep 5 13:47:37 2008 +0200 ipvs: Return negative error values from ip_vs_edit_service() Like the other code in this function does. Signed-off-by: Sven Wegener Acked-by: Julius Volz Signed-off-by: Simon Horman commit cd9fe6c4f0afe334862c871bf5d32770daa748ec Author: Sven Wegener Date: Fri Sep 5 13:46:00 2008 +0200 ipvs: Use pointer to address from sync message We want a pointer to it, not the value casted to a pointer. Signed-off-by: Sven Wegener Acked-by: Julius Volz Signed-off-by: Simon Horman commit 7a1f3701183e2efb45e480517e29f6880e105f7b Author: Hartley Sweeten Date: Fri Sep 5 17:24:40 2008 +0100 [ARM] 5243/1: ep93xx: bugfix, GPIO ports C and F are swapped In the GPIOLIB support for EP93xx ports C anf F are swapped. This patch correct it. Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit f69162ae63a5fa045aff35b535906696ba85666f Author: Hartley Sweeten Date: Fri Sep 5 17:14:35 2008 +0100 [ARM] 5242/1: ep93xx: bugfix, GPIO port F enable register offset The GPIO port F enable register offset points to the wrong register, 0x5c is the IntStsF register. The correct offset is 0x58. This patch corrects it. Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit a929752c4b0b162d5091673bddb2a734bd3df45d Merge: 57a7a62... b0dbcf5... Author: Russell King Date: Sun Sep 7 17:34:57 2008 +0100 Merge branch 'smc91x' into pxa-viper commit b0dbcf511c4bd10350902e79a1bdd4f5dcca66b6 Author: Russell King Date: Thu Sep 4 21:13:37 2008 +0100 [NET] smc91x: provide configurable leds This patch provides a mechanism for platforms to be able to supply the LED configuration via platform data, rather than having to hard code it in smc91x.h. Acked-by: Eric Miao Acked-by: Nicolas Pitre Acked-by: Jeff Garzik Signed-off-by: Russell King commit c885df50f571faf9fd9f395361cfff1b3a16e06e Author: Jeremy Fitzhardinge Date: Sun Sep 7 02:37:32 2008 -0700 x86: default corruption check to off, but put parameter default in Kconfig Default the low memory corruption check to off, but make the default setting of the memory_corruption_check kernel parameter a config parameter. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 9f077871ce7237e2387fc76542b3b4033cb05e49 Author: Jeremy Fitzhardinge Date: Sun Sep 7 01:51:34 2008 -0700 x86: clean up memory corruption check and add more kernel parameters The corruption check is enabled in Kconfig by default, but disabled at runtime. This patch adds several kernel parameters to control the corruption check's behaviour; these are documented in kernel-parameters.txt. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit bb577f980ef35e2b0d00aeed566724e5032aa5eb Author: Hugh Dickins Date: Sun Sep 7 01:51:33 2008 -0700 x86: add periodic corruption check Perodically check for corruption in low phusical memory. Don't bother checking at fault time, since it won't show anything useful. Signed-off-by: Hugh Dickins Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 5394f80f92642c61fc2a95385be85f2fdcfb5adb Author: Jeremy Fitzhardinge Date: Sun Sep 7 01:51:32 2008 -0700 x86: check for and defend against BIOS memory corruption Some BIOSes have been observed to corrupt memory in the low 64k. This change: - Reserves all memory which does not have to be in that area, to prevent it from being used as general memory by the kernel. Things like the SMP trampoline are still in the memory, however. - Clears the reserved memory so we can observe changes to it. - Adds a function check_for_bios_corruption() which checks and reports on memory becoming unexpectedly non-zero. Currently it's called in the x86 fault handler, and the powermanagement debug output. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 5df45515512436a808d3476a90e83f2efb022422 Author: Ingo Molnar Date: Sat Sep 6 23:55:40 2008 +0200 x86, tsc calibration: fix my brown paperbag day ... Signed-off-by: Ingo Molnar commit 9d5a9e74655b9d04d0ec9c8e47801163b7b74211 Author: Adrian Bunk Date: Sat Jun 28 00:12:52 2008 +0300 Remove asm/a.out.h files for all architectures without a.out support. This patch also includes the required removal of (unused) inclusion of 's in the arch/ code for these architectures. [dwmw2: updated for 2.6.27-rc] Signed-off-by: Adrian Bunk Signed-off-by: David Woodhouse commit e17c6d56160e4fb9e8c2830e30cc9741d4309989 Author: David Woodhouse Date: Tue Jun 17 12:19:34 2008 +0100 Introduce HAVE_AOUT symbol to remove hard-coded arch list for BINFMT_AOUT HAVE_AOUT doesn't quite do the same thing as the recently removed ARCH_SUPPORTS_AOUT config option. That was set even on platforms where binfmt_aout isn't supported, although it's not entirely clear why. So it's best just to introduce a new symbol, handled consistently with other similar HAVE_xxx symbols; with a simple 'select' in the arch Kconfig. Signed-off-by: David Woodhouse commit 6b213e1bc27da6f6280386b1ff0e817e602c7b7a Author: David Woodhouse Date: Mon Jun 16 12:39:13 2008 +0100 Remove redundant CONFIG_ARCH_SUPPORTS_AOUT We don't need this any more; arguably we never really did. Signed-off-by: David Woodhouse commit 5cfba5df8c76851ab311a2818a5e688f20833cac Author: David Woodhouse Date: Mon Sep 1 14:12:51 2008 +0100 S390: Update comments about why we don't use Signed-off-by: David Woodhouse commit 52d90f4dad1352a6077ad6e93650ecea9b258f56 Author: David Woodhouse Date: Mon Sep 1 14:12:19 2008 +0100 SPARC: Use Signed-off-by: David Woodhouse commit 15e2fc9bbf946f999c78fe24cb1bc03c7256acab Author: David Woodhouse Date: Mon Sep 1 14:11:47 2008 +0100 PowerPC: Use Signed-off-by: David Woodhouse commit 5c14dd061a40ff05e00a6c8dbf097b334e6bbea0 Author: David Woodhouse Date: Mon Sep 1 14:11:27 2008 +0100 PARISC: Use Signed-off-by: David Woodhouse commit 96bf7adbaed24da0293dd87466e27b4151ae9da8 Author: David Woodhouse Date: Mon Sep 1 14:10:44 2008 +0100 x86_64: Use Signed-off-by: David Woodhouse Acked-by: Ingo Molnar commit 978b0116cd225682a29e3d1d5010319bf2de32c2 Author: Alexey Dobriyan Date: Sat Sep 6 20:04:36 2008 +0200 softirq: allocate less vectors We don't need whole 32 of them, only NR_SOFTIRQS. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit afe73824f52d6767c77e9456f573a76075108279 Author: Jan Beulich Date: Fri Aug 29 13:15:28 2008 +0100 x86-64: eliminate dead code Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit 2d9cd6c27f00958a31622b8e9909d5e35f069b28 Author: Jan Beulich Date: Fri Aug 29 13:15:04 2008 +0100 x86-64: add two __cpuinit annotations Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit cc643d4687533345fd8ebcba836f9ee25df7c458 Author: Jan Beulich Date: Fri Aug 29 12:53:45 2008 +0100 x86: adjust vmalloc_sync_all() for Xen (2nd try) Since the fourth PDPT entry cannot be shared under Xen, vmalloc_sync_all() must iterate over pmd-s rather than pgd-s here. Luckily, the code isn't used for native PAE (SHARED_KERNEL_PMD is 1) and the change is benign to non-PAE. Also do a little more cleanup in that function. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar Cc: Jeremy Fitzhardinge commit 17b746278da8d6642bc487ec35efe4be2333f03f Author: Jan Beulich Date: Fri Aug 29 12:51:32 2008 +0100 x86: pgd_{c,d}tor() cleanup Giving pgd_ctor() a properly typed parameter allows eliminating a local variable. Adjust pgd_dtor() to match. Signed-off-by: Jan Beulich Acked-by: Jeremy Fitzhardinge Cc: "Jeremy Fitzhardinge" Signed-off-by: Ingo Molnar commit 30cec97967beb5aa08e893e8ff69623d5fecd9b7 Author: Jan Beulich Date: Fri Aug 29 12:49:55 2008 +0100 x86: init annotations in early_printk() setup Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit 3ba35573ad9a149a3af19625b502679283382f6b Author: Manfred Spraul Date: Sun Aug 31 19:58:49 2008 +0200 kernel/cpu.c: Move the CPU_DYING notifiers When a cpu is taken offline, the CPU_DYING notifiers are called on the dying cpu. According to , the cpu should be "not running any task, not handling interrupts, soon dead". For the current implementation, this is not true: - __cpu_disable can fail. If it fails, then the cpu will remain alive and happy. - At least on x86, __cpu_disable() briefly enables the local interrupts to handle any outstanding interrupts. What about moving CPU_DYING down a few lines, behind the __cpu_disable() line? There are only two CPU_DYING handlers in the kernel right now: one in kvm, one in the scheduler. Both should work with the patch applied [and: I'm not sure if either one handles a failing __cpu_disable()] The patch survives simple offlining a cpu. kvm untested due to lack of a test setup. Signed-off-By: Manfred Spraul Signed-off-by: Ingo Molnar commit a19aac8548d85cf15d744335b8e82201da760d80 Author: Alexey Dobriyan Date: Sat Aug 30 06:03:34 2008 +0400 x86: make setup_xstate_init() __init WARNING: vmlinux.o(.text+0x22453): Section mismatch in reference from the function setup_xstate_init() to the function .init.text:__alloc_bootmem() The function setup_xstate_init() references the function __init __alloc_bootmem(). This is often because setup_xstate_init lacks a __init annotation or the annotation of __alloc_bootmem is wrong. Signed-off-by: Alexey Dobriyan Signed-off-by: Ingo Molnar commit 0722bba8f14eb5271c8b67e97def74da50eceb15 Author: Christoph Hellwig Date: Mon Sep 1 18:14:51 2008 +0200 x86: kill sys32_pause It's an unused duplicate of the generic sys_pause. Signed-off-by: Christoph Hellwig Signed-off-by: Ingo Molnar commit 38736f475071b80b66be28af7b44c854073699cc Author: Gautham R Shenoy Date: Sat Sep 6 14:50:23 2008 +0530 sched: fix __load_balance_iterator() for cfq with only one task The __load_balance_iterator() returns a NULL when there's only one sched_entity which is a task. It is caused by the following code-path. /* Skip over entities that are not tasks */ do { se = list_entry(next, struct sched_entity, group_node); next = next->next; } while (next != &cfs_rq->tasks && !entity_is_task(se)); if (next == &cfs_rq->tasks) return NULL; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This will return NULL even when se is a task. As a side-effect, there was a regression in sched_mc behavior since 2.6.25, since iter_move_one_task() when it calls load_balance_start_fair(), would not get any tasks to move! Fix this by checking if the last entity was a task or not. Signed-off-by: Gautham R Shenoy Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 7f79d852ed30a06eebf7497afe9334a726db3d40 Merge: aef745f... 70bb089... Author: Ingo Molnar Date: Sat Sep 6 16:51:57 2008 +0200 Merge branch 'linus' into sched/devel commit 464f04c9e9b3b1c4f5ffb89c51d8ba2a2034c846 Author: Andrey Borzenkov Date: Sat Sep 6 12:40:21 2008 +0400 x86: fix ghost EDD devices in /sys again > This is regression but old enough. Apparently I had for whatever reasons > EDD turned off till recently. This is 2.6.27-rc5 just in case. > > In 2006 I fixed ghost devices due to buggy BIOS: > > http://marc.info/?l=linux-kernel&m=114087765422490&w=2 > > Later edd.S has been rewritten in C, and apparently this patch has been > lost: > > {pts/1}% ls /sys/firmware/edd > int13_dev80/ int13_dev84/ int13_dev88/ int13_dev8c/ > int13_dev81/ int13_dev85/ int13_dev89/ int13_dev8d/ > int13_dev82/ int13_dev86/ int13_dev8a/ int13_dev8e/ > int13_dev83/ int13_dev87/ int13_dev8b/ int13_dev8f/ > > But I have just a single disk. This is the same system BTW. Some BIOSes do not always set CF on error before return from int13. The patch adds additional check for status being zero (AH == 0). This was fixed for edd.S in http://marc.info/?l=linux-kernel&m=114087765422490&w=2, but lost again when edd.S was rewritten in C. Signed-off-by: Andrey Borzenkov Signed-off-by: Ingo Molnar commit c8bfff6dd4d41834f4952cbc49e28e31906a6188 Author: Krzysztof Helt Date: Fri Sep 5 23:46:19 2008 +0200 sched: compilation fix with gcc 3.4.6 I found that 2.6.27-rc5-mm1 does not compile with gcc 3.4.6. The error is: CC kernel/sched.o kernel/sched.c: In function `start_rt_bandwidth': kernel/sched.c:208: sorry, unimplemented: inlining failed in call to 'rt_bandwidth_enabled': function body not available kernel/sched.c:214: sorry, unimplemented: called from here make[1]: *** [kernel/sched.o] Error 1 make: *** [kernel] Error 2 It seems that the gcc 3.4.6 requires full inline definition before first usage. The patch below fixes the compilation problem. Signed-off-by: Krzysztof Helt (if needed> Signed-off-by: Ingo Molnar commit 13ad7725e9955ac68fff670a039da99ab33e86a0 Author: Hiroshi Shimamoto Date: Fri Sep 5 16:28:38 2008 -0700 x86_32: signal: move signal number conversion to upper layer Bring signal number conversion in __setup_frame() and __setup_rt_frame() up into the common part setup_frame(). Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 1d13024e624d0e2e47f117b383917249a41ef5ce Author: Hiroshi Shimamoto Date: Fri Sep 5 16:28:06 2008 -0700 x86: signal: split out frame setups Make setup_rt_frame() and split out frame setups from handle_signal(). This is for cosmetic unification of handle_signal(). Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 8fcd8e20f388d787f6abf701b11037b122029d5b Author: Hiroshi Shimamoto Date: Fri Sep 5 16:27:39 2008 -0700 x86: signal: make NR_restart_syscall make NR_restart_syscall macro for cosmetic unification of handle_signal(). Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 72fa50f4ef9014f4212945b766af84ea94308903 Author: Hiroshi Shimamoto Date: Fri Sep 5 16:27:11 2008 -0700 x86_32: signal: introduce signal_fault() implement signal_fault() for 32bit. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit bb57925f5057837c248b57a51181fd6b138a32f3 Author: Hiroshi Shimamoto Date: Fri Sep 5 16:26:55 2008 -0700 x86_32: signal: use syscall_get_nr and error Use asm/syscall.h interfaces that do the same things. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit f12e6a451aad671a724e61abce2b8b323f209355 Merge: 046fd53... dc44e65... Author: Ingo Molnar Date: Sat Sep 6 14:53:20 2008 +0200 Merge branch 'x86/cleanups' into x86/signal Conflicts: arch/x86/kernel/signal_64.c Signed-off-by: Ingo Molnar commit 046fd53773cd87125f799b00422e487bf1428d38 Merge: 70bb089... 4ab4ba3... fe47784... 8d7ccaa... Author: Ingo Molnar Date: Sat Sep 6 14:53:01 2008 +0200 Merge branches 'x86/tracehook', 'x86/xsave' and 'x86/prototypes' into x86/signal Conflicts: arch/x86/kernel/signal_64.c Signed-off-by: Ingo Molnar commit e3224234717b4228c235cee401af89212f17a3a4 Author: Yinghai Lu Date: Sat Sep 6 01:52:28 2008 -0700 x86, cpu init: call early_init_xxx in init_xxx so we: 1. could set some cap to ap 2. restore some cap after memset in identify_cpu for boot cpu esp for CONSTANT_TSC this matters, as: before this patch: flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow rep_good nopl pni monitor cx16 lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs after this patch: flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl pni monitor cx16 lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs so constant_tsc is back... Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 1b05d60d60e81c6594da8298107a05b506f01797 Author: Yinghai Lu Date: Sat Sep 6 01:52:27 2008 -0700 x86: remove duplicated get_model_name() calling Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit fbd3bdb213e91e9e698959caae1f3b4ead515602 Author: Russell King Date: Sat Sep 6 12:13:59 2008 +0100 [ARM] Convert asm/bitops.h to linux/bitops.h Signed-off-by: Russell King commit 8029db12ae490cb49495503adce99ce4ca3a0bdb Author: Russell King Date: Sat Sep 6 12:11:37 2008 +0100 [ARM] Convert asm/delay.h to linux/delay.h Signed-off-by: Russell King commit fced80c735941fa518ac67c0b61bbe153fb8c050 Author: Russell King Date: Sat Sep 6 12:10:45 2008 +0100 [ARM] Convert asm/io.h to linux/io.h Signed-off-by: Russell King commit 33fa9b13285e76fb95d940120964562e4c7081c2 Author: Russell King Date: Sat Sep 6 11:35:55 2008 +0100 [ARM] Convert asm/uaccess.h to linux/uaccess.h Signed-off-by: Russell King commit 5ed5fdf50cbe8195522e2176d6356b357c0c963f Author: Russell King Date: Sat Sep 6 11:23:30 2008 +0100 [ARM] clean up a load of old declarations ... some of which are now in linux/*.h headers. Signed-off-by: Russell King commit 012d1f4af1b07e5ccfcd23b7c1dcdcc30a068257 Author: Russell King Date: Sat Sep 6 10:57:03 2008 +0100 [ARM] move initrd code from kernel/setup.c to mm/init.c This quietens some sparse warnings about phys_initrd_start and phys_initrd_size. Signed-off-by: Russell King commit 446616dbb48c7dc039649f796c3fab55c44bd0bc Author: Russell King Date: Sat Sep 6 10:56:27 2008 +0100 [ARM] sparse: quieten arch/arm/kernel/irq.c Signed-off-by: Russell King commit 1de765c1e940e23d83ec57035769e8af003f8796 Author: Russell King Date: Sat Sep 6 10:14:24 2008 +0100 [ARM] remove pc_pointer() pc_pointer() was a function to mask the PC for 26-bit ARMs, which we no longer support. Remove it. Signed-off-by: Russell King commit d2f37384fc9957ad0162d5285a5660f0a86ef243 Author: H. Peter Anvin Date: Fri Sep 5 21:28:27 2008 -0700 x86: when building image.iso, use isohybrid if it exists When building image.iso (make isoimage), use the isohybrid tool if it exists. isohybrid is a script included with Syslinux 3.72 and higher, which creates an image that can be booted either as a hard disk (including removable, e.g. USB disk) or as a CD-ROM. If isohybrid doesn't exist, then this has no effect. Signed-off-by: H. Peter Anvin commit 2b80848e3818fb1c8ccddc105b065a86c68afa9d Author: Christian Lamparter Date: Thu Sep 4 12:29:38 2008 +0200 p54usb: support LM87 firmwares This patch adds the necessary changes to support LM87 firmwares. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit d203b8ef8e5acf9dad5a53d7067ef146e6b2e837 Author: Randy Dunlap Date: Tue Sep 2 12:07:56 2008 -0700 ath9k: uses/needs led_classdev_[un]register ath9k uses LED classdev functions, so it needs to either select or depend on them. This patch uses the same selects that ath5k uses... drivers/built-in.o: In function `ath_unregister_led': main.c:(.text+0x138c1d): undefined reference to `led_classdev_unregister' drivers/built-in.o: In function `ath_register_led': main.c:(.text+0x139c16): undefined reference to `led_classdev_register' make[1]: *** [.tmp_vmlinux1] Error 1 Signed-off-by: Randy Dunlap cc: Jouni Malinen Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit fb11137af83b7b66c7aab8dbc5f09d2c95684fed Author: Michael Buesch Date: Tue Sep 2 13:00:34 2008 +0200 b43: Split PHY alloc and init This splits the PHY allocation from the PHY init. This is needed in order to properly support Analog handling. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 7cb770729ba895f73253dfcd46c3fcba45d896f9 Author: Christian Lamparter Date: Mon Sep 1 22:48:51 2008 +0200 p54: move eeprom code into common library Both p54pci and p54usb uses a good chunk of device specific code to get the data from the device's eeprom into the drivers memory. So, this patch reduces the code size and will it make life easier if someone wants to implement ethtool eeprom dumping features. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 4e416a6f49b710bfe162f0cb24bc68c74493d2a0 Author: Christian Lamparter Date: Mon Sep 1 22:48:41 2008 +0200 p54: enhance firmware parser to reduce memory waste This patch greatly reduces one of biggest memory waste in the driver. The firmware headers provides the right values for extra head-/tailroom and mtu size which are usually much lower than the old hardcoded ones. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 0c25970dc1b0d46f2357e7c4b267ab7b93eb7cdd Author: Christian Lamparter Date: Sun Aug 31 22:15:40 2008 +0200 p54pci: increase ring buffer index counter when skipping I'm afraid, I forgot to add the following lines to 7262d59366 ("p54pci: rx tasklet refactoring"). These changes are necessary to ensure loop termination. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit c41a40c58b623f97dd2e23aa3baab2cedb47d99f Author: philipl@overt.org Date: Sat Aug 30 11:57:39 2008 -0400 toshiba_acpi: Add support for bluetooth toggling through rfkill (v8) There's been a patch floating around for toshiba_acpi that exports an ad-hoc /proc interface to toggle the bluetooth adapter in a large number of Toshiba laptops. I'm not sure if it's still relevant for the latest models, but it is still required for older models such as my Tecra M3. This change pulls in the low level Toshiba-specific code from the old patch and sets up an rfkill device and a polled input device to track the state of the hardware kill-switch. Signed-off-by: Philip Langdale Acked-by: Henrique de Moraes Holschuh Signed-off-by: John W. Linville commit 400828c3da74a2e22b51bfc08d6db4697e3bce3e Author: Michael Buesch Date: Sat Aug 30 13:07:31 2008 +0200 b43: Add LP-PHY radio register definitions This adds definitions for the LP-PHY radios. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 0888707f1aade9325f121a21314d57400fb779aa Author: Michael Buesch Date: Sat Aug 30 11:49:45 2008 +0200 b43: Add LP-PHY read/write phyops This adds read/write phyops for the LP-PHY and LP-PHY radios. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit e63e436326919dcc36e2bb242bc570257de70521 Author: Michael Buesch Date: Sat Aug 30 10:55:48 2008 +0200 b43: Add LP-PHY template This adds template code for the LP-PHY. No actual functionality is implemented. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 3d0da7516441d41dbfcc2b2667d9b792d580e50b Author: Michael Buesch Date: Sat Aug 30 02:27:19 2008 +0200 b43: Move code from nphy.* to phy_n.* Sourcecode files for PHY code are named by phy_XXX.{c,h} where XXX is the PHY type. Move the N-PHY code to match the other files. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 99c4a780624da24d20309f2be5abe5ef8d20fcc0 Author: Michael Buesch Date: Sat Aug 30 02:09:08 2008 +0200 b43: Move remaining code from phy.c to phy_a.c This moves the remaining code from phy.c to phy_a.c phy.c is removed. No functional change. Just moving code and removing dead code. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit f59ac0481660e66cec67f1d6b024e78b9dc715fe Author: Luis R. Rodriguez Date: Fri Aug 29 16:26:43 2008 -0700 cfg80211: keep track of supported interface modes It is obviously good for userspace to know up front which interface modes a given piece of hardware might support (even if adding such an interface might fail later because of concurrency issues), so let's make cfg80211 aware of that. For good measure, disallow adding interfaces in all other modes so drivers don't forget to announce support for one mode when they add it. Signed-off-by: Johannes Berg Signed-off-by: Stephen Blackheath Signed-off-by: Ivo van Doorn Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit c6e387a214f4b2c4bd48020409e366c133385d98 Author: Nick Kossifidis Date: Fri Aug 29 22:45:39 2008 +0300 ath5k: HW code cleanup * No code changes... * Split hw.c to multiple files for better maintenance and add some documentation on each file code is going to grow soon (eeprom.c for example is going to get much stuff currently developed on ath_info) so it's better this way. * Rename following functions to maintain naming scheme: ah_setup_xtx_desc -> ah_setup_mrr_tx_desc (Because xtx doesn't say much, it's actually a multi-rate-retry tx descriptor) ath5k_hw_put_tx/rx_buf - > ath5k_hw_set_tx/rxdp ath5k_hw_get_tx/rx_buf -> ath5k_hw_get_tx/rxdp (We don't put any "buf" we set descriptor pointers on hw) ath5k_hw_tx_start -> ath5k_hw_start_tx_dma ath5k_hw_start_rx -> ath5k_hw_start_rx_dma ath5k_hw_stop_pcu_recv -> ath5k_hw_stop_rx_pcu (It's easier this way to identify them, we also have ath5k_hw_start_rx_pcu which completes the set) ath5k_hw_set_intr -> ath5k_hw_set_imr (As in get_isr we set imr here, not "intr") * Move ath5k_hw_setup_rx_desc on ah->ah_setup_rx_desc so we can include support for different rx descriptors in the future * Further cleanups so that checkpatch doesn't complain (only some > 80 col warnings for eeprom.h and reg.h as usual due to comments) Tested on 5211 and 5213 cards and works ok. Changes-licensed-under: ISC Signed-off-by: Nick Kossifidis Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit fa9abe050d0a018b888fce61a4353afab17b0860 Author: Michael Buesch Date: Thu Aug 28 19:13:51 2008 +0200 b43: Don't use memcpy for overlapping areas It is valid to pass &gphy->rfatt and &gphy->bbatt as rfatt and bbatt pointer arguments to the function. So we have to use memmove for the possibly overlapping memory areas. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit e51af6630848406fc97adbd71443818cdcda297b Author: David Woodhouse Date: Thu Sep 4 09:54:37 2008 +0100 x86: blacklist DMAR on Intel G31/G33 chipsets Some BIOSes (the Intel DG33BU, for example) wrongly claim to have DMAR when they don't. Avoid the resulting crashes when it doesn't work as expected. I'd still be grateful if someone could test it on a DG33BU with the old BIOS though, since I've killed mine. I tested the DMI version, but not this one. Signed-off-by: David Woodhouse Signed-off-by: Ingo Molnar commit cf169702ba6928cee9d4f4adf3e932b643b8db7a Author: Joerg Roedel Date: Tue Sep 2 13:13:40 2008 +0200 x86, gart: add detection of AMD family 0x11 northbridges This patch adds the detection of the northbridges in the AMD family 0x11 processors. It also fixes the magic numbers there while changing this code. Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit ca1af29a733629b9158a4a32a927d16ff9009a95 Author: Joerg Roedel Date: Tue Sep 2 13:13:39 2008 +0200 x86, pci: add northbridge pci ids for fam 0x11 processors The PCI device ids for AMD family 0x11 processors are missing in pci_ids.h. This patch adds them. Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit e7250b8ae3870f37f660c2f65cafcaba85e3bfd3 Author: Andreas Herrmann Date: Fri Sep 5 18:33:26 2008 +0200 x86: hpet: modify IXP400 quirk to enable interrupts The current quirk is incomplete. Some more chipset fiddling has to be done to enable HPET interrupts. This patch aims to do this. From my tests it seems to work faultlessly. But the official statement is that HPET is not supported on SB4X0. Users will still have to use hpet=force to enable it. Use it at your own risk. Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar commit 5b7e41ff37267c35b0fcf9162ca0c32c3d8d2c5c Author: H. Peter Anvin Date: Wed Sep 3 17:24:03 2008 -0700 x86: additional defconfig updates Additional updates to the x86 defconfigs. The goals are, as before: - Make them usable to testers, more so than distributors or end users, both of which are likely to have their own config already. - Keep 32 and 64 bits as similar as is practical. Changes: - Use a more generic CPU type (ppro and generic, respectively). - Bump number of CPUs to 64 (few if any NR_CPUS arrays left). - Enable PAT. - Enable OPTIMIZE_INLINE. - Enable microcode update support. - Build SMT scheduler support (in addition to MC). Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 616ad8c44281c0c6711a72b560e01ec335ff27e0 Merge: 9980996... b380b0d... Author: Ingo Molnar Date: Fri Sep 5 18:56:57 2008 +0200 Merge branch 'linus' into x86/defconfig commit 7c8ad9828e793573877fd60868bb5d2f1e3b64da Author: Russell King Date: Fri Sep 5 15:13:24 2008 +0100 [ARM] omap: fix a load of "warning: symbol 'xxx' was not declared. Should it be static?" Signed-off-by: Russell King commit c0fc18c5bf016a9d56aee64974c1ccdb87f3c783 Author: Russell King Date: Fri Sep 5 15:10:27 2008 +0100 [ARM] omap: fix lots of 'Using plain integer as NULL pointer' Signed-off-by: Russell King commit 7c7095aa423b9b14038abc08fba84b9d7a33d643 Author: Russell King Date: Fri Sep 5 15:49:14 2008 +0100 [ARM] omap: fix inappropriate casting in gpio.c gpio.c wilfully casts physical addresses to void __iomem * and then fixes them up at runtime using: bank->base = IO_ADDRESS(bank->base); where accesses prior to this fixup are via omap_read/omap_write, and after are by __raw_read/__raw_write. This doesn't lend itself to static checking, nor to easy understanding of the code. And so, OMAP_MPUIO_BASE gets to be the right type - integer like since it's a physical address, not a MMIO pointer. Signed-off-by: Russell King commit 397fcaf71783de804b2e1ae3ec41da0c79a89a61 Author: Russell King Date: Fri Sep 5 15:46:19 2008 +0100 [ARM] omap: DSP registers don't need to be casted We're now assigning/comparing void __iomem pointers with void __iomem pointer variables. Signed-off-by: Russell King commit 0062f1048bb6c80d66d55034b49b3d733acc4e3a Author: Russell King Date: Thu Sep 4 14:29:01 2008 +0100 [ARM] omap: make sure virtual mmio addresses are __iomem pointer-like Signed-off-by: Russell King commit e8a91c953fca683ef9a9335fb00d6eb3e49ac1ee Author: Russell King Date: Mon Sep 1 22:07:37 2008 +0100 [ARM] omap: Fix IO_ADDRESS() macros OMAP1_IO_ADDRESS(), OMAP2_IO_ADDRESS() and IO_ADDRESS() returns cookies for use with __raw_{read|write}* for accessing registers. Therefore, these macros should return (void __iomem *) cookies, not integer values. Doing this improves typechecking, and means we can find those places where, eg, DMA controllers are incorrectly given virtual addresses to DMA to, or physical addresses are thrown through a virtual to physical address translation. Signed-off-by: Russell King commit d592dd1adc4f57171fa2570a94279d887b78d5b5 Author: Russell King Date: Thu Sep 4 14:25:42 2008 +0100 [ARM] omap: convert mcbsp to use ioremap() Signed-off-by: Russell King commit 55c381e4896be2611da87088acfad74b361239ab Author: Russell King Date: Thu Sep 4 14:07:22 2008 +0100 [ARM] omap: convert OMAP drivers to use ioremap() Signed-off-by: Russell King commit 690b5a13b27ba3bb2c9d61c1f4018c5074b591e6 Author: Russell King Date: Thu Sep 4 12:07:44 2008 +0100 [ARM] omap: allow ioremap() to use our fixed IO mappings Signed-off-by: Russell King commit e5480b7397f497482083da056f5f300dd4ca43f3 Author: Russell King Date: Mon Sep 1 21:51:50 2008 +0100 [ARM] omap: remove an io_v2p() usage When omap_udc is also incorporated, this macro will no longer be used. Signed-off-by: Russell King commit f2eda27d1cd218f6544cd9367be47fb01c70a95d Author: Russell King Date: Mon Sep 1 21:47:59 2008 +0100 [SERIAL] 8250: serial8250_port_size() - omap ports are larger A function to contain common code for the size of the resource we need to allocate or free. OMAP ports need 22 bytes rather than the standard 8 bytes. Signed-off-by: Russell King commit 5668545a08c80e0d9dc325bd6c79028b19227e5d Author: Russell King Date: Mon Sep 1 21:25:33 2008 +0100 [ARM] omap: improve is_omap_port() Make is_omap_port() take the uart_8250_port structure so it can do whatever test it desires. Convert the test to compare the physical addresses rather than virtual addresses. Signed-off-by: Russell King commit 4ab4ba32aa16b012cb0faabf1a27952508fe67f2 Author: Petr Tesarik Date: Wed Sep 3 13:31:42 2008 +0200 x86, tracehook: clean up implementation of syscall_get_error() The x86-tracehook code now contains this line in syscall_get_error(): return error >= -4095L ? error : 0; Hard-wiring a constant is not nice. Let's use the IS_ERR_VALUE macro from linux/err.h instead. Signed-off-by: Petr Tesarik Cc: utrace-devel@redhat.com Acked-by: Roland McGrath Signed-off-by: Ingo Molnar commit 28c3cfd5fb998bd3683bebeebbba38baa2101cad Merge: 04197c8... b380b0d... Author: Ingo Molnar Date: Fri Sep 5 17:53:05 2008 +0200 Merge branch 'linus' into x86/tracehook commit efd327a2d41214dded03cbfbb6d447530964cddd Author: Alex Nixon Date: Wed Sep 3 14:36:40 2008 +0100 x86/paravirt: Remove duplicate paravirt_pagetable_setup_{start, done}() They were already called once in arch/x86/kernel/setup.c - we don't need to call them again. Signed-off-by: Alex Nixon Signed-off-by: Ingo Molnar commit 913da64b54b2b3bb212a59aba2e6f2b8294ca1fa Author: Alex Nixon Date: Wed Sep 3 14:30:23 2008 +0100 x86: build fix for !CONFIG_SMP Move reset_lazy_tlbstate into tlb_32.c, and define noop versions of play_dead() in process_{32,64}.c when !CONFIG_SMP. Signed-off-by: Alex Nixon Signed-off-by: Ingo Molnar commit 5ab6d815dc23117cd9c5895cb9592824de3d4a68 Author: Alex Nixon Date: Wed Sep 3 14:30:22 2008 +0100 Xen: fix cpu_hotplug build when !CONFIG_SMP Compile cpu_hotplug.c conditionally on CONFIG_HOTPLUG_CPU Signed-off-by: Alex Nixon Signed-off-by: Ingo Molnar commit 5c51c637e489f3f4d58d51365b0c558549918858 Author: Alex Nixon Date: Wed Sep 3 14:30:21 2008 +0100 Xen: fix cpu_hotplug.c build by replacing is_running_on_xen() with xen_pv_domain() Signed-off-by: Alex Nixon Signed-off-by: Ingo Molnar commit 110e0358e7dfd9cc56d47077068f3680dae10b56 Author: Jeremy Fitzhardinge Date: Thu Aug 28 13:58:39 2008 -0700 x86: make sure the CPA test code's use of _PAGE_UNUSED1 is obvious The CPA test code uses _PAGE_UNUSED1, so make sure its obvious. Signed-off-by: Jeremy Fitzhardinge Cc: Nick Piggin Signed-off-by: Ingo Molnar commit 74e91604b2452c15bbe72d77b37cf47ed0310d13 Author: Jan Beulich Date: Fri Sep 5 13:27:45 2008 +0100 x86: ticket spin locks: reduce instruction dependencies Reduce the amount of partial register accesses in the NR_CPUS < 256 case, and slightly weaken resource dependencies in the other case. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit 08f5fcbe6e0ea029c7e9b1b1c338700ab7809daf Author: Jan Beulich Date: Fri Sep 5 13:26:39 2008 +0100 x86: ticket spin locks: factor out more common code Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit ef1f3413284b9270266cb04a944647e59735f0f1 Author: Jan Beulich Date: Fri Sep 5 13:26:39 2008 +0100 x86: ticket spin locks: fix asm constraints In addition to these changes I doubt the 'volatile' on all the ticket lock asm()-s are really necessary. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit 0a328ea43da9c3eefce7cb6c947e43e1a0fef810 Merge: d3d0ba7... 5bbd4c3... Author: Ingo Molnar Date: Fri Sep 5 17:03:17 2008 +0200 Merge branch 'x86/alternatives' into x86/core commit 27eccf46491e1f77f9af9bbe0778122ce6882890 Author: Andrew Morton Date: Fri Sep 5 08:42:08 2008 -0500 dlm: choose better identifiers sparc32: fs/dlm/config.c:397: error: expected identifier or '(' before '{' token fs/dlm/config.c: In function 'drop_node': fs/dlm/config.c:589: warning: initialization from incompatible pointer type fs/dlm/config.c:589: warning: initialization from incompatible pointer type fs/dlm/config.c: In function 'release_node': fs/dlm/config.c:601: warning: initialization from incompatible pointer type fs/dlm/config.c:601: warning: initialization from incompatible pointer type fs/dlm/config.c: In function 'show_node': fs/dlm/config.c:717: warning: initialization from incompatible pointer type fs/dlm/config.c:717: warning: initialization from incompatible pointer type fs/dlm/config.c: In function 'store_node': fs/dlm/config.c:726: warning: initialization from incompatible pointer type fs/dlm/config.c:726: warning: initialization from incompatible pointer type Cc: Christine Caulfield Signed-off-by: Andrew Morton Signed-off-by: David Teigland commit bd1eb8818cc2c8ddab86be027ab43fb852942704 Author: Julien Brunel Date: Mon Sep 1 10:51:22 2008 +0200 GFS2: Use an IS_ERR test rather than a NULL test In case of error, the function gfs2_inode_lookup returns an ERR pointer, but never returns a NULL pointer. So a NULL test that necessarily comes after an IS_ERR test should be deleted, and a NULL test that may come after a call to this function should be strengthened by an IS_ERR test. 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 = gfs2_inode_lookup(...) ... when != x = E * if (x != NULL) S1 else S2 // Signed-off-by: Julien Brunel Signed-off-by: Julia Lawall Signed-off-by: Steven Whitehouse commit dff5257473ca1e05002809809f51f858e9a966fc Author: Steven Whitehouse Date: Tue Sep 2 13:33:17 2008 +0100 GFS2: Fix race relating to glock min-hold time In the case that a request for a glock arrives right after the grant reply has arrived, it sometimes means that the gl_tstamp field hasn't been updated recently enough. The net result is that the min-hold time for the glock is ignored. If this happens often enough, it leads to poor performance. This patch adds an additional test, so that if the reply pending bit is set on a glock, then it will select the maximum length of time for the min-hold time, rather than looking at gl_tstamp. Signed-off-by: Steven Whitehouse commit 09d9bae064724635df3920bcca47e077cfb23e76 Author: Russell King Date: Fri Sep 5 14:08:44 2008 +0100 [ARM] sparse: fix several warnings arch/arm/kernel/process.c:270:6: warning: symbol 'show_fpregs' was not declared. Should it be static? This function isn't used, so can be removed. arch/arm/kernel/setup.c:532:9: warning: symbol 'len' shadows an earlier one arch/arm/kernel/setup.c:524:6: originally declared here A function containing two 'len's. arch/arm/mm/fault-armv.c:188:13: warning: symbol 'check_writebuffer_bugs' was not declared. Should it be static? arch/arm/mm/mmap.c:122:5: warning: symbol 'valid_phys_addr_range' was not declared. Should it be static? arch/arm/mm/mmap.c:137:5: warning: symbol 'valid_mmap_phys_addr_range' was not declared. Should it be static? Missing includes. arch/arm/kernel/traps.c:71:77: warning: Using plain integer as NULL pointer arch/arm/mm/ioremap.c:355:46: error: incompatible types in comparison expression (different address spaces) Sillies. Signed-off-by: Russell King commit b56c8c221d192e4ffa719d00907c3b60fbaa2737 Author: James Morris Date: Fri Sep 5 21:43:38 2008 +1000 SELinux: add gitignore file for mdp script Add gitignore file for scripts/selinux/mdp/mdp. Signed-off-by: James Morris commit 551b4545bf9658dc5ae5a1277dcd4d7bf0028b28 Author: FUJITA Tomonori Date: Fri Sep 5 17:58:49 2008 +0900 x86: gart alloc_coherent doesn't need to check NULL device argument asm/dma-mapping.h guarantees that gart alloc_coherent doesn't get NULL device argument. Signed-off-by: FUJITA Tomonori Acked-by: Joerg Roedel Signed-off-by: Ingo Molnar commit deed05b7c017e49473e8c386efba196410fd18b3 Author: Ingo Molnar Date: Fri Sep 5 10:23:26 2008 +0200 x86, init_64.c: cleanup Clean up comments. Signed-off-by: Ingo Molnar commit bd220a24a9263eaa70d5e6821383085950b5a13c Author: Yinghai Lu Date: Fri Sep 5 00:58:28 2008 -0700 x86: move nonx_setup etc from common.c to init_64.c like 32 bit put it in init_32.c Signed-off-by: Yinghai Signed-off-by: Ingo Molnar commit f5017cfa3591d8eaf5c792e40ff30f18e498b68c Author: Yinghai Lu Date: Thu Sep 4 20:09:14 2008 -0700 x86: use cpu/common.c on 64 bit Use cpu/common.c on both 64-bit and 32-bit and remove cpu/common_64.c. We started out with this linecount: 816 arch/x86/kernel/cpu/common_64.c 805 arch/x86/kernel/cpu/common.c and the resulting common.c is 1197 lines long, so there's already 424 lines of code eliminated in this phase of the unification. Signed-off-by: Yinghai Signed-off-by: Ingo Molnar commit 143b604a2d07ff69cc2bc02ecd9395b28e0b5292 Author: Ingo Molnar Date: Fri Sep 5 09:37:15 2008 +0200 x86: cpu/common*.c, merge whitespaces Merge leftover whitespaces, to make arch/x86/kernel/cpu/common_64.c exactly identical to arch/x86/kernel/cpu/common.c. Signed-off-by: Ingo Molnar commit 102bbe3ab83c7ac04461d277df23cd5acdb49892 Author: Yinghai Lu Date: Thu Sep 4 20:09:13 2008 -0700 x86: cpu/common*.c, merge identify_cpu() Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit b89d3b3e2caeab3d895301d1aee3cd2a91eddb79 Author: Yinghai Lu Date: Thu Sep 4 20:09:12 2008 -0700 x86: cpu/common*.c, merge generic_identify() Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 56f0d033be2ebb983993e5d7f24ae232c9a1e7f9 Author: Yinghai Lu Date: Thu Sep 4 20:09:11 2008 -0700 x86: cpu/common*.c: merge print_cpu_info() Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 6627d2423067f2c6eedb422a59fba9270a3c5e36 Author: Yinghai Lu Date: Thu Sep 4 20:09:10 2008 -0700 x86: cpu/common*.c, merge early_identify_cpu() Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 5122c890ba969e6efeaba9ed45f5936e62d3c6d5 Author: Yinghai Lu Date: Thu Sep 4 20:09:09 2008 -0700 x86: cpu/common.c: merge get_cpu_cap() Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 1cd78776c7d5487e3000426d0ce1ff203c5d60cd Author: Yinghai Lu Date: Thu Sep 4 20:09:08 2008 -0700 x86: cpu/common*.c, merge detect_ht() Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 140fc72709278989f08eb756d16a70008bdcc409 Author: Yinghai Lu Date: Thu Sep 4 20:09:07 2008 -0700 x86: cpu/common*.c, merge display_cacheinfo() Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit b9e67f00424e164dcd29391eb48dc941db8691ad Author: Yinghai Lu Date: Thu Sep 4 20:09:06 2008 -0700 x86: cpu/common.c, merge default_init() Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit fab334c1d5f24d23d12f98ad652d399279cd03ce Author: Yinghai Lu Date: Thu Sep 4 20:09:05 2008 -0700 x86: cpu/common*.c, merge switch_to_new_gdt() Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 1ba76586f778be327e452180d8378e40ee70f066 Author: Yinghai Lu Date: Thu Sep 4 20:09:04 2008 -0700 x86: cpu/common*.c have same cpu_init(), with copying and #ifdef hard to merge by lines... (as here we have material differences between 32-bit and 64-bit mode) - will try to do it later. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit d5494d4f517158b1d2eea1ae33f6c264eb12675f Author: Yinghai Lu Date: Thu Sep 4 20:09:03 2008 -0700 x86: cpu/common*.c, make 32-bit have 64-bit only functions Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit ba51dced0b55eb62874e1646d5eeff344c3d4e67 Author: Yinghai Lu Date: Thu Sep 4 20:09:02 2008 -0700 x86: cpu/common.c, let 64-bit code have 32-bit only functions No effect on 64-bit. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 950ad7ff6ec17fc1b47abc95c5c74628eb1adf8b Author: Yinghai Lu Date: Thu Sep 4 20:09:01 2008 -0700 x86: same gdt_page with macro Move the 32-bit and 64-bit gdt_page definitions next to each other, separated with an #ifdef. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit f0fc4aff1fa4db1c201593422dcbf85c9897ec4f Author: Yinghai Lu Date: Thu Sep 4 20:09:00 2008 -0700 x86: make header file the same in arch/x86/kernel/cpu/common_xx.c Make the files more similar in preparation to unification, no code changed. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 97e4db7c8719f67c52793eeca5ec4df4c3407f2a Author: Yinghai Lu Date: Thu Sep 4 20:08:59 2008 -0700 x86: make detect_ht depend on CONFIG_X86_HT 64-bit has X86_HT set too, so use that instead of SMP. This also removes a include/asm-x86/processor.h ifdef. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 0c8c708a7e6b52556ee9079041f504191ec5f0e9 Merge: b380b0d... d3d0ba7... Author: Ingo Molnar Date: Fri Sep 5 09:27:23 2008 +0200 Merge branch 'x86/core' into x86/unify-cpu-detect commit d3d0ba7b8fb8f57c33207adcb41f40c176148c03 Merge: 9042763... 63cc8c7... Author: Ingo Molnar Date: Fri Sep 5 09:24:30 2008 +0200 Merge commit '63cc8c75156462d4b42cbdd76c293b7eee7ddbfe': "percpu: introduce DEFINE_PER_CPU_PAGE_ALIGNED() macro" into x86/core Conflicts: arch/x86/kernel/cpu/common.c Signed-off-by: Ingo Molnar commit 9042763808c5285a1a61b45b0fe98a710a4c903c Merge: 446d273... aa3341a... Author: Ingo Molnar Date: Fri Sep 5 09:21:21 2008 +0200 Merge branch 'x86/x2apic' into x86/core Conflicts: arch/x86/kernel/cpu/common_64.c Signed-off-by: Ingo Molnar commit 446d27338d3b422dd3dfe496d0f362230994d059 Merge: accf0fa... 0a488a5... Author: Ingo Molnar Date: Fri Sep 5 09:19:50 2008 +0200 Merge branch 'x86/cpu' into x86/core commit accf0fa697eeb5ff4c2360edc4da5b10abac0b7b Merge: ebd60cd... fe47784... Author: Ingo Molnar Date: Fri Sep 5 09:18:39 2008 +0200 Merge branch 'x86/xsave' into x86/core commit e5ef1de198c7bf2ca10de82add06536ed6165f8b Author: Lennert Buytenhek Date: Thu Aug 28 06:26:23 2008 +0200 mv643xx_eth: transmit multiqueue support As all the infrastructure for multiple transmit queues already exists in the driver, this patch is entirely trivial. The individual transmit queues are still serialised by the driver's per-port private spinlock, but that will disappear (i.e. be replaced by the per-subqueue ->_xmit_lock) in a subsequent patch. Signed-off-by: Lennert Buytenhek commit befefe2177d4bca07a64a2410333388c063a6f7d Author: Lennert Buytenhek Date: Thu Aug 28 06:10:04 2008 +0200 mv643xx_eth: delete unused and uninteresting interrupt source mask bits Delete a couple of unused and uninteresting interrupt source mask bits: - The receive resource underrun interrupt sources are uninteresting because if we are in out-of-memory mode, we are already dealing with the issue, and we don't need the hardware to remind us again that we are out of memory. - The LINK and PHY interrupt sources can be coalesced into one define, since we always use them together. - The transmit resource underrun interrupt source can be disabled since we never activate the head descriptor of a paged skb until the fragments are all activated, so transmit underrun during a packet should never happen. - The INT_EXT_TX_0 define is never used. Signed-off-by: Lennert Buytenhek commit 4fdeca3f4e7e35f6c19e87617c23fbb59dfb1a63 Author: Lennert Buytenhek Date: Thu Aug 28 05:39:13 2008 +0200 mv643xx_eth: get rid of netif_{stop,wake}_queue() calls on link down/up There is no need to call netif_{stop,wake}_queue() when the link goes down/up, as the networking already takes care of this internally. Signed-off-by: Lennert Buytenhek commit ac840605f3b1d9b99e1e6629a54994f8e003ff91 Author: Lennert Buytenhek Date: Tue Aug 26 14:06:47 2008 +0200 mv643xx_eth: remove force_phy_addr field Currently, there are two different fields in the mv643xx_eth_platform_data struct that together describe the PHY address -- one field (phy_addr) has the address of the PHY, but if that address is zero, a second field (force_phy_addr) needs to be set to distinguish the actual address zero from a zero due to not having filled in the PHY address explicitly (which should mean 'use the default PHY address'). If we are a bit smarter about the encoding of the phy_addr field, we can avoid the need for a second field -- this patch does that. Signed-off-by: Lennert Buytenhek commit fc0eb9f226d8ecc8e3b563bf808bd6d61a6153a1 Author: Lennert Buytenhek Date: Tue Aug 26 12:56:56 2008 +0200 mv643xx_eth: smi sharing is a per-unit property, not a per-port one Which top-level unit's SMI interface to use should be a property of the top-level unit, not of the individual ports. This patch moves the ->shared_smi pointer from the per-port platform data to the global platform data. Signed-off-by: Lennert Buytenhek commit f7981c1c67b53abb4a7d8a501e68585b9826179a Author: Lennert Buytenhek Date: Tue Aug 26 10:23:22 2008 +0200 mv643xx_eth: require contiguous receive and transmit queue numbering Simplify receive and transmit queue handling by requiring the set of queue numbers to be contiguous starting from zero. Signed-off-by: Lennert Buytenhek commit 17cd0a59f9c34164c4f3bfe404894f5285bac112 Author: Lennert Buytenhek Date: Sun Aug 24 05:33:55 2008 +0200 mv643xx_eth: get rid of compile-time configurable transmit checksumming Get rid of the mv643xx_eth-internal MV643XX_ETH_CHECKSUM_OFFLOAD_TX compile-time option. Using transmit checksumming is the sane default, and anyone wanting to disable it should use ethtool(8) instead of recompiling their kernels. Signed-off-by: Lennert Buytenhek commit 2257e05c170561bb1168ee50205ae920008c37fb Author: Lennert Buytenhek Date: Sun Aug 24 04:33:36 2008 +0200 mv643xx_eth: get rid of receive-side locking By having the receive out-of-memory handling timer schedule the napi poll handler and then doing oom processing from the napi poll handler, all code that touches receive state moves to napi context, letting us get rid of all explicit locking in the receive paths since the only mutual exclusion we need anymore at that point is protection against reentering ourselves, which is provided by napi synchronisation. Signed-off-by: Lennert Buytenhek commit 78fff83b0347d72e996cef883f09c3e5b8544f73 Author: Lennert Buytenhek Date: Sun Aug 24 01:03:57 2008 +0200 mv643xx_eth: make napi unconditional Make napi unconditional on the receive side, so that we can get rid of all the locking and local interrupt disabling in the receive path. Signed-off-by: Lennert Buytenhek commit 45c5d3bc1eae7a1d91b12dbee6443109337ec8c3 Author: Lennert Buytenhek Date: Tue Aug 26 04:42:59 2008 +0200 mv643xx_eth: use the SMI done interrupt to wait for SMI access completion If the platform code has passed us the IRQ number of the mv643xx_eth top-level error interrupt, use the error interrupt to wait for SMI access completion instead of polling the SMI busy bit, since SMI bus accesses can take up to tens of milliseconds. Signed-off-by: Lennert Buytenhek commit 2b3ba0e3ea3aa9383d38cf95fabd24ca35483784 Author: Lennert Buytenhek Date: Sun Aug 24 05:41:09 2008 +0200 mv643xx_eth: switch ->phy_lock from a spinlock to a mutex Since commit 81600eea98789da09a32de69ca9d3be8b9503c54 ("mv643xx_eth: use auto phy polling for configuring (R)(G)MII interface"), mv643xx_eth no longer does SMI accesses from interrupt context. The only other callers that do SMI accesses all do them from process context, which means we can switch the PHY lock from a spinlock to a mutex, and get rid of the extra locking in some ethtool methods. Signed-off-by: Lennert Buytenhek commit 9da7874575468ad3b126d1b9197b6ae387950bb4 Author: Lennert Buytenhek Date: Sat Aug 23 23:45:28 2008 +0200 mv643xx_eth: get rid of modulo operations Get rid of the modulo operations that are currently used for computing successive TX/RX descriptor ring indexes. Signed-off-by: Lennert Buytenhek commit 2a1867a76fc13499521af1f0dbcf08ddb3ef78ba Author: Lennert Buytenhek Date: Sat Aug 23 23:43:38 2008 +0200 mv643xx_eth: get rid of IRQF_SAMPLE_RANDOM Using IRQF_SAMPLE_RANDOM for the mv643xx_eth interrupt handler significantly increases interrupt processing overhead, so get rid of it. Signed-off-by: Lennert Buytenhek commit 3a499481c167977368a7e7cae8ea1ff2a99518a0 Author: Lennert Buytenhek Date: Sun Aug 24 07:19:48 2008 +0200 mv643xx_eth: fix receive buffer DMA unmapping When tearing down a DMA mapping for a receive buffer, we should pass dma_unmap_single() the exact same address that dma_map_single() gave us when we originally set up the mapping. Signed-off-by: Lennert Buytenhek commit b98738412372d6bcba1548b6b439f49023e25a34 Author: Lennert Buytenhek Date: Sun Aug 24 05:59:16 2008 +0200 mv643xx_eth: fix 'netdev_priv(dev) == dev->priv' assumption Signed-off-by: Lennert Buytenhek commit f2428ed5e7bc89c7716ead22748cb5d076e204f0 Author: Simon Horman Date: Fri Sep 5 11:17:14 2008 +1000 ipvs: load balance ipv6 connections from a local process This allows IPVS to load balance IPv6 connections made by a local process. For example a proxy server running locally. External client --> pound:443 -> Local:443 --> IPVS:80 --> RealServer This is an extenstion to the IPv4 work done in this area by Siim Põder and Malcolm Turnbull. Cc: Siim Põder Cc: Malcolm Turnbull Signed-off-by: Simon Horman commit 4856c84c1358b79852743ac64e50c1e9d5118f05 Author: Malcolm Turnbull Date: Fri Sep 5 11:17:13 2008 +1000 ipvs: load balance IPv4 connections from a local process This allows IPVS to load balance connections made by a local process. For example a proxy server running locally. External client --> pound:443 -> Local:443 --> IPVS:80 --> RealServer Signed-off-by: Siim Põder Signed-off-by: Malcolm Turnbull Signed-off-by: Simon Horman commit f94fd041402e4e70d2b4ed00008b9bb857e6ae87 Author: Julius Volz Date: Tue Sep 2 15:55:55 2008 +0200 IPVS: Allow adding IPv6 services from userspace Allow adding IPv6 services through the genetlink interface and add checks to see if the chosen scheduler is supported with IPv6 and whether the supplied prefix length is sane. Make sure the service count exported via the sockopt interface only counts IPv4 services. Signed-off-by: Julius Volz Signed-off-by: Simon Horman commit 473b23d37b697c66ac0bfcfdcc9badf718e25d2a Author: Julius Volz Date: Tue Sep 2 15:55:54 2008 +0200 IPVS: Activate IPv6 Netfilter hooks Register the previously defined or adapted netfilter hook functions for IPv6 as PF_INET6 hooks. Signed-off-by: Julius Volz Signed-off-by: Simon Horman commit cfc78c5a09241a3a9561466834996a7fb90c4228 Author: Julius Volz Date: Tue Sep 2 15:55:53 2008 +0200 IPVS: Adjust various debug outputs to use new macros Adjust various debug outputs to use the new *_BUF macro variants for correct output of v4/v6 addresses. Signed-off-by: Julius Volz Signed-off-by: Simon Horman commit 09571c7ae30865adfa79dccd12a822a65d2c4b5a Author: Vince Busam Date: Tue Sep 2 15:55:52 2008 +0200 IPVS: Add function to determine if IPv6 address is local Add __ip_vs_addr_is_local_v6() to find out if an IPv6 address belongs to a local interface. Use this function to decide whether to set the IP_VS_CONN_F_LOCALNODE flag for IPv6 destinations. Signed-off-by: Vince Busam Signed-off-by: Simon Horman commit a0eb662f9ec8962928d937a185ad128db12c4637 Author: Julius Volz Date: Tue Sep 2 15:55:51 2008 +0200 IPVS: Turn off FTP application helper for IPv6 Immediately return from FTP application helper and do nothing when dealing with IPv6 packets. IPv6 is not supported by this helper yet. Signed-off-by: Julius Volz Signed-off-by: Simon Horman commit c6883f587341a3ed113856de8769d0992b4bbd85 Author: Julius Volz Date: Tue Sep 2 15:55:50 2008 +0200 IVPS: Disable sync daemon for IPv6 connections Disable the sync daemon for IPv6 connections, works only with IPv4 for now. Signed-off-by: Julius Volz Signed-off-by: Simon Horman commit 667a5f18162e803e30722af46ade1737e3b93198 Author: Vince Busam Date: Tue Sep 2 15:55:49 2008 +0200 IPVS: Convert procfs files for IPv6 entry output Correctly output IPv6 connection/service/dest entries in procfs files. Signed-off-by: Vince Busam Signed-off-by: Simon Horman commit 7937df1564783806c285d34a1c6fd63d8da29d7a Author: Julius Volz Date: Tue Sep 2 15:55:48 2008 +0200 IPVS: Convert real server lookup functions Convert functions for looking up destinations (real servers) to support IPv6 services/dests. Signed-off-by: Julius Volz Signed-off-by: Simon Horman commit 2a3b791e6e1169f374224d164738e9f7be703d77 Author: Julius Volz Date: Tue Sep 2 15:55:47 2008 +0200 IPVS: Add/adjust Netfilter hook functions and helpers for v6 Add Netfilter hook functions or modify existing ones, if possible, to process IPv6 packets. Some support functions are also added/modified for this. ip_vs_nat_icmp_v6() was already added in the patch that added the v6 xmit functions, as it is called from one of them. Signed-off-by: Julius Volz Signed-off-by: Simon Horman commit cd17f9ed099ed27e9b0d298253e5c05e335ac656 Author: Julius Volz Date: Tue Sep 2 15:55:46 2008 +0200 IPVS: Extend scheduling functions for IPv6 support Convert ip_vs_schedule() and ip_vs_sched_persist() to support scheduling of IPv6 connections. Signed-off-by: Julius Volz Signed-off-by: Simon Horman commit b3cdd2a73867d309dca288b8e820c09e3b7f1da1 Author: Julius Volz Date: Tue Sep 2 15:55:45 2008 +0200 IPVS: Add and bind IPv6 xmit functions Add xmit functions for IPv6. Also add the already needed __ip_vs_get_out_rt_v6() to ip_vs_core.c. Bind the new xmit functions to v6 connections. Signed-off-by: Julius Volz Signed-off-by: Simon Horman commit 38cdcc9a039b92a9972dca3c954fb3d8b3ef13bf Author: Julius Volz Date: Tue Sep 2 15:55:44 2008 +0200 IPVS: Add IPv6 support to xmit() support functions Add IPv6 support to IP_VS_XMIT() and to the xmit routing cache, introducing a new function __ip_vs_get_out_rt_v6(). Signed-off-by: Julius Volz Signed-off-by: Simon Horman commit 28364a59f3dfe7fed3560ec7aff9b7aeb02824fb Author: Julius Volz Date: Tue Sep 2 15:55:43 2008 +0200 IPVS: Extend functions for getting/creating connections Extend functions for getting/creating connections and connection templates for IPv6 support and fix the callers. Signed-off-by: Julius Volz Signed-off-by: Simon Horman commit 0bbdd42b7efa66685b6d74701bcde3a596a3a59d Author: Julius Volz Date: Tue Sep 2 15:55:42 2008 +0200 IPVS: Extend protocol DNAT/SNAT and state handlers Extend protocol DNAT/SNAT and state handlers to work with IPv6. Also change/introduce new checksumming helper functions for this. Signed-off-by: Julius Volz Signed-off-by: Simon Horman commit 3b047d9d0407e78a52f009835a0e26cb62edb8c7 Author: Julius Volz Date: Tue Sep 2 15:55:41 2008 +0200 IPVS: Add protocol debug functions for IPv6 Add protocol (TCP, UDP, AH, ESP) debug functions for IPv6 packet debug output. Signed-off-by: Julius Volz Signed-off-by: Simon Horman commit 51ef348b14183789e4cb3444d05ce83b1b69d8fb Author: Julius Volz Date: Tue Sep 2 15:55:40 2008 +0200 IPVS: Add 'af' args to protocol handler functions Add 'af' arguments to conn_schedule(), conn_in_get(), conn_out_get() and csum_check() function pointers in struct ip_vs_protocol. Extend the respective functions for TCP, UDP, AH and ESP and adjust the callers. The changes in the callers need to be somewhat extensive, since they now need to pass a filled out struct ip_vs_iphdr * to the modified functions instead of a struct iphdr *. Signed-off-by: Julius Volz Signed-off-by: Simon Horman commit b14198f6c1bea1687d20723db35d8effecd9d899 Author: Julius Volz Date: Tue Sep 2 15:55:39 2008 +0200 IPVS: Add IPv6 support flag to schedulers Add 'supports_ipv6' flag to struct ip_vs_scheduler to indicate whether a scheduler supports IPv6. Set the flag to 1 in schedulers that work with IPv6, 0 otherwise. This flag is checked in a later patch while trying to add a service with a specific scheduler. Adjust debug in v6-supporting schedulers to work with both address families. Signed-off-by: Julius Volz Signed-off-by: Simon Horman commit 3c2e0505d25cdc9425336f167fd4ff5f505aecff Author: Julius Volz Date: Tue Sep 2 15:55:38 2008 +0200 IPVS: Add v6 support to ip_vs_service_get() Add support for selecting services based on their address family to ip_vs_service_get() and adjust the callers. Signed-off-by: Julius Volz Signed-off-by: Simon Horman commit b18610de9ec2728159f723a9b864ca78a5774193 Author: Julius Volz Date: Tue Sep 2 15:55:37 2008 +0200 IPVS: Convert __ip_vs_svc_get() and __ip_vs_fwm_get() Add support for getting services based on their address family to __ip_vs_service_get(), __ip_vs_fwm_get() and the helper hash function ip_vs_svc_hashkey(). Adjust the callers. Signed-off-by: Julius Volz Signed-off-by: Simon Horman commit c860c6b1479992440e4962e9c95d258bfdce4fca Author: Julius Volz Date: Tue Sep 2 15:55:36 2008 +0200 IPVS: Add internal versions of sockopt interface structs Add extended internal versions of struct ip_vs_service_user and struct ip_vs_dest_user (the originals can't be modified as they are part of the old sockopt interface). Adjust ip_vs_ctl.c to work with the new data structures and add some minor AF-awareness. Signed-off-by: Julius Volz Signed-off-by: Simon Horman commit c842a3ada9ba8f0cca38a70de3fe0effcfab254c Author: Julius Volz Date: Tue Sep 2 15:55:35 2008 +0200 IPVS: Add debug macros for v4 and v6 address output Add some debugging macros that allow conditional output of either v4 or v6 addresses, depending on an 'af' parameter. This is done by creating a temporary string buffer in an outer debug macro and writing addresses' string representations into it from another macro which can only be used when inside the outer one. Signed-off-by: Julius Volz Signed-off-by: Simon Horman commit 64aae3cb9fd22f33e491c4730d363eb2229ef910 Author: Julius Volz Date: Tue Sep 2 15:55:34 2008 +0200 IPVS: Add general v4/v6 helper functions / data structures Add a struct ip_vs_iphdr for easier handling of common v4 and v6 header fields in the same code path. ip_vs_fill_iphdr() helps to fill this struct from an IPv4 or IPv6 header. Add further helper functions for copying and comparing addresses. Signed-off-by: Julius Volz Signed-off-by: Simon Horman commit e7ade46a53055c19a01c8becbe7807f9075d6fee Author: Julius Volz Date: Tue Sep 2 15:55:33 2008 +0200 IPVS: Change IPVS data structures to support IPv6 addresses Introduce new 'af' fields into IPVS data structures for specifying an entry's address family. Convert IP addresses to be of type union nf_inet_addr. Signed-off-by: Julius Volz Signed-off-by: Simon Horman commit fab0de02fb0da83b90cec7fce4294747d86d5c6f Author: Julius Volz Date: Tue Sep 2 15:55:32 2008 +0200 IPVS: Add CONFIG_IP_VS_IPV6 option for IPv6 support Add boolean config option CONFIG_IP_VS_IPV6 for enabling experimental IPv6 support in IPVS. Only visible if IPv6 support is set to 'y' or both IPv6 and IPVS are modules. Signed-off-by: Julius Volz Signed-off-by: Simon Horman commit 4156e9a8ef5b521185f451213d33fa661f38512e Author: Ingo Molnar Date: Thu Sep 4 22:47:47 2008 +0200 x86: quick TSC calibration, improve - make sure the final TSC timestamp is reliable too Signed-off-by: Ingo Molnar commit 6ac40ed0413ef4096720f966e11c7cdf259eee3f Author: Linus Torvalds Date: Thu Sep 4 10:41:22 2008 -0700 x86: quick TSC calibration Introduce a fast TSC-calibration method on sane hardware. It only uses 17920 PIT timer ticks to calibrate the TSC, plus 256 ticks on each side to make sure the TSC values were very close to the tick, so the whole calibration takes 15ms. Yet, despite only takign 15ms, we can actually give pretty stringent guarantees of accuracy: - the code requires that we hit each 256-counter block at least 50 times, so the TSC error is basically at *MOST* just a few PIT cycles off in any direction. In practice, it's going to be about one microseconds off (which is how long it takes to read the counter) - so over 17920 PIT cycles, we can pretty much guarantee that the calibration error is less than one half of a percent. My testing bears this out: on my machine, the quick-calibration reports 2934.085kHz, while the slow one reports 2933.415. Yes, the slower calibration is still more precise. For me, the slow calibration is stable to within about one hundreth of a percent, so it's (at a guess) roughly an order-and-a-half of magnitude more precise. The longer you wait, the more precise you can be. However, the nice thing about the fast TSC PIT synchronization is that it's pretty much _guaranteed_ to give that 0.5% precision, and fail gracefully (and very quickly) if it doesn't get it. And it really is fairly simple (even if there's a lot of _details_ there, and I didn't get all of those right ont he first try or even the second ;) The patch says "110 insertions", but 63 of those new lines are actually comments. Signed-off-by: Linus Torvalds Signed-off-by: Ingo Molnar --- arch/x86/kernel/tsc.c | 111 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 110 insertions(+), 1 deletions(-) commit 1cf44baad76b6f20f95ece397c6f643320aa44c9 Author: Ingo Molnar Date: Thu Sep 4 21:26:06 2008 +0200 IO resources: fix/remove printk Andrew Morton noticed that the printk in kernel/resource.c was buggy: | start and end have type resource_size_t. Such types CANNOT be printed | unless cast to a known type. | | Because there is a %s following an incorrect %lld, the above code will | crash the machine. ... and it's probably quite unneeded as well, so remove it. Reported-by: Andrew Morton Signed-off-by: Ingo Molnar commit 0a488a53d7ca46ac638c30079072c57e50cfcc7b Author: Yinghai Lu Date: Thu Sep 4 21:09:47 2008 +0200 x86: move 32bit related functions together Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 01b2e16a7a9be6573cba5d594d6659b3c6cb46a0 Author: Yinghai Lu Date: Thu Sep 4 21:09:46 2008 +0200 x86: make get_mode_name of 64bit the same as 32bit Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit a0854a46c5eb82588126421a9cbceb973384a644 Author: Yinghai Lu Date: Thu Sep 4 21:09:46 2008 +0200 x86: make 32bit support show_msr like 64 bit Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 10a434fcb23a57c385177a0086955fae01003f64 Author: Yinghai Lu Date: Thu Sep 4 21:09:45 2008 +0200 x86: remove cpu_vendor_dev 1. add c_x86_vendor into cpu_dev 2. change cpu_devs to static 3. check c_x86_vendor before put that cpu_dev into array 4. remove alignment for 64bit 5. order the sequence in cpu_devs according to link sequence... so could put intel at first, then amd... Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 9d31d35b5f9d619bb2482235cc889326de049e29 Author: Yinghai Lu Date: Thu Sep 4 21:09:44 2008 +0200 x86: order functions in cpu/common.c and cpu/common_64.c v2 v2: make 64 bit get c->x86_cache_alignment = c->x86_clfush_size Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 3da99c97763703b23cbf2bd6e96252256d4e4617 Author: Yinghai Lu Date: Thu Sep 4 21:09:44 2008 +0200 x86: make (early)_identify_cpu more the same between 32bit and 64 bit 1. add extended_cpuid_level for 32bit 2. add generic_identify for 64bit 3. add early_identify_cpu for 32bit 4. early_identify_cpu not be called by identify_cpu 5. remove early in get_cpu_vendor for 32bit 6. add get_cpu_cap 7. add cpu_detect for 64bit Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 5031088dbc0cd30e893eb27d53f0e0eee6eb1c00 Author: Krzysztof Helt Date: Thu Sep 4 21:09:43 2008 +0200 x86: delay early cpu initialization until cpuid is done Move early cpu initialization after cpu early get cap so the early cpu initialization can fix up cpu caps. Signed-off-by: Krzysztof Helt Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 5fef55fddb7317585cabc1eae38dbd57f1c59729 Author: Yinghai Lu Date: Thu Sep 4 21:09:43 2008 +0200 x86: move mtrr cpu cap setting early in early_init_xxxx Krzysztof Helt found MTRR is not detected on k6-2 root cause: we moved mtrr_bp_init() early for mtrr trimming, and in early_detect we only read the CPU capability from cpuid, so some cpu doesn't have that bit in cpuid. So we need to add early_init_xxxx to preset those bit before mtrr_bp_init for those earlier cpus. this patch is for v2.6.27 Reported-by: Krzysztof Helt Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 62b3f981886b9b899eb0fc5fb59375f4512a1bd1 Merge: af2e1f2... b05f78f... Author: Ingo Molnar Date: Thu Sep 4 21:08:09 2008 +0200 Merge branch 'x86/debug' into x86/cpu commit ebd60cd64f8ab1170102c3ab072eb73042b7a33d Author: Yinghai Lu Date: Thu Sep 4 21:04:32 2008 +0200 x86: unify using pci_mmcfg_insert_resource even with known_bridge insert them late too. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit fac8f1e4f99dff7a0c3a929f327d66f46de6fa21 Author: Yinghai Lu Date: Thu Sep 4 20:59:22 2008 +0200 x86: split e820 reserved entries record to late, v7 try to insert_resource second time, by expanding the resource... for case: e820 reserved entry is partially overlapped with bar res... hope it will never happen Signed-off-by: Ingo Molnar commit 8040d77688014987ca5738bf1731db72ab273441 Merge: fb481dd... 268364a... Author: Ingo Molnar Date: Thu Sep 4 21:04:04 2008 +0200 Merge branch 'core/resources' into x86/core commit 268364a0f48aee2f851f9d1ef8a6cda0f3039ef1 Author: Yinghai Lu Date: Thu Sep 4 21:02:44 2008 +0200 IO resources: add reserve_region_with_split() add reserve_region_with_split() to not lose e820 reserved entries if they overlap with existing IO regions: with test case by extend 0xe0000000 - 0xeffffff to 0xdd800000 - we get: e0000000-efffffff : PCI MMCONFIG 0 e0000000-efffffff : reserved and in /proc/iomem we get: found conflict for reserved [dd800000, efffffff], try to reserve with split __reserve_region_with_split: (PCI Bus #80) [dd000000, ddffffff], res: (reserved) [dd800000, efffffff] __reserve_region_with_split: (PCI Bus #00) [de000000, dfffffff], res: (reserved) [de000000, efffffff] initcall pci_subsys_init+0x0/0x121 returned 0 after 381 msecs in dmesg various fixes and improvements suggested by Linus. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit f9f2ed486256f3480e4d499ffd6bf730bc5e6fc6 Author: David Teigland Date: Thu Sep 4 12:51:20 2008 -0500 dlm: remove bkl BLK from recent pushdown is not needed. Signed-off-by: David Teigland commit dc44e65943169de2d1a1b494876f48a65a9737f1 Author: Andi Kleen Date: Thu Sep 4 13:47:38 2008 +0200 x86: capitalize function call interrupts consistently Impact: aestetic Capitalize function call interrupts consistently. All other descriptions in /proc/interrupts are capitalized except for "function call interrupts". Capitalize it too for consistency. While that's technically a published ABI I think the risk of anyone relying on that text to stay the same is negligible. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin commit aa3341a168883654d1b13f5931c5ed2762537831 Merge: 42390cd... af2e1f2... Author: H. Peter Anvin Date: Thu Sep 4 09:21:21 2008 -0700 Merge branch 'x86/cpu' into x86/x2apic Conflicts: arch/x86/kernel/cpu/feature_names.c include/asm-x86/cpufeature.h commit fe47784ba5cbb6b713c013e046859946789b45e4 Merge: 83b8e28... af2e1f2... Author: H. Peter Anvin Date: Thu Sep 4 09:04:45 2008 -0700 Merge branch 'x86/cpu' into x86/xsave Conflicts: arch/x86/kernel/cpu/feature_names.c include/asm-x86/cpufeature.h commit fb481dd56adf3c5b0993b8f052cc9ba966e3959d Author: Andi Kleen Date: Thu Sep 4 13:46:11 2008 +0200 x86: drop -funroll-loops for csum_partial_64.c Impact: performance optimization I did some rebenchmarking with modern compilers and dropping -funroll-loops makes the function consistently go faster by a few percent. So drop that flag. Thanks to Richard Guenther for a hint. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin commit a5444d15b611cf2ffe2bc52aaf11f2ac51882f89 Author: Ingo Molnar Date: Fri Aug 29 08:09:23 2008 +0200 x86: split e820 reserved entries record to late v4 this one replaces: | commit a2bd7274b47124d2fc4dfdb8c0591f545ba749dd | Author: Yinghai Lu | Date: Mon Aug 25 00:56:08 2008 -0700 | | x86: fix HPET regression in 2.6.26 versus 2.6.25, check hpet against BAR, v3 v2: insert e820 reserve resources before pnp_system_init v3: fix merging problem in tip/x86/core v4: address Linus's review about comments and condition in _late() Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 58f7c98850a226d3fb05b1095af9f7c4ea3507ba Author: Yinghai Lu Date: Thu Aug 28 13:52:25 2008 -0700 x86: split e820 reserved entries record to late v2 so could let BAR res register at first, or even pnp. v2: insert e820 reserve resources before pnp_system_init Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit a977c400957451f3bd92b9ed6022f5fe8a6cbbf5 Author: Thomas Gleixner Date: Thu Sep 4 15:18:59 2008 +0000 x86: TSC make the calibration loop smarter The last changes made the calibration loop 250ms long which is far too much. Try to do that more clever. Experiments have shown that using a 10ms delay for the PIT based calibration gives us a good enough value. If we have a reference (HPET/PMTIMER) and the result of the PIT and the reference is close enough, then we can break out of the calibration loop on a match right away and use the reference value. Otherwise we just loop 3 times and decide then, which value to take. One caveat is that for virtualized environments the PIT calibration often does not work at all and I found out that 10us is a bit too short as well for the reference to give a sane result. The solution here is to make the last loop longer when the first two PIT calibrations failed. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 827014be05e4515fa0dfc32e3100c4dab2070a98 Author: Thomas Gleixner Date: Thu Sep 4 15:18:53 2008 +0000 x86: TSC: use one set of reference variables Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit d683ef7afe8b6dbac6a3c681cef8a908357793ca Author: Thomas Gleixner Date: Thu Sep 4 15:18:48 2008 +0000 x86: TSC: separate hpet/pmtimer calculation out Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit cce3e057242d3d46fea07b9eb3910b0076419be5 Author: Thomas Gleixner Date: Thu Sep 4 15:18:44 2008 +0000 x86: TSC: define the PIT latch value separate Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 0ccd8c39bc664bf5e9fcc26caad50cc17ff866d1 Merge: 1625324... ec0c15a... Author: H. Peter Anvin Date: Thu Sep 4 08:09:09 2008 -0700 Merge branch 'linus' into x86/core commit 1625324d22409e32e3f8eb86018cad72e1c09d61 Author: Yinghai Lu Date: Wed Aug 27 23:01:16 2008 -0700 x86: move dir es7000 to es7000_32.c to be aligned with numaq, summit. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 7203781c98ad9147564d327de6f6513ad8fc0f4e Merge: 671eef8... af2e1f2... Author: H. Peter Anvin Date: Thu Sep 4 08:08:42 2008 -0700 Merge branch 'x86/cpu' into x86/core Conflicts: arch/x86/kernel/cpu/feature_names.c include/asm-x86/cpufeature.h commit 7f16a339787d45f997d67c1a4dea3c357f48e121 Author: H. Peter Anvin Date: Thu Sep 4 06:19:45 2008 -0700 x86: boot/compressed/Makefile: fix "make clean" The Kbuild variable "targets" is supposed to be configuration-independent and reflect "all possible targets". This is required to make "make clean" work properly. Therefore, move all manipulation of "targets" as well as custom rules out of the x86-32 ifdef statement. Only leave inside the ifdefs the things that are genuinely configuration-dependent. Signed-off-by: H. Peter Anvin commit 42390cdec5f6e6e2ee54f308474a6ef7dd16aa5c Merge: 11c231a... d210baf... Author: Ingo Molnar Date: Thu Sep 4 13:02:35 2008 +0200 Merge branch 'linus' into x86/x2apic Conflicts: arch/x86/kernel/cpu/cyrix.c include/asm-x86/cpufeature.h Signed-off-by: Ingo Molnar commit 7003609b3bdf0336c742974bd1ad2d82ffb3b043 Author: Cliff Cai Date: Wed Sep 3 10:54:36 2008 +0200 ALSA: add dummy function to support shared mmap in nommu Blackfin arch Cc: Mike Frysinger Signed-off-by: Cliff Cai Signed-off-by: Bryan Wu Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4dc429243d0ced7db475d826b4606c21cc28c325 Author: David Woodhouse Date: Mon Sep 1 14:10:03 2008 +0100 IA64: Use Signed-off-by: David Woodhouse commit a5e48a28d04f0078dbf850159f7c068864f24bb1 Author: David Woodhouse Date: Mon Sep 1 14:09:15 2008 +0100 ARM: Use Signed-off-by: David Woodhouse commit 92a7507926b0698711ed010288b57582776eec31 Author: David Woodhouse Date: Mon Sep 1 14:07:11 2008 +0100 Make suitable for 64-bit platforms. At the moment, 64-bit platforms (other than Alpha) are all redefining things for themselves instead of using . As is ARM, since it has special requirements w.r.t. padding. Make more generic, and they can use it directly. Signed-off-by: David Woodhouse commit aa7a7fb3990ffc74945494cbd2fc6e920825ee2c Author: David Woodhouse Date: Wed Sep 3 09:49:20 2008 +0100 Define and use PCI_DEVICE_ID_MARVELL_88ALP01_CCIC for CAFÉ camera driver Also, stop looking at the NAND controller (0x4100) and checking the device class. For a while during development, all three functions on the chip had the same ID. We made them fix that fairly promptly, and we can forget about it now. Signed-off-by: David Woodhouse Acked-by: Jonathan Corbet commit 514fca4373d28522c0709fcdd439fc9e1e257bb6 Author: David Woodhouse Date: Wed Sep 3 09:47:17 2008 +0100 [MTD] [NAND] Define and use PCI_DEVICE_ID_MARVELL_88ALP01_NAND for CAFÉ Signed-off-by: David Woodhouse commit 8c5eb880585a6fa278aa49553dd53a25e1ac319d Author: David Woodhouse Date: Wed Sep 3 09:45:57 2008 +0100 Use PCI_DEVICE_ID_88ALP01 for CAFÉ chip, rather than PCI_DEVICE_ID_CAFE. Probably better to use the official designation. Signed-off-by: David Woodhouse Acked-by: Pierre Ossman commit b7c9d8520564eca89da8733e5248c7ce8ee8e1b0 Author: Mark Brown Date: Mon Sep 1 18:47:04 2008 +0100 ALSA: ASoC: Don't suggest compile time selection of codec access Currently the boiler plate code used by most ASoC codecs to provide a placeholder for SPI access suggests making the selection of SPI a compile time option which is suboptimal when trying to build kernels supporting multiple systems. Change this template to suggest allowing runtime selection instead. Leave the drivers not yet converted to new style I2C access for now to avoid collisions. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d2a403553ba7659d85dae2a05b1f3767d2fefcfe Author: Cliff Cai Date: Mon Sep 1 18:47:03 2008 +0100 ALSA: ASoC: Add SPI support for WM8731 [Modified to allow runtime selection between I2C and SPI and to select SPI_MASTER for all codecs build so this is included. -- broonie] Signed-off-by: Cliff Cai Signed-off-by: Bryan Wu Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e5d3fd38f93755c5ab1e04b8e40196135f576355 Author: Jean Delvare Date: Mon Sep 1 18:47:02 2008 +0100 ALSA: ASoC: Convert wm8990 to a new-style i2c driver Convert the wm8990 codec driver to the new (standard) device driver binding model. After this change, WM8990 devices are no longer discovered automatically and must instead be instantiated explicitly. Signed-off-by: Jean Delvare Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 81297c8a4b3a8d6ba000a3bfff0fd7ce650e72aa Author: Jean Delvare Date: Mon Sep 1 18:47:01 2008 +0100 ALSA: ASoC: Convert wm8731 to a new-style i2c driver Convert the wm8731 codec driver to the new (standard) device driver binding model. Signed-off-by: Jean Delvare Tested-by: Manuel Lauss Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ee1d0099c1850a61790c9bde8b0d171852c45d24 Author: Jean Delvare Date: Mon Sep 1 18:47:00 2008 +0100 ALSA: ASoC: Convert wm8750 to a new-style i2c driver Convert the wm8750 codec driver to the new (standard) device driver binding model. Signed-off-by: Jean Delvare Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d28d271328a4bf391c8d5251e54618b794ee2b3a Author: Jean Delvare Date: Mon Sep 1 18:46:59 2008 +0100 ALSA: ASoC: Convert ak4535 to a new-style i2c driver Convert the ak4535 codec driver to the new (standard) device driver binding model. After this change, AK4535 devices are no longer discovered automatically and must instead be instantiated explicitly. Signed-off-by: Jean Delvare Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 88fc39d721c3e5d32fd57d682b80fe0626379efb Author: Jean Delvare Date: Mon Sep 1 18:46:58 2008 +0100 ALSA: ASoC: Convert uda1380 to a new-style i2c driver Convert the uda1380 codec driver to the new (standard) device driver binding model. Signed-off-by: Jean Delvare Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7f9e9d761486e969af553bc352598c348ae7e51e Author: Mark Brown Date: Mon Sep 1 18:46:57 2008 +0100 ALSA: ASoC: Make all codecs depend on rather than selecting I2C The I2C layer uses I/O operations that aren't available on all architectures and since select bypasses Kconfig dependency checking selecting I2C breaks builds like allmodconfig on some architectures. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c86a456b25695974ddba9833ab8e4f853bcdd995 Author: Takashi Iwai Date: Mon Sep 1 19:45:58 2008 +0200 ALSA: harmony - fix a typo Fix a typo in the patch to remove snd_assert(). Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 631e8ad428c45ba7ab34df91d1db6cb7bf74d526 Author: Takashi Iwai Date: Mon Sep 1 15:31:50 2008 +0200 ALSA: aaci - Fix NULL test at error path The original fix by Julien Brunel . aaci_init_card() returns a pointer with ERR_PTR(), but in aaci_init() NULL is supposed at this error path. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d695e4ea860fc1cbe1e4b101af4e0450219f2db9 Author: Takashi Iwai Date: Mon Sep 1 14:25:08 2008 +0200 ALSA: intel8x0 - use snd_pci_quirk for clock list Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 90f31e382b9bb4313327ab504874385654b501fe Author: Michael Kerrisk Date: Mon Sep 1 14:03:50 2008 +0200 ALSA: Documentation/sound/alsa/ALSA-Configuration.txt: fix typo As noted by Gu Rui in http://bugzilla.kernel.org/show_bug.cgi?id=11444, there is a typo in Documentation/sound/alsa/ALSA-Configuration.txt. After checking the source (sound/pci/hda/hda_intel.c), the report looks correct to me. Signed-off-by: Michael Kerrisk Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 2346d0cde544179a8d235375f1bfbca5c141a31b Author: Travis Place Date: Mon Sep 1 08:24:00 2008 +0200 ALSA: hda - Add model for Toshiba L305 laptop Added Subsystem IDs (0x1179, 0xff64) for the Toshiba Satellite L305 laptop, so it automatically uses the ALC268_TOSHIBA quirk. Signed-off-by: Travis Place Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b03671a826ba9873724164c6c96e82d0f9f5988d Author: Harvey Harrison Date: Fri Aug 29 13:32:00 2008 -0700 ALSA: ac97_patch make functions static Only used in ac97_codec by including ac97_patch.c directly, effectively static Found by sparse: sound/pci/ac97/ac97_patch.c:3551:5: warning: symbol 'patch_vt1617a' was not declared. Should it be static? sound/pci/ac97/ac97_patch.c:3767:5: warning: symbol 'patch_vt1618' was not declared. Should it be static? Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f4446ea046cf719a6d79449bb9175d50a64d963b Author: Takashi Iwai Date: Mon Sep 1 08:21:49 2008 +0200 ALSA: atiixp - Add PCI ID for SB600 (1002:4382) Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a6b936b956a2b70b6f49741403b5f8b90a8acc7f Author: Takashi Iwai Date: Fri Aug 29 16:17:25 2008 +0200 ALSA: ice1724 - limit channels for multi-channel playback Limit the available channels for multi-channel playback device to the real number of channels. Until now, always up to 8 channels are created, which are simply useless without the real outputs. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit eee75a6ca77a729c26258649abe992c15a6c76f6 Author: Vedran Miletic Date: Fri Aug 29 18:31:13 2008 +0200 ALSA: ice1724: Enable MIDI on TerraTec PHASE 22 and PHASE 28 Even though MIDI was fixed on ice1724 chips a while ago, it wasn't yet enabled for some cards as it didn't get enough testing. This was tested with MIDI keyboard on PHASE 22 and with looping back output to input and it works stable, so it's safe to enable it. Besides this, there are some more minor fixes, not exactly user visible: * added info about PHASE 28 (collected, as I don't have a card) * added info about TS22PCI and new revisions of PHASE 22 * disable 192k on PHASE 22 as AK4524 I2S doesn't support it * enable SPDIF reciever on PHASE 22 Signed-off-by: Vedran Miletic Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c1805dddc9fbd65e831963f671bfb79384e8b3b8 Author: Maximilian Rehkopf Date: Fri Aug 29 14:11:10 2008 +0200 ALSA: ice1724: enable MIDI on Terratec Aureon 7.1 Universe This enables MIDI on Terratec Aureon 7.1 Universe cards specifically. Apparently the other envy24ht-based Aureon cards do not have MIDI ports, hence I added a Universe specific eeprom array. The newer cards (Aureon 7.1 PCI / 5.1 PCI/Fun) have MIDI but use a CMI DSP so this driver does not concern them at all. Signed-off-by: Maximilian Rehkopf Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a3cbdde8e9c38b66b4f13ac5d6ff1939ded0ff20 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp ccid-3: Preventing Oscillations This implements [RFC 3448, 4.5], which performs congestion avoidance behaviour by reducing the transmit rate as the queueing delay (measured in terms of long-term RTT) increases. Oscillation can be turned on/off via a module option (do_osc_prev) and via sysfs (using mode 0644), the default is off. Overflow analysis: ------------------ * oscillation prevention is done after update_x(), so that t_ipi <= 64000; * hence the multiplication "t_ipi * sqrt(R_sample)" needs 64 bits; * done using u64 for sqrt_sample and explicit typecast of t_ipi; * the divisor, R_sqmean, is non-zero because oscillation prevention is first called when receiving the second feedback packet, and tfrc_scaled_rtt() > 0. A detailed discussion of the algorithm (with plots) is on http://www.erg.abdn.ac.uk/users/gerrit/dccp/notes/ccid3/sender_notes/oscillation_prevention/ The algorithm has negative side effects: * when allowing to decrease t_ipi (leads to a large RTT) and * when using it during slow-start; both uses are therefore disabled. Signed-off-by: Gerrit Renker commit 53ac9570c8145710aaed9e1eb850c2e991a4ebc1 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp ccid-3: Simplify computing and range-checking of t_ipi This patch simplifies the computation of t_ipi, avoiding expensive computations to enforce the minimum sending rate. Both RFC 3448 and rfc3448bis (revision #06), as well as RFC 4342 sec 5., require at various stages that at least one packet must be sent per t_mbi = 64 seconds. This requires frequent divisions of the type X_min = s/t_mbi, which are later converted back into an inter-packet-interval t_ipi_max = s/X_min = t_mbi. The patch removes the expensive indirection; in the unlikely case of having a sending rate less than one packet per 64 seconds, it also re-adjusts X. The following cases document conformance with RFC 3448 / rfc3448bis-06: 1) Time until receiving the first feedback packet: * if the sender has no initial RTT sample then X = s/1 Bps > s/t_mbi; * if the sender has an initial RTT sample or when the first feedback packet is received, X = W_init/R > s/t_mbi. 2) Slow-start (p == 0 and feedback packets come in): * RFC 3448 (current code) enforces a minimum of s/R > s/t_mbi; * rfc3448bis (future code) enforces an even higher minimum of W_init/R. 3) Congestion avoidance with no absence of feedback (p > 0): * when X_calc or X_recv/2 are too low, the minimum of X_min = s/t_mbi is enforced in update_x() when calling update_send_interval(); * update_send_interval() is, as before, only called when X changes (i.e. either when increasing or decreasing, not when in equilibrium). 4) Reduction of X without prior feedback or during slow-start (p==0): * both RFC 3448 and rfc3448bis here halve X directly; * the associated constraint X >= s/t_mbi is nforced here by send_interval(). 5) Reduction of X when p > 0: * X is modified indirectly via X_recv (RFC 3448) or X_recv_set (rfc3448bis); * in both cases, control goes back to section 4.3 (in both documents); * since p > 0, both documents use X = max(min(...), s/t_mbi), which is enforced in this patch by calling send_interval() from update_x(). I think that this analysis is exhaustive. Should I have forgotten a case, the worst-case consideration arises when X sinks below s/t_mbi, and is then increased back up to this minimum value. Even under this assumption, the behaviour is correct, since all lower limits of X in RFC 3448 / rfc3448bis are either equal to or greater than s/t_mbi. Note on the condition X >= s/t_mbi <==> t_ipi = s/X <= t_mbi: since X is scaled by 64, and all time units are in microseconds, the coded condition is: t_ipi = s * 64 * 10^6 usec / X <= 64 * 10^6 usec This simplifies to s / X <= 1 second <==> X * 1 second >= s > 0. (A zero `s' is not allowed by the CCID-3 code). Signed-off-by: Gerrit Renker commit c8f41d50adc380bfb38538ce39ca0ffea5926221 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp ccid-3: Measuring the packet size s with regard to rfc3448bis-06 rfc3448bis allows three different ways of tracking the packet size `s': 1. using the MSS/MPS (at initialisation, 4.2, and in 4.1 (1)); 2. using the average of `s' (in 4.1); 3. using the maximum of `s' (in 4.2). Instead of hard-coding a single interpretation of rfc3448bis, this implements a choice of all three alternatives and suggests the first as default, since it is the option which is most consistent with other parts of the specification. The patch further deprecates the update of t_ipi whenever `s' changes. The gains of doing this are only small since a change of s takes effect at the next instant X is updated: * when the next feedback comes in (within one RTT or less); * when the nofeedback timer expires (within at most 4 RTTs). Further, there are complications caused by updating t_ipi whenever s changes: * if t_ipi had previously been updated to effect oscillation prevention (4.5), then it is impossible to make the same adjustment to t_ipi again, thus counter-acting the algorithm; * s may be updated any time and a modification of t_ipi depends on the current state (e.g. no oscillation prevention is done in the absence of feedback); * in rev-06 of rfc3448bis, there are more possible cases, depending on whether the sender is in slow-start (t_ipi <= R/W_init), or in congestion-avoidance, limited by X_recv or the throughput equation (t_ipi <= t_mbi). Thus there are side effects of always updating t_ipi as s changes. These may not be desirable. The only case I can think of where such an update makes sense is to recompute X_calc when p > 0 and when s changes (not done by this patch). Signed-off-by: Gerrit Renker commit 891e4d8a402427bc40dee4c8413213a584710372 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp ccid-3: Tidy up CCID-Kconfig dependencies The per-CCID menu has several dependencies on EXPERIMENTAL. These are redundant, since net/dccp/ccids/Kconfig is sourced by net/dccp/Kconfig and since the latter menu in turn asserts a dependency on EXPERIMENTAL. The patch removes the redundant dependencies as well as the repeated reference within the sub-menu. Further changes: ---------------- Two single dependencies on CCID-3 are replaced with a single enclosing `if'. Signed-off-by: Gerrit Renker commit 9d497a2c9120e31ff417e75f9f5576c4cde11281 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp ccid-3: Implement rfc3448bis change to initial-rate computation The patch updates CCID-3 with regard to the latest rfc3448bis-06: * in the first revisions of the draft, MSS was used for the RFC 3390 window; * then (from revision #1 to revision #2), it used the packet size `s'; * now, in this revision (and apparently final), the value is back to MSS. This change has an implication for the case when no RTT sample is available, at the time of sending the first packet: * with RTT sample, 2*MSS/RTT <= initial_rate <= 4*MSS/RTT; * without RTT sample, the initial rate is one packet (s bytes) per second (sec. 4.2), but using s instead of MSS here creates an imbalance, since this would further reduce the initial sending rate. Hence the patch uses MSS (called MPS in RFC 4340) in all places. Signed-off-by: Gerrit Renker commit 88e97a93342c0b9e835d510921e7b2df8547d1bd Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp ccid-3: Update the RX history records in one place This patch is a requirement for enabling ECN support later on. With that change in mind, the following preparations are done: * renamed handle_loss() into congestion_event() since it returns true when a congestion event happens (it will eventually also take care of ECN packets); * lets tfrc_rx_congestion_event() always update the RX history records, since this routine needs to be called for each non-duplicate packet anyway; * made all involved boolean-type functions to have return type `bool'; Updating the RX history records is now only necessary for the packets received up to sending the first feedback. The receiver code becomes again simpler. Signed-off-by: Gerrit Renker commit 68c89ee53571a441799c03d5e240c6441bced620 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp ccid-3: Update the computation of X_recv This updates the computation of X_recv with regard to Errata 610/611 for RFC 4342 and draft rfc3448bis-06, ensuring that at least an interval of 1 RTT is used to compute X_recv. The change is wrapped into a new function ccid3_hc_rx_x_recv(). Further changes: ---------------- * feedback is not sent when no data packets arrived (bytes_recv == 0), as per rfc3448bis-06, 6.2; * take the timestamp for the feedback /after/ dccp_send_ack() returns, to avoid taking the transmission time into account (in case layer-2 is busy); * clearer handling of failure in ccid3_first_li(). Signed-off-by: Gerrit Renker commit 22338f09bd60434a3f1d6608f0fa55972067985f Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp tfrc: Increase number of RTT samples This improves the receiver RTT sampling algorithm so that it tries harder to get as many RTT samples as possible. The algorithm is based the concepts presented in RFC 4340, 8.1, using timestamps and the CCVal window counter. There exist 4 cases for the CCVal difference: * == 0: less than RTT/4 passed since last packet -- unusable; * > 4: (much) more than 1 RTT has passed since last packet -- also unusable; * == 4: perfect sample (exactly one RTT has passed since last packet); * 1..3: sub-optimal sample (between RTT/4 and 3*RTT/4 has passed). In the last case the algorithm tried to optimise by storing away the candidate and then re-trying next time. The problem is that * a large number of samples is needed to smooth out the inaccuracies of the algorithm; * the sender may not be sending enough packets to warrant a "next time"; * hence it is better to use suboptimal samples whenever possible. The algorithm now stores away the current sample only if the difference is 0. Applicability and background ---------------------------- A realistic example is MP3 streaming where packets are sent at a rate of less than one packet per RTT, which means that suitable samples are absent for a very long time. The effectiveness of using suboptimal samples (with a delta between 1 and 4) was confirmed by instrumenting the algorithm with counters. The results of two 20 second test runs were: * With the old algorithm and a total of 38442 function calls, only 394 of these calls resulted in usable RTT samples (about 1%), and 378 out of these were "perfect" samples and 28013 (unused) samples had a delta of 1..3. * With the new algorithm and a total of 37057 function calls, 1702 usable RTT samples were retrieved (about 4.6%), 5 out of these were "perfect" samples. Signed-off-by: Gerrit Renker commit 49ffc29a0223adbe0ea7005eea3ab2a03abbeb06 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Clamping RTT values This extracts the clamping part of dccp_sample_rtt() and makes it available to other parts of the code (as e.g. used in the next patch). Note: The function dccp_sample_rtt() now reduces to subtracting the elapsed time. This could be eliminated but would require shorter prefixes and thus is not done by this patch - maybe an idea for later. Signed-off-by: Gerrit Renker commit 2b81143aa3505e2460b24b357996c2f21840ea58 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp ccid-3: Always perform receiver RTT sampling This updates the CCID-3 receiver in part with regard to errata 610 and 611 (http://www.rfc-editor.org/errata_list.php), which change RFC 4342 to use the Receive Rate as specified in rfc3448bis, requiring to constantly sample the RTT (or use a sender RTT). Doing this requires reusing the RX history structure after dealing with a loss. The patch does not resolve how to compute X_recv if the interval is less than 1 RTT. A FIXME has been added (and is resolved in subsequent patch). Furthermore, since this is all TFRC-based functionality, the RTT estimation is now also performed by the dccp_tfrc_lib module. This further simplifies the CCID-3 code. Signed-off-by: Gerrit Renker commit 2f3e3bbad917c426d3aba03a535809e5699de156 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp ccid-3: Remove duplicate RX states The only state information that the CCID-3 receiver keeps is whether initial feedback has been sent or not. Further, this overlaps with use of feedback: * state == TFRC_RSTATE_NO_DATA as long as no feedback has been sent; * state == TFRC_RSTATE_DATA as soon as the first feedback has been sent. This patch reduces the duplication, by memorising the type of the last feedback. Signed-off-by: Gerrit Renker commit 34a081be8e14b7ada70e069b65b05d54db4af497 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp tfrc: Let dccp_tfrc_lib do the sampling work This migrates more TFRC-related code into the dccp_tfrc_lib: * sampling of the packet size `s' (which is only needed until the first loss interval is computed (ccid3_first_li)); * updating the byte-counter `bytes_recvd' in between sending feedbacks. The result is a better separation of CCID-3 specific and TFRC specific code, which aids future integration with ECN and e.g. CCID-4. Further changes: ---------------- * replaced magic number of 536 with equivalent constant TCP_MIN_RCVMSS; (this constant is also used when no estimate for `s' is available). Signed-off-by: Gerrit Renker commit 3ca7aea04152255bb65275b0018d3c673bc1f4e7 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp tfrc: Return type of update_i_mean is void This changes the return type of tfrc_lh_update_i_mean() to void, since that function returns always `false'. This is due to len = dccp_delta_seqno(cur->li_seqno, DCCP_SKB_CB(skb)->dccpd_seq) + 1; if (len - (s64)cur->li_length <= 0) /* duplicate or reordered */ return 0; which means that update_i_mean can only increase the length of the open loss interval I_0, and hence the value of I_tot0 (RFC 3448, 5.4). Consequently the test `i_mean < old_i_mean' at the end of the function always evaluates to false. There is no known way by which a loss interval can suddenly become shorter, therefore the return type of the function is changed to void. (That is, under the given circumstances step (3) in RFC 3448, 6.1 will not occur.) Further changes: ---------------- * the function is now called from tfrc_rx_handle_loss, which is equivalent to the previous way of calling from rx_packet_recv (it was called whenever there was no new or pending loss, now it is also updated when there is a pending loss - this increases the accuracy a bit); * added a FIXME to possibly consider NDP counting as per RFC 4342 (this is not implemented yet). Signed-off-by: Gerrit Renker commit d20ed95f8bf3d98d31dbbab8b00bb4c1a4a140f3 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp tfrc: Perform early loss detection This enables the TFRC code to begin loss detection (as soon as the module is loaded), using the latest updates from rfc3448bis-06, 6.3.1: * when the first data packet(s) are lost or marked, set * X_target = s/(2*R) => f(p) = s/(R * X_target) = 2, * corresponding to a loss rate of ~ 20.64%. The handle_loss() function is now called right at the begin of rx_packet_recv() and thus no longer protected against duplicates: hence a call to rx_duplicate() has been added. Such a call makes sense now, as the previous patch initialises the first entry with a sequence number of GSR. Signed-off-by: Gerrit Renker commit 24b8d343215919c7a2ba18b9f89a0961e1459cad Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp tfrc: Receiver history initialisation routine This patch 1) separates history allocation and initialisation, to facilitate early loss detection (implemented by a subsequent patch); 2) removes duplication by using the existing tfrc_rx_hist_purge() if the allocation fails. This is now possible, since the initialisation routine 3) zeroes out the entire history before using it. Signed-off-by: Gerrit Renker commit 8b67ad12b04ef7bdf5d2b4de24fe5a609b26cf12 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp tfrc: Suppress unavoidable "below resolution" warning In the congestion-avoidance phase a decay of p towards 0 is natural once fewer losses are encountered. Hence the warning message "p is below resolution" is not necessary, and thus turned into a debug message by this patch. The TFRC_SMALLEST_P is needed since in theory p never actually reaches 0. When no further losses are encountered, the loss interval I_0 grows in length, causing p to decrease towards 0, causing X_calc = s/(RTT * f(p)) to increase. With the given minimum-resolution this congestion avoidance phase stops at some fixed value, an approximation formula has been added to the documentation. Signed-off-by: Gerrit Renker commit d0c05fe4448db5cbdd886186860581f736f59ae9 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp ccid-3: Simplified handling of TX states Since CCIDs are only used during the established phase of a connection, they have very little internal state; this specifically reduces to: * "no packet sent" if and only if s == 0, for the TX packet size s; * when the first packet has been sent (i.e. `s' > 0), the question is whether or not feedback has been received: - if a feedback packet is received, "feedback = yes" is set, - if the nofeedback timer expires, "feedback = no" is set. Thus the CCID only needs to remember state about whether or not feedback has been received. This is now implemented using a boolean flag, which is toggled when a feedback packet arrives or the nofeedback timer expires. Signed-off-by: Gerrit Renker commit f76fd327a8b32d3ad5b51639faf6f54d18be0981 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp ccid-3: Runtime verification of timer resolution The DCCP base time resolution is 10 microseconds (RFC 4340, 13.1 ... 13.3). Using a timer with a lower resolution was found to trigger the following bug warnings/problems on high-speed networks (e.g. local loopback): * RTT samples are rounded down to 0 if below resolution; * in some cases, negative RTT samples were observed; * the CCID-3 feedback timer complains that the feedback interval is 0, since the feedback interval is in the order of 1 RTT or less and RTT measurement rounded this down to 0; On an Intel computer this will for instance happen when using a boot-time parameter of "clocksource=jiffies". The following system log messages were observed: 11:24:00 kernel: BUG: delta (0) <= 0 at ccid3_hc_rx_send_feedback() 11:26:12 kernel: BUG: delta (0) <= 0 at ccid3_hc_rx_send_feedback() 11:26:30 kernel: dccp_sample_rtt: unusable RTT sample 0, using min 11:26:30 last message repeated 5 times This patch defines a global constant for the time resolution, adds this in timer.c, and checks the available clock resolution at CCID-3 module load time. When the resolution is worse than 10 microseconds, module loading exits with a message "socket type not supported". Signed-off-by: Gerrit Renker commit 7d1af6a8d935678248d057564e75e1452409a53c Author: Tomasz Grobelny Date: Thu Sep 4 07:30:19 2008 +0200 dccp qpolicy: Parameter checking of cmsg qpolicy parameters Ensure that cmsg->cmsg_type value is valid for qpolicy that is currently in use. Signed-off-by: Tomasz Grobelny Signed-off-by: Gerrit Renker commit d6da3511d6b558d0b017777b61dc08b8fbc06ea4 Author: Tomasz Grobelny Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Policy-based packet dequeueing infrastructure This patch adds a generic infrastructure for policy-based dequeueing of TX packets and provides two policies: * a simple FIFO policy (which is the default) and * a priority based policy (set via socket options). Both policies honour the tx_qlen sysctl for the maximum size of the write queue (can be overridden via socket options). The priority policy uses skb->priority internally to assign an u32 priority identifier, using the same ranking as SO_PRIORITY. The skb->priority field is set to 0 when the packet leaves DCCP. The priority is supplied as ancillary data using cmsg(3), the patch also provides the requisite parsing routines. Signed-off-by: Tomasz Grobelny Signed-off-by: Gerrit Renker commit ddab05568eaa70fc92b2aae957136f188f724e9c Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Clean up slow-path input processing This patch rearranges the order of statements of the slow-path input processing (i.e. any other state than OPEN), to resolve the following issues. 1. Dependencies: the order of statements now better matches RFC 4340, 8.5, i.e. step 7 is before step 9 (previously 9 was before 7), and parsing options in step 8 (which can consume resources) now comes after step 7. 2. Bug-fix: in state CLOSED, there should not be any sequence number checking or option processing. This is why the test for CLOSED has been moved after the test for LISTEN. 3. As before sequence number checks are omitted if in state LISTEN/REQUEST, due to the note underneath the table in RFC 4340, 7.5.3. 4. Packets are now passed on to Ack Vector / CCID processing only after - step 7 (receive unexpected packets), - step 9 (receive Reset), - step 13 (receive CloseReq), - step 14 (receive Close) and only if the state is PARTOPEN. This simplifies CCID processing: - in LISTEN/CLOSED the CCIDs are non-existent; - in RESPOND/REQUEST the CCIDs have not yet been negotiated; - in CLOSEREQ and active-CLOSING the node has already closed this socket; - in passive-CLOSING the client is waiting for its Reset. In the last case, RFC 4340, 8.3 leaves it open to ignore further incoming data, which is the approach taken here. As a result of (3), CCID processing is now indeed confined to OPEN/PARTOPEN states, i.e. congestion control is performed only on the flow of data packets. This avoids pathological cases of doing congestion control on those messages which set up and terminate the connection. I have done a few checks to see if this creates a problem in other parts of the code. This seems not to be the case; even if there were one, it would be better to fix it than to perform congestion control on Close/Request/Response messages. Similarly for Ack Vectors (as they depend on the negotiated CCID). Signed-off-by: Gerrit Renker commit 6224877b2ca4be5de96270a8ae490fe2ba11b0e0 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 tcp/dccp: Consolidate common code for RFC 3390 conversion This patch consolidates the code common to TCP and CCID-2: * TCP uses RFC 3390 in a packet-oriented manner (tcp_input.c) and * CCID-2 uses RFC 3390 in packet-oriented manner (RFC 4341). Signed-off-by: Gerrit Renker commit b25b0c60b0c39a82bc651aeb6443bcb36cd17f76 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Combine the functionality of enqeueing and cloning Realising the following call pattern, * first dccp_entail() is called to enqueue a new skb and * then skb_clone() is called to transmit a clone of that skb, this patch integrates both interrelated steps into dccp_entail(). Note: the return value of skb_clone is not checked. It may be an idea to add a warning if this occurs. In both instances, however, a timer is set for retransmission, so that cloning is re-tried via dccp_retransmit_skb(). Signed-off-by: Gerrit Renker commit 20bbd0f75ee4b72c1dafc8e5fb6ad39ba506a75c Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp ccid-2: Remove wrappers around sk_{reset,stop}_timer() This removes the wrappers around the sk timer functions as it makes the code clearer and not much is gained from using wrappers: the BUG_ON in start_rto_timer will never trigger since that function was called only when * the RTO timer expired (rto_expire, and then timer_pending() is false); * in tx_packet_sent only if !timer_pending() (BUG_ON is redundant here); * previously in new_ack, after stopping the timer (timer_pending() false). One further motive behind this patch is to replace the RTO timer with the icsk retransmission timer, as it is already part of the DCCP socket. Signed-off-by: Gerrit Renker commit 1435562d7e0412e4885b661843f69859013f9d25 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp ccid-2: Replace broken RTT estimator with better algorithm The current CCID-2 RTT estimator code is in parts broken and lags behind the suggestions in RFC2988 of using scaled variants for SRTT/RTTVAR. That code is replaced by the present patch, which reuses the Linux TCP RTT estimator code - reasons for this code duplication are given below. Further details: ---------------- 1. The minimum RTO of previously one second has been replaced with TCP's, since RFC4341, sec. 5 says that the minimum of 1 sec. (suggested in RFC2988, 2.4) is not necessary. Instead, the TCP_RTO_MIN is used, which agrees with DCCP's concept of a default RTT (RFC 4340, 3.4). 2. The maximum RTO has been set to DCCP_RTO_MAX (64 sec), which agrees with RFC2988, (2.5). 3. De-inlined the function ccid2_new_ack(). 4. Added a FIXME: the RTT is sampled several times per Ack Vector, which will give the wrong estimate. It should be replaced with one sample per Ack. However, at the moment this can not be resolved easily, since - it depends on TX history code (which also needs some work), - the cleanest solution is not to use the `sent' time at all (saves 4 bytes per entry) and use DCCP timestamps / elapsed time to estimated the RTT, which however is non-trivial to get right (but needs to be done). Reasons for reusing the Linux TCP estimator algorithm: ------------------------------------------------------ Some time was spent to find a better alternative, using basic RFC2988 as a first step. Further analysis and experimentation showed that the Linux TCP RTO estimator is superior to a basic RFC2988 implementation. A summary is on http://www.erg.abdn.ac.uk/users/gerrit/dccp/notes/ccid2/rto_estimator/ In addition, this estimator fared well in a recent empirical evaluation: Rewaskar, Sushant, Jasleen Kaur and F. Donelson Smith. A Performance Study of Loss Detection/Recovery in Real-world TCP Implementations. Proceedings of 15th IEEE International Conference on Network Protocols (ICNP-07). 2007. Thus there is significant benefit in reusing the existing TCP code. Signed-off-by: Gerrit Renker commit e9803c0104564698d3b8e84ccdb0b8b0e65427e2 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp ccid-2: Simplify dec_pipe and rearming of RTO timer This removes the dec_pipe function and improves the way the RTO timer is rearmed when a new acknowledgment comes in. Details and justification for removal: -------------------------------------- 1) The BUG_ON in dec_pipe is never triggered: pipe is only decremented for TX history entries between tail and head, for which it had previously been incremented in tx_packet_sent; and it is not decremented twice for the same entry, since it is - either decremented when a corresponding Ack Vector cell in state 0 or 1 was received (and then ccid2s_acked==1), - or it is decremented when ccid2s_acked==0, as part of the loss detection in tx_packet_recv (and hence it can not have been decremented earlier). 2) Restarting the RTO timer happens for every single entry in each Ack Vector parsed by tx_packet_recv (according to RFC 4340, 11.4 this can happen up to 16192 times per Ack Vector). 3) The RTO timer should not be restarted when all outstanding data has been acknowledged. This is currently done similar to (2), in dec_pipe, when pipe has reached 0. The patch onsolidates the code which rearms the RTO timer, combining the segments from new_ack and dec_pipe. As a result, the code becomes clearer (compare with tcp_rearm_rto()). Signed-off-by: Gerrit Renker commit c6f0f2e71f3088a0f05502d6adb0f667b84028c3 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp ccid-2: Remove redundant sanity tests This removes the ccid2_hc_tx_check_sanity function: it is redundant. Details: ======== The tx_check_sanity function performs three tests: 1) it checks that the circular TX list is sorted - in ascending order of sequence number (ccid2s_seq) - and time (ccid2s_sent), - in the direction from `tail' (hctx_seqt) to `head' (hctx_seqh); 2) it ensures that the entire list has the length seqbufc * CCID2_SEQBUF_LEN; 3) it ensures that pipe equals the number of packets that were not marked `acked' (ccid2s_acked) between `tail' and `head'. The following argues that each of these tests is redundant, this can be verified by going through the code. (1) is not necessary, since both time and GSS increase from one packet to the next, so that subsequent insertions in tx_packet_sent (which advance the `head' pointer) will be in ascending order of time and sequence number. In (2), the length of the list is always equal to seqbufc times CCID2_SEQBUF_LEN (set to 1024) unless allocation caused an earlier failure, because: * at initialisation (tx_init), there is one chunk of size 1024 and seqbufc=1; * subsequent calls to tx_alloc_seq take place whenever head->next == tail in tx_packet_sent; then a new chunk of size 1024 is inserted between head and tail, and seqbufc is incremented by one. To show that (3) is redundant requires looking at two cases. The `pipe' variable of the TX socket is incremented only in tx_packet_sent, and decremented in tx_packet_recv. When head == tail (TX history empty) then pipe should be 0, which is the case directly after initialisation and after a retransmission timeout has occurred (ccid2_hc_tx_rto_expire). The first case involves parsing Ack Vectors for packets recorded in the live portion of the buffer, between tail and head. For each packet marked by the receiver as received (state 0) or ECN-marked (state 1), pipe is decremented by one, so for all such packets the BUG_ON in tx_check_sanity will not trigger. The second case is the loss detection in the second half of tx_packet_recv, below the comment "Check for NUMDUPACK". The first while-loop here ensures that the sequence number of `seqp' is either above or equal to `high_ack', or otherwise equal to the highest sequence number sent so far (of the entry head->prev, as head points to the next unsent entry). The next while-loop ("while (1)") counts the number of acked packets starting from that position of seqp, going backwards in the direction from head->prev to tail. If NUMDUPACK=3 such packets were counted within this loop, `seqp' points to the last acknowledged packet of these, and the "if (done == NUMDUPACK)" block is entered next. The while-loop contained within that block in turn traverses the list backwards, from head to tail; the position of `seqp' is saved in the variable `last_acked'. For each packet not marked as `acked', a congestion event is triggered within the loop, and pipe is decremented. The loop terminates when `seqp' has reached `tail', whereupon tail is set to the position previously stored in `last_acked'. Thus, between `last_acked' and the previous position of `tail', - pipe has been decremented earlier if the packet was marked as state 0 or 1; - pipe was decremented if the packet was not marked as acked. That is, pipe has been decremented by the number of packets between `last_acked' and the previous position of `tail'. As a consequence, pipe now again reflects the number of packets which have not (yet) been acked between the new position of tail (at `last_acked') and head->prev, or 0 if head==tail. The result is that the BUG_ON condition in check_sanity will also not be triggered, hence the test (3) is also redundant. Signed-off-by: Gerrit Renker commit 83337dae6ca94d801b6700600244865cd694205b Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp ccid-2: Stop polling This updates CCID2 to use the CCID dequeuing mechanism, converting from previous constant-polling to a now event-driven mechanism. Signed-off-by: Gerrit Renker commit 146993cf5174472644ed11bd5fb539f0af8bfa49 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Refine the wait-for-ccid mechanism This extends the existing wait-for-ccid routine so that it may be used with different types of CCID. It further addresses the problems listed below. The code looks if the write queue is non-empty and grants the TX CCID up to `timeout' jiffies to drain the queue. It will instead purge that queue if * the delay suggested by the CCID exceeds the time budget; * a socket error occurred while waiting for the CCID; * there is a signal pending (eg. annoyed user pressed Control-C); * the CCID does not support delays (we don't know how long it will take). D e t a i l s [can be removed] ------------------------------- DCCP's sending mechanism functions a bit like non-blocking I/O: dccp_sendmsg() will enqueue up to net.dccp.default.tx_qlen packets (default=5), without waiting for them to be released to the network. Rate-based CCIDs, such as CCID3/4, can impose sending delays of up to maximally 64 seconds (t_mbi in RFC 3448). Hence the write queue may still contain packets when the application closes. Since the write queue is congestion-controlled by the CCID, draining the queue is also under control of the CCID. There are several problems that needed to be addressed: 1) The queue-drain mechanism only works with rate-based CCIDs. If CCID2 for example has a full TX queue and becomes network-limited just as the application wants to close, then waiting for CCID2 to become unblocked could lead to an indefinite delay (i.e., application "hangs"). 2) Since each TX CCID in turn uses a feedback mechanism, there may be changes in its sending policy while the queue is being drained. This can lead to further delays during which the application will not be able to terminate. 3) The minimum wait time for CCID3/4 can be expected to be the queue length times the current inter-packet delay. For example if tx_qlen=100 and a delay of 15 ms is used for each packet, then the application would have to wait for a minimum of 1.5 seconds before being allowed to exit. 4) There is no way for the user/application to control this behaviour. It would be good to use the timeout argument of dccp_close() as an upper bound. Then the maximum time that an application is willing to wait for its CCIDs to can be set via the SO_LINGER option. These problems are addressed by giving the CCID a grace period of up to the `timeout' value. The wait-for-ccid function is, as before, used when the application (a) has read all the data in its receive buffer and (b) if SO_LINGER was set with a non-zero linger time, or (c) the socket is either in the OPEN (active close) or in the PASSIVE_CLOSEREQ state (client application closes after receiving CloseReq). In addition, there is a catch-all case by calling __skb_queue_purge() after waiting for the CCID. This is necessary since the write queue may still have data when (a) the host has been passively-closed, (b) abnormal termination (unread data, zero linger time), (c) wait-for-ccid could not finish within the given time limit. Signed-off-by: Gerrit Renker commit e7937772d7a2b0127cc4cbc67bc594e139fdaf63 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Extend CCID packet dequeueing interface This extends the packet dequeuing interface of dccp_write_xmit() to allow 1. CCIDs to take care of timing when the next packet may be sent; 2. delayed sending (as before, with an inter-packet gap up to 65.535 seconds). The main purpose is to take CCID2 out of its polling mode (when it is network- limited, it tries every millisecond to send, without interruption). The interface can also be used to support other CCIDs. The mode of operation for (2) is as follows: * new packet is enqueued via dccp_sendmsg() => dccp_write_xmit(), * ccid_hc_tx_send_packet() detects that it may not send (e.g. window full), * it signals this condition via `CCID_PACKET_WILL_DEQUEUE_LATER', * dccp_write_xmit() returns without further action; * after some time the wait-condition for CCID becomes true, * that CCID schedules the tasklet, * tasklet function calls ccid_hc_tx_send_packet() via dccp_write_xmit(), * since the wait-condition is now true, ccid_hc_tx_packet() returns "send now", * packet is sent, and possibly more (since dccp_write_xmit() loops). Code reuse: the taskled function calls dccp_write_xmit(), the timer function reduces to a wrapper around the same code. If the tasklet finds that the socket is locked, it re-schedules the tasklet function (not the tasklet) after one jiffy. Changed DCCP_BUG to dccp_pr_debug when transmit_skb returns an error (e.g. when a local qdisc is used, NET_XMIT_DROP=1 can be returned for many packets). Signed-off-by: Gerrit Renker commit f4a66ca4d2ff093c0f9111b449a248ffb8209b4d Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Return-value convention of hc_tx_send_packet() This patch reorganises the return value convention of the CCID TX sending function, to permit more flexible schemes, as required by subsequent patches. Currently the convention is * values < 0 mean error, * a value == 0 means "send now", and * a value x > 0 means "send in x milliseconds". The patch provides symbolic constants and a function to interpret return values. In addition, it caps the maximum positive return value to 0xFFFF milliseconds, corresponding to 65.535 seconds. This is possible since in CCID-3 the maximum inter-packet gap is t_mbi = 64 sec. Signed-off-by: Gerrit Renker commit c8bf462bc567c3dcb083ff95cc13060dd06f138c Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp ccid-2: Separate option parsing from CCID processing This patch replaces an almost identical replication of code: large parts of dccp_parse_options() re-appeared as ccid2_ackvector() in ccid2.c. Apart from the duplication, this caused two more problems: 1. CCIDs should not need to be concerned with parsing header options; 2. one can not assume that Ack Vectors appear as a contiguous area within an skb, it is legal to insert other options and/or padding in between. The current code would throw an error and stop reading in such a case. The patch provides a new data structure and associated list housekeeping. Only small changes were necessary to integrate with CCID-2: data structure initialisation, adapt list traversal routine, and add call to the provided cleanup routine. The latter also lead to fixing the following BUG: CCID-2 so far ignored Ack Vectors on all packets other than Ack/DataAck, which is incorrect, since Ack Vectors can be present on any packet that has an Ack field. Details: -------- * received Ack Vectors are parsed by dccp_parse_options() alone, which passes the result on to the CCID-specific routine ccid_hc_tx_parse_options(); * CCIDs interested in using/decoding Ack Vector information will add code to fetch parsed Ack Vectors via this interface; * a data structure, `struct dccp_ackvec_parsed' is provided as interface; * this structure arranges Ack Vectors of the same skb into a FIFO order; * a doubly-linked list is used to keep the required FIFO code small. Signed-off-by: Gerrit Renker commit 5a577b488f687f339dea62e7bb4f4c5793ad523f Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp ccid-2: Remove old infrastructure This removes * functions for which updates have been provided in the preceding patches and * the @av_vec_len field - it is no longer necessary since the buffer length is now always computed dynamically; * conditional debugging code (CONFIG_IP_DCCP_ACKVEC). The reason for removing the conditional debugging code is that Ack Vectors are an almost inevitable necessity - RFC 4341 says that for CCID-2, Ack Vectors must be used. Furthermore, the code would be only interesting for coding - after some extensive testing with this patch set, having the debug code around is no longer of real help. Signed-off-by: Gerrit Renker commit c2f42077bd06f300ae959204f3c007f820f5e769 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp ccid-2: Schedule Sync as out-of-band mechanism The problem with Ack Vectors is that i) their length is variable and can in principle grow quite large, ii) it is hard to predict exactly how large they will be. Due to the second point it seems not a good idea to reduce the MPS; in particular when on average there is enough room for the Ack Vector and an increase in length is momentarily due to some burst loss, after which the Ack Vector returns to its normal/average length. The solution taken by this patch is to subtract a minimum-expected Ack Vector length from the MPS (previous patch), and to defer any larger Ack Vectors onto a separate Sync - but only if indeed there is no space left on the skb. This patch provides the infrastructure to schedule Sync-packets for transporting (urgent) out-of-band data. Its signalling is quicker than scheduling an Ack, since it does not need to wait for new application data. It can thus serve other parts of the DCCP code as well. Signed-off-by: Gerrit Renker commit 283fb4a5f39d1521d53e1044bff0ba2654acf145 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp ccid-2: Consolidate Ack-Vector processing within main DCCP module This aggregates Ack Vector processing (handling input and clearing old state) into one function, for the following reasons and benefits: * all Ack Vector-specific processing is now in one place; * duplicated code is removed; * ensuring sanity: from an Ack Vector point of view, it is better to clear the old state first before entering new state; * Ack Event handling happens mostly within the CCIDs, not the main DCCP module. Signed-off-by: Gerrit Renker commit e28fe59f9c82ef55fc9b55e745531c9fed86f00a Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp ccid-2: Update code for the Ack Vector input/registration routine This patch uupdates the code which registers new packets as received, using the new circular buffer interface. It contributes a new algorithm which * supports both tail/head pointers and buffer wrap-around and * deals with overflow (head/tail move in lock-step). The updated code is also partioned differently, into 1. dealing with the empty buffer, 2. adding new packets into non-empty buffer, 3. reserving space when encountering a `hole' in the sequence space, 4. updating old state and deciding when old state is irrelevant. Protection against large burst losses: With regard to (3), it is too costly to reserve space when there are large bursts of losses. When bursts get too large, the code does no longer reserve space and just fills in cells normally. This measure reduces space consumption by a factor of 63. The code reuses in part the previous implementation by Arnaldo de Melo. Signed-off-by: Gerrit Renker commit 68b1de15765f2b0e0925e692dab2b2fa2abd93fc Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp ccid-2: Algorithm to update buffer state This provides a routine to consistently update the buffer state when the peer acknowledges receipt of Ack Vectors; updating state in the list of Ack Vectors as well as in the circular buffer. While based on RFC 4340, several additional (and necessary) precautions were added to protect the consistency of the buffer state. These additions are essential, since analysis and experience showed that the basic algorithm was insufficient for this task (which lead to problems that were hard to debug). The algorithm now * deals with HC-sender acknowledging to HC-receiver and vice versa, * keeps track of the last unacknowledged but received seqno in tail_ackno, * has special cases to reset the overflow condition when appropriate, * is protected against receiving older information (would mess up buffer state). Note: The older code performed an unnecessary step, where the sender cleared Ack Vector state by parsing the Ack Vector received by the HC-receiver. Doing this was entirely redundant, since * the receiver always puts the full acknowledgment window (groups 2,3 in 11.4.2) into the Ack Vectors it sends; hence the HC-receiver is only interested in the highest state that the HC-sender received; * this means that the acknowledgment number on the (Data)Ack from the HC-sender is sufficient; and work done in parsing earlier state is not necessary, since the later state subsumes the earlier one (see also RFC 4340, A.4). This older interface (dccp_ackvec_parse()) is therefore removed. Signed-off-by: Gerrit Renker commit d7dc7e5f49299739e610ea8febf9ea91a4dc1ae9 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp ccid-2: Implementation of circular Ack Vector buffer with overflow handling This completes the implementation of a circular buffer for Ack Vectors, by extending the current (linear array-based) implementation. The changes are: (a) An `overflow' flag to deal with the case of overflow. As before, dynamic growth of the buffer will not be supported; but code will be added to deal robustly with overflowing Ack Vector buffers. (b) A `tail_seqno' field. When naively implementing the algorithm of Appendix A in RFC 4340, problems arise whenever subsequent Ack Vector records overlap, which can bring the entire run length calculation completely out of synch. (This is documented on http://www.erg.abdn.ac.uk/users/gerrit/dccp/notes/\ ack_vectors/tracking_tail_ackno/ .) (c) The buffer lengthi is now computed dynamically (i.e. current fill level), as the span between head to tail. As a result, dccp_ackvec_pending() is now simpler - the #ifdef is no longer necessary since buf_empty is always true when IP_DCCP_ACKVEC is not configured. Note on overflow handling: ------------------------- The Ack Vector code previously simply started to drop packets when the Ack Vector buffer overflowed. This means that the userspace application will not be able to receive, only because of an Ack Vector storage problem. Furthermore, overflow may be transient, so that applications may later recover from the overflow. Recovering from dropped packets is more difficult (e.g. video key frames). Hence the patch uses a different policy: when the buffer overflows, the oldest entries are subsequently overwritten. This has a higher chance of recovery. Details are on http://www.erg.abdn.ac.uk/users/gerrit/dccp/notes/ack_vectors/ Signed-off-by: Gerrit Renker commit 4829007c7bc689cbc290fc09eccbe90bd52c2a5e Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp ccid-2: Separate internals of Ack Vectors from option-parsing code This patch * separates Ack Vector housekeeping code from option-insertion code; * shifts option-specific code from ackvec.c into options.c; * introduces a dedicated routine to take care of the Ack Vector records; * simplifies the dccp_ackvec_insert_avr() routine: the BUG_ON was redundant, since the list is automatically arranged in descending order of ack_seqno. Signed-off-by: Gerrit Renker commit ff49e27089ec363b7fc3849504e0435d447ab18a Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp ccid-2: Ack Vector interface clean-up This patch brings the Ack Vector interface up to date. Its main purpose is to lay the basis for the subsequent patches of this set, which will use the new data structure fields and routines. There are no real algorithmic changes, rather an adaptation: (1) Replaced the static Ack Vector size (2) with a #define so that it can be adapted (with low loss / Ack Ratio, a value of 1 works, so 2 seems to be sufficient for the moment) and added a solution so that computing the ECN nonce will continue to work - even with larger Ack Vectors. (2) Replaced the #defines for Ack Vector states with a complete enum. (3) Replaced #defines to compute Ack Vector length and state with general purpose routines (inlines), and updated code to use these. (4) Added a `tail' field (conversion to circular buffer in subsequent patch). (5) Updated the (outdated) documentation for Ack Vector struct. (6) All sequence number containers now trimmed to 48 bits. (7) Removal of unused bits: * removed dccpav_ack_nonce from struct dccp_ackvec, since this is already redundantly stored in the `dccpavr_ack_nonce' (of Ack Vector record); * removed Elapsed Time for Ack Vectors (it was nowhere used); * replaced semantics of dccpavr_sent_len with dccpavr_ack_runlen, since the code needs to be able to remember the old run length; * reduced the de-/allocation routines (redundant / duplicate tests). Justification for removing Elapsed Time information [can be removed]: --------------------------------------------------------------------- 1. The Elapsed Time information for Ack Vectors was nowhere used in the code. 2. DCCP does not implement rate-based pacing of acknowledgments. The only recommendation for always including Elapsed Time is in section 11.3 of RFC 4340: "Receivers that rate-pace acknowledgements SHOULD [...] include Elapsed Time options". But such is not the case here. 3. It does not really improve estimation accuracy. The Elapsed Time field only records the time between the arrival of the last acknowledgeable packet and the time the Ack Vector is sent out. Since Linux does not (yet) implement delayed Acks, the time difference will typically be small, since often the arrival of a data packet triggers sending feedback at the HC-receiver. Justification for changes in de-/allocation routines [can be removed]: ---------------------------------------------------------------------- * INIT_LIST_HEAD in dccp_ackvec_record_new was redundant, since the list pointers were later overwritten when the node was added via list_add(); * dccp_ackvec_record_new() was called in a single place only; * calls to list_del_init() before calling dccp_ackvec_record_delete() were redundant, since subsequently the entire element was k-freed; * since all calls to dccp_ackvec_record_delete() were preceded to a call to list_del_init(), the WARN_ON test would never evaluate to true; * since all calls to dccp_ackvec_record_delete() were made from within list_for_each_entry_safe(), the test for avr == NULL was redundant; * list_empty() in ackvec_free was redundant, since the same condition is embedded in the loop condition of the subsequent list_for_each_entry_safe(). Signed-off-by: Gerrit Renker commit b8c6bcee1dbc1aadcd67af998e414e73fa166a7d Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Reduce noise in output and convert to ktime_t This fixes the problem that dccp_probe output can grow quite large without apparent benefit (many identical data points), creating huge files (up to over one Gigabyte for a few minutes' test run) which are very hard to post-process (in one instance it got so bad that gnuplot ate up all memory plus swap). The cause for the problem is that the kprobe is inserted into dccp_sendmsg(), which can be called in a polling-mode (whenever the TX queue is full due to congestion-control issues, EAGAIN is returned). This creates many very similar data points, i.e. the increase of processing time does not increase the quality/information of the probe output. The fix is to attach the probe to a different function -- write_xmit was chosen since it gets called continually (both via userspace and timer); an input-path function would stop sampling as soon as the other end stops sending feedback. For comparison the output file sizes for the same 20 second test run over a lossy link: * before / without patch: 118 Megabytes * after / with patch: 1.2 Megabytes and there was much less noise in the output. To allow backward compatibility with scripts that people use, the now-unused `size' field in the output has been replaced with the CCID identifier. This also serves for future compatibility - support for CCID2 is work in progress (depends on the still unfinished SRTT/RTTVAR updates). While at it, the update to ktime_t was also performed. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald commit a9c1656ab10480cc6f6d34f193bcde2729fe8037 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Merge now-reduced connect_init() function After moving the assignment of GAR/ISS from dccp_connect_init() to dccp_transmit_skb(), the former function becomes very small, so that a merger with dccp_connect() suggests itself. Signed-off-by: Gerrit Renker commit bfbddd085a5bced6efb9e1bc4d029438f9639784 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Fix the adjustments to AWL and SWL This fixes a problem and a potential loophole with regard to seqno/ackno validity: the problem is that the initial adjustments to AWL/SWL were only performed at the begin of the connection, during the handshake. Since the Sequence Window feature is always greater than Wmin=32 (7.5.2), it is however necessary to perform these adjustments at least for the first W/W' (variables as per 7.5.1) packets in the lifetime of a connection. This requirement is complicated by the fact that W/W' can change at any time during the lifetime of a connection. Therefore the consequence is to perform this safety check each time SWL/AWL are updated. A second problem solved by this patch is that the remote/local Sequence Window feature values (which set the bounds for AWL/SWL/SWH) are undefined until the feature negotiation has completed. During the initial handshake we have more stringent sequence number protection, the changes added by this patch effect that {A,S}W{L,H} are within the correct bounds at the instant that feature negotiation completes (since the SeqWin feature activation handlers call dccp_update_gsr/gss()). A detailed rationale is below -- can be removed from the commit message. 1. Server sequence number checks during initial handshake --------------------------------------------------------- The server can not use the fields of the listening socket for seqno/ackno checks and thus needs to store all relevant information on a per-connection basis on the dccp_request socket. This is a size-constrained structure and has currently only ISS (dreq_iss) and ISR (dreq_isr) defined. Adding further fields (SW{L,H}, AW{L,H}) would increase the size of the struct and it is questionable whether this will have any practical gain. The currently implemented solution is as follows. * receiving first Request: dccp_v{4,6}_conn_request sets ISR := P.seqno, ISS := dccp_v{4,6}_init_sequence() * sending first Response: dccp_v{4,6}_send_response via dccp_make_response() sets P.seqno := ISS, sets P.ackno := ISR * receiving retransmitted Request: dccp_check_req() overrides ISR := P.seqno * answering retransmitted Request: dccp_make_response() sets ISS += 1, otherwise as per first Response * completing the handshake: succeeds in dccp_check_req() for the first Ack where P.ackno == ISS (P.seqno is not tested) * creating child socket: ISS, ISR are copied from the request_sock This solution will succeed whenever the server can receive the Request and the subsequent Ack in succession, without retransmissions. If there is packet loss, the client needs to retransmit until this condition succeeds; it will otherwise eventually give up. Adding further fields to the request_sock could increase the robustness a bit, in that it would make possible to let a reordered Ack (from a retransmitted Response) pass. The argument against such a solution is that if the packet loss is not persistent and an Ack gets through, why not wait for the one answering the original response: if the loss is persistent, it is probably better to not start the connection in the first place. Long story short: the present design (by Arnaldo) is simple and will likely work just as well as a more complicated solution. As a consequence, {A,S}W{L,H} are not needed until the moment the request_sock is cloned into the accept queue. At that stage feature negotiation has completed, so that the values for the local and remote Sequence Window feature (7.5.2) are known, i.e. we are now in a better position to compute {A,S}W{L,H}. 2. Client sequence number checks during initial handshake --------------------------------------------------------- Until entering PARTOPEN the client does not need the adjustments, since it constrains the Ack window to the packet it sent. * sending first Request: dccp_v{4,6}_connect() choose ISS, dccp_connect() then sets GAR := ISS (as per 8.5), dccp_transmit_skb() (with the previous bug fix) sets GSS := ISS, AWL := ISS, AWH := GSS * n-th retransmitted Request (with previous patch): dccp_retransmit_skb() via timer calls dccp_transmit_skb(), which sets GSS := ISS+n and then AWL := ISS, AWH := ISS+n * receiving any Response: dccp_rcv_request_sent_state_process() -- accepts packet if AWL <= P.ackno <= AWH; -- sets GSR = ISR = P.seqno * sending the Ack completing the handshake: dccp_send_ack() calls dccp_transmit_skb(), which sets GSS += 1 and AWL := ISS, AWH := GSS Signed-off-by: Gerrit Renker commit 2975abd251d795810932b20354729ba236d95bf9 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Schedule an Ack when receiving timestamps This schedules an Ack when receiving a timestamp, exploiting the existing inet_csk_schedule_ack() function, saving one case in the `dccp_ack_pending()' function. Signed-off-by: Gerrit Renker commit d0995e6a9e3328cdc76b4c45882dee118284f960 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp ccid-3: Remove dead states This patch is thanks to an investigation by Leandro Sales de Melo and his colleagues. They worked out two state diagrams which highlight the fact that the xxx_TERM states in CCID-3/4 are in fact not necessary. And this can be confirmed by in turn looking at the code: the xxx_TERM states are only ever set in ccid3_hc_{rx,tx}_exit(). These two functions are part of the following call chain: * ccid_hc_{tx,rx}_exit() are called from ccid_delete() only; * ccid_delete() invokes ccid_hc_{tx,rx}_exit() in the way of a destructor: after calling ccid_hc_{tx,rx}_exit(), the CCID is released from memory; * ccid_delete() is in turn called only by ccid_hc_{tx,rx}_delete(); * ccid_hc_{tx,rx}_delete() is called only if - feature negotiation failed (dccp_feat_activate_values()), - when changing the RX/TX CCID (to eject the current CCID), - when destroying the socket (in dccp_destroy_sock()). In other words, when CCID-3 sets the state to xxx_TERM, it is at a time where no more processing should be going on, hence it is not necessary to introduce a dedicated exit state - this is implicit when unloading the CCID. The patch removes this state, one switch-statement collapses as a result. Signed-off-by: Gerrit Renker commit 5fe94963a163fecc34b7b51bf2ca525f9f50d7bf Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp ccid-3: Remove duplicate documentation This removes RX-socket documentation which is either duplicate or non-existent. Signed-off-by: Gerrit Renker commit c506d91d9ab7681e058afcd750e9118c6cdaabc1 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Unused argument in CCID tx function This removes the argument `more' from ccid_hc_tx_packet_sent, since it was nowhere used in the entire code. (Anecdotally, this argument was not even used in the original KAME code where the function originally came from; compare the variable moreToSend in the freebsd61-dccp-kame-28.08.2006.patch now maintained by Emmanuel Lochin.) Signed-off-by: Gerrit Renker commit f10ecaee6dc2c6d56783462b2a82e98bc81b55f4 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Replace magic CCID-specific numbers by symbolic constants The constants DCCPO_{MIN,MAX}_CCID_SPECIFIC are nowhere used in the code, but instead for the CCID-specific options numbers are used. This patch unifies the use of CCID-specific option numbers, by adding symbolic names reflecting the definitions in RFC 4340, 10.3. Signed-off-by: Gerrit Renker commit ce177ae2e6b196659e93a9408cc1f5f13f206d13 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp ccid-3: Remove redundant 'options_received' struct The `options_received' struct is redundant, since it re-duplicates the existing `p' and `x_recv' fields. This patch removes the sub-struct and migrates the format conversion operations (cf. below) to ccid3_hc_tx_parse_options(). Why the fields are redundant ---------------------------- The Loss Event Rate p and the Receive Rate x_recv are initially 0 when first loading CCID-3, as ccid_new() zeroes out the entire ccid3_hc_tx_sock. When Loss Event Rate or Receive Rate options are received, they are stored by ccid3_hc_tx_parse_options() into the fields `ccid3or_loss_event_rate' and `ccid3or_receive_rate' of the sub-struct `options_received' in ccid3_hc_tx_sock. After parsing (considering only the established state - dccp_rcv_established()), the packet is passed on to ccid_hc_tx_packet_recv(). This calls the CCID-3 specific routine ccid3_hc_tx_packet_recv(), which performs the following copy operations between fields of ccid3_hc_tx_sock: * hctx->options_received.ccid3or_receive_rate is copied into hctx->x_recv, after scaling it for fixpoint arithmetic, by 2^64; * hctx->options_received.ccid3or_loss_event_rate is copied into hctx->p, considering the above special cases; in addition, a value of 0 here needs to be mapped into p=0 (when no Loss Event Rate option has been received yet). Signed-off-by: Gerrit Renker commit 535c55df136ad2783d444e54d518a8fae8bdbf79 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp tfrc/ccid-3: Computing Loss Rate from Loss Event Rate This adds a function to take care of the following cases occurring in the computation of the Loss Rate p: * 1/(2^32-1) is mapped into 0% as per RFC 4342, 8.5; * 1/0 is mapped into the maximum of 100%; * we want to avoid that p = 1/x is rounded down to 0 when x is very large, since this means accidentally re-entering slow-start (indicated by p==0). In the last case, the minimum-resolution value of p is returned. Furthermore, a bug in ccid3_hc_rx_getsockopt is fixed (1/0 was mapped into ~0U), which now allows to consistently print the scaled p-values as printf("Loss Event Rate = %u.%04u %%\n", rx_info.tfrcrx_p / 10000, rx_info.tfrcrx_p % 10000); Signed-off-by: Gerrit Renker commit 3306c781ff13aea89606435c134ec84e3c608681 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Add packet type information to CCID-specific option parsing This patch ... 1. adds packet type information to ccid_hc_{rx,tx}_parse_options(). This is necessary, since table 3 in RFC 4340, 5.8 leaves it to the CCIDs to state which options may (not) appear on what packet type. 2. adds such a check for CCID-3's {Loss Event, Receive} Rate as specified in RFC 4340 8.3 ("Receive Rate options MUST NOT be sent on DCCP-Data packets") and 8.5 ("Loss Event Rate options MUST NOT be sent on DCCP-Data packets"). 3. removes an unused argument `idx' from ccid_hc_{rx,tx}_parse_options(). This is also no longer necessary, since the CCID-specific option-parsing routines are passed every single parameter of the type-length-value option encoding. Also added documentation and made argument naming scheme consistent. Signed-off-by: Gerrit Renker commit 47a61e7b433a014296971ea1226eb1adb6310ab4 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp ccid-3: Simplify and consolidate tx_parse_options This simplifies and consolidates the TX option-parsing code: 1. The Loss Intervals option is not currently used, so dead code related to this option is removed. I am aware of no plans to support the option, but if someone wants to implement it (e.g. for inter-op tests), it is better to start afresh than having to also update currently unused code. 2. The Loss Event and Receive Rate options have a lot of code in common (both are 32 bit, both have same length etc.), so this is consolidated. 3. The test against GSR is not necessary, because - on first loading CCID3, ccid_new() zeroes out all fields in the socket; - ccid3_hc_tx_packet_recv() treats 0 and ~0U equivalently, due to pinv = opt_recv->ccid3or_loss_event_rate; if (pinv == ~0U || pinv == 0) hctx->p = 0; - as a result, the sequence number field is removed from opt_recv. Signed-off-by: Gerrit Renker commit 63b3a73bb85daf441f964aaf9b3fc89be4209c23 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp ccid-3: Remove ugly RTT-sampling history lookup This removes the RTT-sampling function tfrc_tx_hist_rtt(), since 1. it suffered from complex passing of return values (the return value both indicated successful lookup while the value doubled as RTT sample); 2. when for some odd reason the sample value equalled 0, this triggered a bug warning about "bogus Ack", due to the ambiguity of the return value; 3. on a passive host which has not sent anything the TX history is empty and thus will lead to unwanted "bogus Ack" warnings such as ccid3_hc_tx_packet_recv: server(e7b7d518): DATAACK with bogus ACK-28197148 ccid3_hc_tx_packet_recv: server(e7b7d518): DATAACK with bogus ACK-26641606. The fix is to replace the implicit encoding by performing the steps manually. Furthermore, the "bogus Ack" warning has been removed, since it can actually be triggered due to several reasons (network reordering, old packet, (3) above), hence it is not very useful. Signed-off-by: Gerrit Renker commit de6f2b59e5cd15a8772adb732a1d80e141a77115 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp ccid-3: Bug fix for the inter-packet scheduling algorithm This fixes a subtle bug in the calculation of the inter-packet gap and shows that t_delta, as it is currently used, is not needed. And hence replaced. The algorithm from RFC 3448, 4.6 below continually computes a send time t_nom, which is initialised with the current time t_now; t_gran = 1E6 / HZ specifies the scheduling granularity, s the packet size, and X the sending rate: t_distance = t_nom - t_now; // in microseconds t_delta = min(t_ipi, t_gran) / 2; // `delta' parameter in microseconds if (t_distance >= t_delta) { reschedule after (t_distance / 1000) milliseconds; } else { t_ipi = s / X; // inter-packet interval in usec t_nom += t_ipi; // compute the next send time send packet now; } 1) Description of the bug ------------------------- Rescheduling requires a conversion into milliseconds, due to this call chain: * ccid3_hc_tx_send_packet() returns a timeout in milliseconds, * this value is converted by msecs_to_jiffies() in dccp_write_xmit(), * and finally used as jiffy-expires-value for sk_reset_timer(). The highest jiffy resolution with HZ=1000 is 1 millisecond, so using a higher granularity does not make much sense here. As a consequence, values of t_distance < 1000 are truncated to 0. This issue has so far been resolved by using instead if (t_distance >= t_delta + 1000) reschedule after (t_distance / 1000) milliseconds; The bug is in artificially inflating t_delta to t_delta' = t_delta + 1000. This is unnecessarily large, a more adequate value is t_delta' = max(t_delta, 1000). 2) Consequences of using the corrected t_delta' ----------------------------------------------- Since t_delta <= t_gran/2 = 10^6/(2*HZ), we have t_delta <= 1000 as long as HZ >= 500. This means that t_delta' = max(1000, t_delta) is constant at 1000. On the other hand, when using a coarse HZ value of HZ < 500, we have three sub-cases that can all be reduced to using another constant of t_gran/2. (a) The first case arises when t_ipi > t_gran. Here t_delta' is the constant t_delta' = max(1000, t_gran/2) = t_gran/2. (b) If t_ipi <= 2000 < t_gran = 10^6/HZ usec, then t_delta = t_ipi/2 <= 1000, so that t_delta' = max(1000, t_delta) = 1000 < t_gran/2. (c) If 2000 < t_ipi <= t_gran, we have t_delta' = max(t_delta, 1000) = t_ipi/2. In the second and third cases we have delay values less than t_gran/2, which is in the order of less than or equal to half a jiffy. How these are treated depends on how fractions of a jiffy are handled: they are either always rounded down to 0, or always rounded up to 1 jiffy (assuming non-zero values). In both cases the error is on average in the order of 50%. Thus we are not increasing the error when in the second/third case we replace a value less than t_gran/2 with 0, by setting t_delta' to the constant t_gran/2. 3) Summary ---------- Fixing (1) and considering (2), the patch replaces t_delta with a constant, whose value depends on CONFIG_HZ, changing the above algorithm to: if (t_distance >= t_delta') reschedule after (t_distance / 1000) milliseconds; where t_delta' = 10^6/(2*HZ) if HZ < 500, and t_delta' = 1000 otherwise. Signed-off-by: Gerrit Renker commit b2e317f4b5ae73733963c702fae0f246d234100b Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp ccid-3: No more CCID control blocks in LISTEN state The CCIDs are activated as last of the features, at the end of the handshake, were the LISTEN state of the master socket is inherited into the server state of the child socket. Thus, the only states visible to CCIDs now are OPEN/PARTOPEN, and the closing states. This allows to remove tests which were previously necessary to protect against referencing a socket in the listening state (in CCID3), but which now have become redundant. As a further byproduct of enabling the CCIDs only after the connection has been fully established, several typecast-initialisations of ccid3_hc_{rx,tx}_sock can now be eliminated: * the CCID is loaded, so it is not necessary to test if it is NULL, * if it is possible to load a CCID and leave the private area NULL, then this is a bug, which should crash loudly - and earlier, * the test for state==OPEN || state==PARTOPEN now reduces only to the closing phase (e.g. when the node has received an unexpected Reset). Signed-off-by: Gerrit Renker Acked-by: Ian McDonald commit 842d1ef14ff37e9611eab479f31a0d74c1a5c4c0 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp ccid-3: Remove ccid3hc{tx,rx}_ prefixes This patch does the same for CCID-3 as the previous patch for CCID-2: s#ccid3hctx_##g; s#ccid3hcrx_##g; plus manual editing to retain consistency. Please note: expanded the fields of the `struct tfrc_tx_info' in the hc_tx_sock, since using short #define identifiers is not a good idea. The only place where this embedded struct was used is ccid3_hc_tx_getsockopt(). Signed-off-by: Gerrit Renker commit 1fb87509606cb19f5f603e54c28af7da149049f3 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp ccid-2: Remove ccid2hc{tx,rx}_ prefixes This patch fixes two problems caused by the ubiquitous long "hctx->ccid2htx_" and "hcrx->ccid2hcrx_" prefixes: * code becomes hard to read; * multiple-line statements are almost inevitable even for simple expressions; The prefixes are not really necessary (compare with "struct tcp_sock"). There had been previous discussion of this on dccp@vger, but so far this was not followed up (most people agreed that the prefixes are too long). Signed-off-by: Gerrit Renker Signed-off-by: Leandro Melo de Sales commit 88ddac513a4e7e04234214b600401ec22abfbb46 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Special case of the MPS for client-PARTOPEN with DataAcks To increase robustness, it is necessary to resend Confirm feature-negotiation options, even though the RFC does not mandate it. But feature negotiation options can take (much) more room than the options on common DataAck packets. Instead of reducing the MPS always for a case which only applies to the three messages send during initial handshake, this patch devises a special case: if the payload length of the DataAck in PARTOPEN is too large, an Ack is sent to carry the options, and the feature-negotiation list is then flushed. This means that the server gets two Acks for one Response. If both Acks get lost, it is probably better to restart the connection anyway and devising yet another special-case does not seem worth the extra complexity. The patch (over-)estimates the expected overhead to be 32*4 bytes -- commonly seen values were 20-90 bytes for initial feature-negotiation options. It uses sizeof(u32) to mean "aligned units of 4 bytes". For consistency, another use of sizeof is modified. Signed-off-by: Gerrit Renker commit 55ebe3ab2d504bd3f3eeade0262826210019abda Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Leave headroom for options when calculating the MPS The Maximum Packet Size (MPS) is of interest for applications which want to transfer data, so it is only relevant to the data transfer phase of a connection (unless one wants to send data on the DCCP-Request, but that is not considered here). The strategy chosen to deal with this requirement is to leave room for only such options that may appear on data packets. A special consideration applies to Ack Vectors: this is purely guesswork, since these can have any length between 3 and 1020 bytes. The strategy chosen here is to subtract a configurable minimum, the value of 16 bytes (2 bytes for type/length plus 14 Ack Vector cells) has been found by experimentatation. If people experience this as too much or too little, this could later be turned into a Kconfig option. There are currently no CCID-specific header options which may appear on data packets, hence it is not necessary to define a corresponding CCID field. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald commit 2faae5587f692fd5c79856ca4c4b90944ee0472a Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp ccid-2: Use feature-negotiation to report Ack Ratio changes This uses the new feature-negotiation framework to signal Ack Ratio changes, as required by RFC 4341, sec. 6.1.2. This raises some problems for CCID-2 since it can at the moment not cope gracefully with Ack Ratio of e.g. 2. A FIXME has thus been added which reverts to the existing policy of bypassing the Ack Ratio sysctl. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald commit 4861a354430d2ea36847ef88086c7449b4f385b6 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Support for exchanging of NN options in established state This patch provides support for the reception of NN options in (PART)OPEN state. It is a combination of change_recv() and confirm_recv(), specifically geared towards receiving the `fast-path' NN options. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald commit 624a965a93610152b10c73d050ed44812efa8abe Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Support for the exchange of NN options in established state In contrast to static feature negotiation at the begin of a connection, which establishes the capabilities of both endpoints, this patch introduces support for dynamic exchange of feature negotiation options. Such a dynamic exchange is necessary in at least two cases: * CCID-2's Ack Ratio (RFC 4341, 6.1.2) which changes during the connection; * Sequence Window values that, as per RFC 4340, 7.5.2, should be sent "as as the connection progresses". Both are NN (non-negotiable) features. Hence dynamic feature "negotiation" is distinguished from static/pre-connection negotiation by the following: * no new capabilities are negotiated (those that matter for the connection are negotiated prior to setting up the connection, comparable to SIP); * features must be understood by each endpoint: as per RFC 4340, 6.4, Sequence Window is "Req'd" and Ack Ratio must be understood when CCID-2 is used as per the note underneath Table 4. These characteristics are reflected in the implementation: * only NN options can be exchanged after connection setup; * NN options are activated directly after validating them. The rationale is that a peer must accept every valid NN value (RFC 4340, 6.3.2), hence it will either accept the value and send a "Confirm R", or it will send an empty Confirm (which will reset the connection according to FN rules). * An Ack is scheduled directly after activation to accelerate communicating the update to the peer. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald commit 76f738a7950b559a23ab3c692c99a02f35a54f7f Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Debugging functions for feature negotiation Since all feature-negotiation processing now takes place in feat.c, functions for producing verbose debugging output are concentrated there. New functions to print out values, entry records, and options are provided, and also a macro is defined to not always have the function name in the output line. Thanks a lot to Wei Yongjun and Giuseppe Galeota for help with errors in an earlier revision of this patch. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald commit 0a4822679d94e2b0117aeead06a19fad59533905 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Initialisation and type-checking of feature sysctls This patch takes care of initialising and type-checking sysctls related to feature negotiation. Type checking is important since some of the sysctls now directly act on the feature-negotiation process. The sysctls are initialised with the known default values for each feature. For the type-checking the value constraints from RFC 4340 are used: * Sequence Window uses the specified Wmin=32, the maximum is ulong (4 bytes), tested and confirmed that it works up to 4294967295 - for Gbps speed; * Ack Ratio is between 0 .. 0xffff (2-byte unsigned integer); * CCIDs are between 0 .. 255; * request_retries, retries1, retries2 also between 0..255 for good measure; * tx_qlen is checked to be non-negative; * sync_ratelimit remains as before. Further changes: ---------------- Performed s@sysctl_dccp_feat@sysctl_dccp@g since the sysctls are now in feat.c. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald commit 51c7d4fa2675c106a980ddcdbe308b54b5151945 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Implement both feature-local and feature-remote Sequence Window feature This adds full support for local/remote Sequence Window feature, from which the * sequence-number-validity (W) and * acknowledgment-number-validity (W') windows derive as specified in RFC 4340, 7.5.3. Specifically, the following changes are introduced: * integrated new socket fields into dccp_sk; * updated the update_gsr/gss routines with regard to these fields; * updated handler code: the Sequence Window feature is located at the TX side, so the local feature is meant if the handler-rx flag is false; * the initialisation of `rcv_wnd' in reqsk is removed, since - rcv_wnd is not used by the code anywhere; - sequence number checks are not done in the LISTEN state (cf. 7.5.3); - dccp_check_req checks the Ack number validity more rigorously; * the `struct dccp_minisock' became empty and is now removed. Until the handshake completes with activating negotiated values, the local/remote Sequence-Window values are undefined and thus can not reliably be estimated. This issue is addressed in a separate patch. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald commit 09856c108956c99088ead9267ccbd1dab77f7043 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Auto-load (when supported) CCID plugins for negotiation This adds auto-loading of CCIDs (when module loading is enabled) for the purpose of feature negotiation. The problem with loading the CCIDs at the end of feature negotiation is that this would happen in software interrupt context. Besides, if the host advertises CCIDs during negotiation, it should have them ready to use, in case an agreeing peer wants to use it for the connection. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald commit 5d3dac267a7fd0811ec777e76a81f97f5cdcb395 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Initialisation framework for feature negotiation This initialises feature negotiation from two tables, which are initialised from sysctls. As a novel feature, specifics of the implementation (e.g. currently short seqnos and ECN are not supported) are advertised for robustness. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald commit b235dc4abbc1356284bd0dc730efa711f394e0e2 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp ccid-2: Phase out the use of boolean Ack Vector sysctl This removes the use of the sysctl and the minisock variable for the Send Ack Vector feature, which is now handled fully dynamically via feature negotiation; i.e. when CCID2 is enabled, Ack Vectors are automatically enabled (as per RFC 4341, 4.). Using a sysctl in parallel to this implementation would open the door to crashes, since much of the code relies on tests of the boolean minisock / sysctl variable. Thus, this patch replaces all tests of type if (dccp_msk(sk)->dccpms_send_ack_vector) /* ... */ with if (dp->dccps_hc_rx_ackvec != NULL) /* ... */ The dccps_hc_rx_ackvec is allocated by the dccp_hdlr_ackvec() when feature negotiation concluded that Ack Vectors are to be used on the half-connection. Otherwise, it is NULL (due to dccp_init_sock/dccp_create_openreq_child), so that the test is a valid one. The activation handler for Ack Vectors is called as soon as the feature negotiation has concluded at the * server when the Ack marking the transition RESPOND => OPEN arrives; * client after it has sent its ACK, marking the transition REQUEST => PARTOPEN. Adding the sequence number of the Response packet to the Ack Vector has been removed, since (a) connection establishment implies that the Response has been received; (b) the CCIDs only look at packets received in the (PART)OPEN state, i.e. this entry will always be ignored; (c) it can not be used for anything useful - to detect loss for instance, only packets received after the loss can serve as pseudo-dupacks. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald commit 68e074bfcef269bc61006c2740d7f89ccbbd93d7 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Remove manual influence on NDP Count feature Updating the NDP count feature is handled automatically now: * for CCID-2 it is disabled, since the code does not use NDP counts; * for CCID-3 it is enabled, as NDP counts are used to determine loss lengths. Allowing the user to change NDP values leads to unpredictable and failing behaviour, since it is then possible to disable NDP counts even when they are needed (e.g. in CCID-3). This means that only those user settings are sensible that agree with the values for Send NDP Count implied by the choice of CCID. But those settings are already activated by the feature negotiation (CCID dependency tracking), hence this form of support is redundant. At startup the initialisation of the NDP count feature is with the default value of 0, which is done implicitly by the zeroing-out of the socket when it is allocated. If the choice of CCID or feature negotiation enables NDP count, this will then be updated via the NDP activation handler. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald commit 78673e24df27c76ec75565f4024d45c2c74ef148 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Remove obsolete parts of the old CCID interface The TX/RX CCIDs of the minisock are now redundant: similar to the Ack Vector case, their value equals initially that of the sysctl, but at the end of feature negotiation may be something different. The old interface removed by this patch thus has been replaced by the newer interface to dynamically query the currently loaded CCIDs earlier in this patch set. Also removed the constructors for the TX CCID and the RX CCID, since the switch rx/non-rx is done by the handler in minisocks.c (and the handler is the only place in the code where CCIDs are loaded). Signed-off-by: Gerrit Renker Acked-by: Ian McDonald commit 23479cbfd30402c7d9fa413cc467983061073557 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Clean up old feature-negotiation infrastructure The code removed by this patch is no longer referenced or used, the added lines update documentation and copyrights. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald commit c49b22729f3da7479c4e6c572d53fdd40201d0bd Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Integration of dynamic feature activation - part 3 (client side) This integrates feature-activation in the client, with these details: 1. When dccp_parse_options() fails, the reset code is already set, request_sent _state_process() currently overrides this with `Packet Error', which is not intended - so changed to use the reset code set in dccp_parse_options(); 2. There was a FIXME to change the error code when dccp_ackvec_add() fails. I have looked this up and found that: * the check whether ackno < ISN is already made earlier, * this Response is likely the 1st packet with an Ackno that the client gets, * so when dccp_ackvec_add() fails, the reason is likely not a packet error. 3. When feature negotiation fails, the socket should be marked as not usable, so that the application is notified that an error occurs. This is achieved by a new label, which uses an error code of `Aborted' and which sets the socket state to CLOSED, as well as sk_err. 4. Avoids parsing the Ack twice in Respond state by not doing option processing again in dccp_rcv_respond_partopen_state_process (as option processing has already been done on the request_sock in dccp_check_req). Since this addresses congestion-control initialisation, a corresponding FIXME has been removed. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald commit e70cacb90d76f0632f7bba69c87a62e709e84619 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Integration of dynamic feature activation - part 2 (server side) This patch integrates the activation of features at the end of negotiation into the server-side code. Note: In dccp_create_openreq_child the request_sock argument is no longer constant, since dccp_activate_values() uses the feature-negotiation list on dreq to sort out the initialisation values for the different features of the child socket; and purges this queue after use (but the `req' argument to openreq_child can and does still remain constant). Signed-off-by: Gerrit Renker Acked-by: Ian McDonald commit 3a53a9adfa269da7fa40fc476f09e46155c0143d Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Integration of dynamic feature activation - part 1 (socket setup) This first patch out of three replaces the hardcoded default settings with initialisation code for the dynamic feature negotiation. Note on retransmitting Confirm options: --------------------------------------- This patch also defers flushing the client feature-negotiation queue, due to the following considerations. As long as the client is in PARTOPEN, it needs to retransmit the Confirm options for the Change options received on the DCCP-Response from the server. Otherwise, if the packet containing the Confirm options gets dropped in the network, the connection aborts due to undefined feature negotiation state. Thanks to Leandro Melo de Sales who reported a bug in an earlier revision of the patch set, resulting from not retransmitting the Confirm options. The patch now ensures that the client feature-negotiation queue is flushed only when entering the OPEN state. Since confirmed Change options are removed as soon as they are confirmed (in the DCCP-Response), this ensures that Confirm options are retransmitted. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald commit c926c6aed3e444e8c88a768f063b2de8fd6ae760 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Feature activation handlers This patch provides the post-processing of feature negotiation state, after the negotiation has completed. To this purpose, handlers are used and added to the dccp_feat_table. Each handler is passed a boolean flag whether the RX or TX side of the feature is meant. Several handlers are provided already, new handlers can easily be added. The initialisation is now fully dynamic, i.e. CCIDs are activated only after the feature negotiation. The integration of this dynamic activation is done in the subsequent patches. Thanks to Wei Yongjun for pointing out the necessity of skipping over empty Confirm options while copying the negotiated feature values. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald commit d2150b7bff3d397692cf0dc890f198d23564de5f Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Processing Confirm options Analogous to the previous patch, this adds code to interpret incoming Confirm feature-negotiation options. Both functions operate on the feature-negotiation list of either the request_sock (server) or the dccp_sock (client). Thanks to Wei Yongjun for pointing out that it is overly restrictive to check the entire list of confirmed SP values. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald commit 5a146b97d5e93db2df075c0d820f492bb996d0e3 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Process incoming Change feature-negotiation options This adds/replaces code for processing incoming ChangeL/R options. The main difference is that: * mandatory FN options are now interpreted inside the function (there are too many individual cases to do this externally); * the function returns an appropriate Reset code or 0, which is then used to fill in the data for the Reset packet. Old code, which is no longer used or referenced, has been removed. Signed-off-by: Gerrit Renker commit c664d4f4e2963ee355b1b0e77461eb844d1b288d Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Preference list reconciliation This provides two functions to * reconcile preference lists (with appropriate return codes) and * reorder the preference list if successful reconciliation changed the preferred value. The patch also removes the old code for processing SP/NN Change options, since new code to process these is mostly there already; related references have been commented out. The code for processing Change options follows in the next patch. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald commit f8a644c07e6f38b2c3cbaf99990e867d670d207b Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Integrate feature-negotiation insertion code The patch implements insertion of feature negotiation at the server (listening and request socket) and the client (connecting socket). In dccp_insert_options(), several statements have been grouped together now to achieve (I hope) better efficiency by reducing the number of tests each packet has to go through: - Ack Vectors are sent if the packet is neither a Data or a Request packet; - a previous issue is corrected - feature negotiation options are allowed on DataAck packets (5.8). Signed-off-by: Gerrit Renker Acked-by: Ian McDonald commit 0ef118a017919cd661cf294811d1889ac556ee80 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Insert feature-negotiation options into skb This patch replaces the earlier insertion routine from options.c, so that code specific to feature negotiation can remain in feat.c. This is possible by calling a function already existing in options.c. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald commit cf9ddf73b9ba21a5cd6d3fcb0a45cfa9ec452033 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Header option insertion routine for feature-negotiation The patch extends existing code: * Confirm options divide into the confirmed value plus an optional preference list for SP values. Previously only the preference list was echoed for SP values, now the confirmed value is added as per RFC 4340, 6.1; * length and sanity checks are added to avoid illegal memory (or NULL) access. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald commit d0440ee6f6903fcde6ed4efb88c910de1dfa18e5 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Support for Mandatory options Support for Mandatory options is provided by this patch, which will be used by subsequent feature-negotiation patches. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Acked-by: Arnaldo Carvalho de Melo commit b9aaac1c538a9c86e8ef3be2579a13ff55580908 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Increase the scope of variable-length htonl/ntohl functions This extends the scope of two available functions, encode|decode_value_var, to work up to 6 (8) bytes, to match maximum requirements in the RFC. These functions are going to be used both by general option processing and feature negotiation code, hence declarations have been put into feat.h. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Acked-by: Arnaldo Carvalho de Melo commit c8041e264b3db6944d37b87969fbe6458cb30cfd Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: API to query the current TX/RX CCID This provides function to query the current TX/RX CCID dynamically, without reliance on the minisock value, using dynamic information available in the currently loaded CCID module. This query function is then used to (a) provide the getsockopt part for getting/setting CCIDs via sockopts; (b) replace the current test for "which CCID is in use" in probe.c. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald commit fade756f18d42694e3acb00e3471ab43002cba16 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Set per-connection CCIDs via socket options With this patch, TX/RX CCIDs can now be changed on a per-connection basis, which overrides the defaults set by the global sysctl variables for TX/RX CCIDs. To make full use of this facility, the remaining patches of this patch set are needed, which track dependencies and activate negotiated feature values. Note on the maximum number of CCIDs that can be registered: ----------------------------------------------------------- The maximum number of CCIDs that can be registered on the socket is constrained by the space in a Confirm/Change feature negotiation option. The space in these in turn depends on the size of header options as defined in RFC 4340, 5.8. Since this is a recurring constant, it has been moved from ackvec.h into linux/dccp.h, clarifying its purpose. Relative to this size, the maximum number of CCID identifiers that can be present in a Confirm option (which always consumes 1 byte more than a Change option, cf. 6.1) is 2 bytes less than the maximum TLV size: one for the CCID-feature-type and one for the selected value. Signed-off-by: Gerrit Renker commit 73bbe095bbb9ce5f94d5475bad54c7ccd8573b1b Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Tidy up setsockopt calls This splits the setsockopt calls into two groups, depending on whether an integer argument (val) is required and whether routines being called do their own locking. Some options (such as setting the CCID) use u8 rather than int, so that for these the test with regard to integer-sizeof can not be used. The second switch-case statement now only has those statements which need locking and which make use of `val'. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Acked-by: Arnaldo Carvalho de Melo Reviewed-by: Eugene Teo commit 17c30b40ed79e9f3955e884632c8f01e577b204a Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Deprecate Ack Ratio sysctl This patch deprecates the Ack Ratio sysctl, since * Ack Ratio is entirely ignored by CCID-3 and CCID-4, * Ack Ratio currently doesn't work in CCID-2 (i.e. is always set to 1); * even if it would work in CCID-2, there is no point for a user to change it: - Ack Ratio is constrained by cwnd (RFC 4341, 6.1.2), - if Ack Ratio > cwnd, the system resorts to spurious RTO timeouts (since waiting for Acks which will never arrive in this window), - cwnd is not a user-configurable value. The only reasonable place for Ack Ratio is to print it for debugging. It is planned to do this later on, as part of e.g. dccp_probe. With this patch Ack Ratio is now under full control of feature negotiation: * Ack Ratio is resolved as a dependency of the selected CCID; * if the chosen CCID supports it (i.e. CCID == CCID-2), Ack Ratio is set to the default of 2, following RFC 4340, 11.3 - "New connections start with Ack Ratio 2 for both endpoints"; * what happens then is part of another patch set, since it concerns the dynamic update of Ack Ratio while the connection is in full flight. Thanks to Tomasz Grobelny for discussion leading up to this patch. Signed-off-by: Gerrit Renker Acked-by: Arnaldo Carvalho de Melo commit 20f41eee82864e308a5499308a1722dc3181cc3a Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Feature negotiation for minimum-checksum-coverage This provides feature negotiation for server minimum checksum coverage which so far has been missing. Since sender/receiver coverage values range only from 0...15, their type has also been reduced in size from u16 to u4. Feature-negotiation options are now generated for both sender and receiver coverage, i.e. when the peer has `forgotten' to enable partial coverage then feature negotiation will automatically enable (negotiate) the partial coverage value for this connection. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald commit 668144f7b41716a9efe1b398e15ead32a26cd101 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Deprecate old setsockopt framework The previous setsockopt interface, which passed socket options via struct dccp_so_feat, is complicated/difficult to use. Continuing to support it leads to ugly code since the old approach did not distinguish between NN and SP values. This patch removes the old setsockopt interface and replaces it with two new functions to register NN/SP values for feature negotiation. These are essentially wrappers around the internal __feat_register functions, with checking added to avoid * wrong usage (type); * changing values while the connection is in progress. Signed-off-by: Gerrit Renker commit d4c8741c431e07cfc66eb2b4c3a17b8d4975d9c0 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Mechanism to resolve CCID dependencies This adds a hook to resolve features whose value depends on the choice of CCID. It is done at the server since it can only be done after the CCID values have been negotiated; i.e. the client will add its CCID preference list on the Change options sent in the Request, which will be reconciled with the local preference list of the server. The concept is documented on http://www.erg.abdn.ac.uk/users/gerrit/dccp/notes/feature_negotiation/\ implementation_notes.html#ccid_dependencies Signed-off-by: Gerrit Renker Acked-by: Ian McDonald commit 093e1f46cf162913d05e1d4eeb01baa3e297b683 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Resolve dependencies of features on choice of CCID This provides a missing link in the code chain, as several features implicitly depend and/or rely on the choice of CCID. Most notably, this is the Send Ack Vector feature, but also Ack Ratio and Send Loss Event Rate (also taken care of). For Send Ack Vector, the situation is as follows: * since CCID2 mandates the use of Ack Vectors, there is no point in allowing endpoints which use CCID2 to disable Ack Vector features such a connection; * a peer with a TX CCID of CCID2 will always expect Ack Vectors, and a peer with a RX CCID of CCID2 must always send Ack Vectors (RFC 4341, sec. 4); * for all other CCIDs, the use of (Send) Ack Vector is optional and thus negotiable. However, this implies that the code negotiating the use of Ack Vectors also supports it (i.e. is able to supply and to either parse or ignore received Ack Vectors). Since this is not the case (CCID-3 has no Ack Vector support), the use of Ack Vectors is here disabled, with a comment in the source code. An analogous consideration arises for the Send Loss Event Rate feature, since the CCID-3 implementation does not support the loss interval options of RFC 4342. To make such use explicit, corresponding feature-negotiation options are inserted which signal the use of the loss event rate option, as it is used by the CCID3 code. Lastly, the values of the Ack Ratio feature are matched to the choice of CCID. The patch implements this as a function which is called after the user has made all other registrations for changing default values of features. The table is variable-length, the reserved (and hence for feature-negotiation invalid, confirmed by considering section 19.4 of RFC 4340) feature number `0' is used to mark the end of the table. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald commit 71bb49596bbf4e5a3328e1704d18604e822ba181 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Query supported CCIDs This provides a data structure to record which CCIDs are locally supported and three accessor functions: - a test function for internal use which is used to validate CCID requests made by the user; - a copy function so that the list can be used for feature-negotiation; - documented getsockopt() support so that the user can query capabilities. The data structure is a table which is filled in at compile-time with the list of available CCIDs (which in turn depends on the Kconfig choices). Using the copy function for cloning the list of supported CCIDs is useful for feature negotiation, since the negotiation is now with the full list of available CCIDs (e.g. {2, 3}) instead of the default value {2}. This means negotiation will not fail if the peer requests to use CCID3 instead of CCID2. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald commit 86349c8d9c6892b57aff4549256ab1aa65aed0f0 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Registration routines for changing feature values Two registration routines, for SP and NN features, are provided by this patch, replacing a previous routine which was used for both feature types. These are internal-only routines and therefore start with `__feat_register'. It further exports the known limits of Sequence Window and Ack Ratio as symbolic constants. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald commit 5591d286281fdfb57914f5fad3ca001d44ce8fc6 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Limit feature negotiation to connection setup phase This patch starts the new implementation of feature negotiation: 1. Although it is theoretically possible to perform feature negotiation at any time (and RFC 4340 supports this), in practice this is prohibitively complex, as it requires to put traffic on hold for each new negotiation. 2. As a byproduct of restricting feature negotiation to connection setup, the feature-negotiation retransmit timer is no longer required. This part is now mapped onto the protocol-level retransmission. Details indicating why timers are no longer needed can be found on http://www.erg.abdn.ac.uk/users/gerrit/dccp/notes/feature_negotiation/\ implementation_notes.html This patch disables anytime negotiation, subsequent patches work out full feature negotiation support for connection setup. Signed-off-by: Gerrit Renker commit 702083839b607f390dbed5d2304eb8fc5f4c85ac Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Cleanup routines for feature negotiation This inserts the required de-allocation routines for memory allocated by feature negotiation in the socket destructors, replacing dccp_feat_clean() in one instance. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald commit 828755cee087e4a34f45d6c9db661ccd0631cc6d Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Per-socket initialisation of feature negotiation This provides feature-negotiation initialisation for both DCCP sockets and DCCP request_sockets, to support feature negotiation during connection setup. It also resolves a FIXME regarding the congestion control initialisation. Thanks to Wei Yongjun for help with the IPv6 side of this patch. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald commit 3001fc0569651f2d0c3b45adc991351471b0c382 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: List management for new feature negotiation This adds list fields and list management functions for the new feature negotiation implementation. The new code is kept in parallel to the old code, until removed at the end of the patch set. Thanks to Arnaldo for suggestions to improve the code. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald commit b4eec206370b7154dc354dc30f0a3f02ea8468b2 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Implement lookup table for feature-negotiation information A lookup table for feature-negotiation information, extracted from RFC 4340/42, is provided by this patch. All currently known features can be found in this table, along with their feature location, their default value, and type. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald commit 5c7c9451f1f422b69bf0e161e471dd3976ecd408 Author: Gerrit Renker Date: Thu Sep 4 07:30:19 2008 +0200 dccp: Basic data structure for feature negotiation This patch prepares for the new and extended feature-negotiation routines. The following feature-negotiation data structures are provided: * a container for the various (SP or NN) values, * symbolic state names to track feature states, * an entry struct which holds all current information together, * elementary functions to fill in and process these structures. Entry structs are arranged as FIFO for the following reason: RFC 4340 specifies that if multiple options of the same type are present, they are processed in the order of their appearance in the packet; which means that this order needs to be preserved in the local data structure (the later insertion code also respects this order). The struct list_head has been chosen for the following reasons: the most frequent operations are * add new entry at tail (when receiving Change or setting socket options); * delete entry (when Confirm has been received); * deep copy of entire list (cloning from listening socket onto request socket). The NN value has been set to 64 bit, which is a currently sufficient upper limit (Sequence Window feature has 48 bit). Signed-off-by: Gerrit Renker Acked-by: Ian McDonald commit 959fd992f05b7468bf30d759ac0c9fd0ef0fa80b Author: Gerrit Renker Date: Sat Aug 23 13:28:27 2008 +0200 dccp ccid-3: Replace lazy BUG_ON with condition The BUG_ON(w_tot == 0) only holds if there is no more than 1 loss interval in the loss history. If there is only a single loss interval, the calc_i_mean() routine need in fact not be called (RFC 3448, 6.3.1). Signed-off-by: Gerrit Renker commit 432649916b0435b608fb3e1fcb97347ac294d38d Author: Gerrit Renker Date: Sat Aug 23 13:28:27 2008 +0200 dccp: Toggle debug output without module unloading This sets the sysfs permissions so that root can toggle the `debug' parameter available for nearly every DCCP module. This is useful since there are various module inter-dependencies. The debug flag can now be toggled at runtime using echo 1 > /sys/module/dccp/parameters/dccp_debug echo 1 > /sys/module/dccp_ccid2/parameters/ccid2_debug echo 1 > /sys/module/dccp_ccid3/parameters/ccid3_debug echo 1 > /sys/module/dccp_tfrc_lib/parameters/tfrc_debug The last is not very useful yet, since no code at the moment calls the tfrc_debug() macro. Signed-off-by: Gerrit Renker commit 48816322ad4d9ce195aaddd10f0ce98c944af193 Author: Gerrit Renker Date: Sat Aug 23 13:28:27 2008 +0200 dccp: Empty the write queue when disconnecting dccp_disconnect() can be called due to several reasons: 1. when the connection setup failed (inet_stream_connect()); 2. when shutting down (inet_shutdown(), inet_csk_listen_stop()); 3. when aborting the connection (dccp_close() with 0 linger time). In case (1) the write queue is empty. This patch empties the write queue, if in case (2) or (3) it was not yet empty. This avoids triggering the write-queue BUG_TRAP in sk_stream_kill_queues() later on. It also seems natural to do: when breaking an association, to delete all packets that were originally intended for the soon-disconnected end (compare with call to tcp_write_queue_purge in tcp_disconnect()). Signed-off-by: Gerrit Renker commit eac7726bf5cd24440d84b166e0813668d1bf3224 Author: Gerrit Renker Date: Sat Aug 23 13:28:27 2008 +0200 dccp: Fill in the Data fields for "Option Error" Resets This updates the use of the `out_invalid_option' label, which produces a Reset (code 5, "Option Error"), to fill in the Data1...Data3 fields as specified in RFC 4340, 5.6. Signed-off-by: Gerrit Renker commit faf61c3319ea336ed47acd6ca86faaaa3a8f4937 Author: Gerrit Renker Date: Sat Aug 23 13:28:27 2008 +0200 dccp: Silently ignore options with nonsensical lengths This updates the option-parsing code with regard to RFC 4340, 5.8: "[..] options with nonsensical lengths (length byte less than two or more than the remaining space in the options portion of the header) MUST be ignored, and any option space following an option with nonsensical length MUST likewise be ignored." Hence in the following cases erratic options will be ignored: 1. The type byte of a multi-byte option is the last byte of the header options (i.e. effective option length of 1). 2. The value of the length byte is less than the minimum 2. This has been changed from previously 3: although no multi-byte option with a length less than 3 yet exists (cf. table 3 in 5.8), a length of 2 is valid. (The switch-statement in dccp_parse has further per-option length checks.) 3. The option length exceeds the length of the remaining option space. Signed-off-by: Gerrit Renker commit ba1a6c7bc0ff33e405f5156dc8f4145437255f1f Author: Wei Yongjun Date: Sat Aug 23 13:28:27 2008 +0200 dccp: Always generate a Reset in response to option errors RFC4340 states that if a packet is received with an option error (such as a Mandatory Option as the last byte of the option list), the endpoint should repond with a Reset. In the LISTEN and RESPOND states, the endpoint correctly reponds with Reset, while in the REQUEST/OPEN states, packets with option errors are just ignored. The packet sequence is as follows: Case 1: Endpoint A Endpoint B (CLOSED) (CLOSED) <---------------- REQUEST RESPONSE -----------------> (*1) (with invalid option) <---------------- RESET (with Reset Code 5, "Option Error") (*1) currently just ignored, no Reset is sent Case 2: Endpoint A Endpoint B (OPEN) (OPEN) DATA-ACK -----------------> (*2) (with invalid option) <---------------- RESET (with Reset Code 5, "Option Error") (*2) currently just ignored, no Reset is sent This patch fixes the problem, by generating a Reset instead of silently ignoring option errors. Signed-off-by: Wei Yongjun Acked-by: Arnaldo Carvalho de Melo Acked-by: Gerrit Renker commit 1aa0365f275f7df6bb1e0b6667ed2b54199fe21d Author: Robert Reif Date: Wed Sep 3 16:29:42 2008 -0700 sparc32: add init memory poisoning This patch adds init memory poisoning. It looks like totalram_pages was not updated properly in free_initrd_mem so I fixed that as well. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit 94d5b5432b96efa69840b397853cf2cb81ab4fab Author: David S. Miller Date: Wed Sep 3 16:19:46 2008 -0700 sparc: Remove asm/rtc.h No more users. Signed-off-by: David S. Miller commit f6e30ffcf3749fd3bdf267156bd0f56eba68f2f8 Author: David S. Miller Date: Wed Sep 3 15:57:04 2008 -0700 sparc32: Kill asm/mostek.h. No longer used. Signed-off-by: David S. Miller commit 81c4fdb1d64a44ffc17c5c64b32a1be4fc85dd55 Author: David S. Miller Date: Wed Sep 3 15:56:27 2008 -0700 sparc32: Kill remaining asm/mostek.h inclusions. No longer needed. Signed-off-by: David S. Miller commit eed795bf1fd2a012beddd6017fd7baf8ddf43ca1 Author: David S. Miller Date: Wed Sep 3 15:55:32 2008 -0700 sparc: Kill sbus mostek RTC driver. No longer used. Signed-off-by: David S. Miller commit c4cbe6f96ebf8eb03884c31504d36dccd2ef1062 Author: David S. Miller Date: Wed Sep 3 15:52:38 2008 -0700 sparc32: use RTC subsystem Use rtc subsystem for sparc32 architecture. Actually, only one driver is needed: m48t59 as it supports the most common clocks on sparc32 machines: m48t08 and m48t02. [ Add proper RTC layer calls to set_rtc_mmss() -DaveM ] Signed-off-by: Krzysztof Helt Signed-off-by: David S. Miller commit 64151ad5b3a03e236390d6d5160805ee4f4e7c67 Author: Krzysztof Helt Date: Wed Sep 3 15:41:57 2008 -0700 rtc-m48t59: allow externally mapped ioaddr Add support for externally mapped ioaddr. This is required on sparc32 as the ioaddr must be mapped with of_ioremap(). Signed-off-by: Krzysztof Helt Signed-off-by: David S. Miller commit 94fe7424a4c21940b4569200faaf0a0a5efd2924 Author: Krzysztof Helt Date: Wed Sep 3 15:12:34 2008 -0700 rtc-m48t59: add support for M48T02 and M48T59 chips Add support for two compatible RTC: - M48T08 which does not have alarm part, - M48T08 which does not have alarm part and has only 2KB of NVRAM These types covers all Mostek's RTC used in Sun UltraSparc workstations. Tested on Sun Ultra60 with M48T59 RTC. Signed-off-by: Krzysztof Helt Signed-off-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 3ca60f6e637cee8c735a7448fd912fe1a6e42fc1 Author: Krzysztof Helt Date: Wed Sep 3 15:10:14 2008 -0700 rtc-m48t59: reduce structure m48t59_private Remove element size from the structure m48t59_private as it is used as local variable for storing temporary value. Signed-off-by: Krzysztof Helt Signed-off-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit a57a5c2e8db8d80f460dcad77877895718c9f209 Author: Alexey Dobriyan Date: Thu Sep 4 01:03:02 2008 +0400 x86 setup: remove remnants of CONFIG_VIDEO_SELECT (read: vga=) Impact: cleanup Video mode selection became always possible in 2.6.23-rc1 after i386 setup code rewrite in C. Regardless, VIDEO_SELECT is stupid config option because it affects only kernel setup code, not code which always stays in memory. vga= always possible now which is good. Signed-off-by: Alexey Dobriyan Signed-off-by: H. Peter Anvin commit a505f4ff49ff05ca9030069fab7de229dae7c819 Author: Ilpo Järvinen Date: Tue Aug 19 10:36:01 2008 +0300 s2io: reindented misleading for loop Signed-off-by: Ilpo Järvinen Signed-off-by: Jeff Garzik commit 45021ae4986c9eefe3ccc3b858517202f4b4f3ee Author: Huang Weiyi Date: Sun Aug 17 07:51:20 2008 +0800 [netdrvr] removed unused #include The drivers below do not use LINUX_VERSION_CODE nor KERNEL_VERSION. drivers/net/myri10ge/myri10ge.c drivers/net/netxen/netxen_nic_ethtool.c drivers/net/tokenring/lanstreamer.c This patch removes the said #include . Signed-off-by: Huang Weiyi Signed-off-by: Jeff Garzik commit 1c460afaa550eda5df011168bdda7441a7788c3a Author: Kevin Lo Date: Wed Aug 27 11:35:13 2008 +0800 8139too: use netdev_alloc_skb This patch uses netdev_alloc_skb. This sets skb->dev and allows arch specific allocation. Also cleanup the alignment code. Signed-off-by: Kevin Lo Signed-off-by: Jeff Garzik commit a52be1cbc262bb23cce9d856975c74626d26ec8c Author: Kevin Lo Date: Wed Aug 27 11:35:15 2008 +0800 8139cp: use netdev_alloc_skb This patch uses netdev_alloc_skb. This sets skb->dev and allows arch specific allocation. Also cleanup the alignment code. Signed-off-by: Kevin Lo Signed-off-by: Jeff Garzik commit b26b555a7b4decf765ade265fa9da3bd6ff3e9e0 Author: Kevin Lo Date: Wed Aug 27 11:35:09 2008 +0800 via-rhine: changed to use netdev_alloc_skb() from dev_alloc_skb Use netdev_alloc_skb. This sets skb->dev and allows arch specific allocation. Also cleanup the alignment code. Signed-off-by: Kevin Lo Signed-off-by: Jeff Garzik commit c844d483004df596b0bd6e68a3be8e0cd85536ce Author: Stephen Hemminger Date: Wed Aug 27 20:48:23 2008 -0700 sky2: display product info on boot. Change bootup messages to print more information. This is to help users who may have old buggy EEPROM image. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 1413235c14301c4bd27aabf408e4336719b6f505 Author: Stephen Hemminger Date: Wed Aug 27 20:46:26 2008 -0700 sky2: EEPROM read/write bug fixes Cleanup and harden the routines accessing the EEPROM. 1. Prevent spin forever waiting for the TWSI bus 2. Fix write eeprom to write full words rather than only 16 bits Luckly the vendor doesn't provide EEPROM in Linux format so it must never have been used. 3. Don't allow partial eeprom writes, not needed, not safe. These are non-urgent bug fixes. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 9389523a77be0a7e01d957c836733b5c9d5530a1 Merge: 3be1adf... 2857ffb... Author: Jeff Garzik Date: Wed Sep 3 10:21:20 2008 -0400 Merge branch 'r8169-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/romieu/netdev-2.6 into upstream-next commit 3be1adfb912867e244729c3826b457ee76b8f737 Author: Alexander Duyck Date: Sat Aug 30 00:29:10 2008 -0700 ixgbe: change config srrctl to only program one register per VMDq/RSS id This change makes it so only one srrctl register is programmed per VMDq id, and if VMDq is not enabled it is one register per RSS queue. Currently this function is working correctly for the multiqueue RSS and single queue cases, but if any advances features such as VMDq or DCB would have been enabled this function would have caused issues as it was not correct. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 1a32bcfb5706d06a49904383b02f7c1d24172b96 Author: Alexander Duyck Date: Tue Aug 26 04:25:11 2008 -0700 igb: clean up a stray fake netdev code left in rx path Remove code that was in place to support fake netdev Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit fc7d345d11e815705fd0c9badc2ee82cb7ca5a84 Author: Alexander Duyck Date: Tue Aug 26 04:25:08 2008 -0700 igb: remove unneeded cleaned variable in clean_tx_irq path The cleaned variable can be replaced by the count of packets cleaned during the tx interrupt routine so it can be removed. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 4662e82b2cb41c60826e50474dd86dd5c6372b0c Author: Bruce Allan Date: Tue Aug 26 18:37:06 2008 -0700 e1000e: add support for new 82574L part This new part has the same feature set as previous parts with the addition of MSI-X support. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit f4187b56e1f8a05dd110875d5094b21b51ebd79b Author: Bruce Allan Date: Tue Aug 26 18:36:50 2008 -0700 e1000e: add support for 82567LM-3 and 82567LF-3 (ICH10D) parts Add support for new LOM devices on the latest generation ICHx platforms. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 2f15f9d60190a62bc8ac50fa84fea31fc0b00ecf Author: Bruce Allan Date: Tue Aug 26 18:36:36 2008 -0700 e1000e: add support for the 82567LM-4 device Enable PCI device ID for a new combination of MAC and PHY already supported in the driver. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 4eeae6fd3f6a7f4cee0e75cf8b0d30b265339ae8 Author: PJ Waskiewicz Date: Tue Aug 26 04:27:30 2008 -0700 ixgbe: use different context for tso and offload Change TSO offloads to use a different context than VLAN insertion and Tx checksumming. Hardware has separate registers internally for storing these so use them. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit cc41ac7c0011703460dd4d4674bb7cbf73bb883d Author: Jesse Brandeburg Date: Tue Aug 26 04:27:27 2008 -0700 ixgbe: fix dca hints going to wrong processor hardware was configured incorrectly which led all hints to be sent to queue[0]'s DCA configuration. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit e9990a9cd76a14905a8bf2348444ff775b24a92f Author: Jesse Brandeburg Date: Tue Aug 26 04:27:24 2008 -0700 ixgbe: fix bug where lro settings are per ring Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 96b0e0f63b03153f7f2915f584083b4191b1932d Author: Jesse Brandeburg Date: Tue Aug 26 04:27:21 2008 -0700 ixgbe: update dca to new interface, fix CONFIG_DCA_MODULE DCA related fixes ================= - ixgbe was not compiling and using DCA correctly if dca was a module - DCA interface changed with new kernel - ixgbe was not correctly configured to indicate DCA hints to the correct CPU. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 22f32b7a5ad34f23eb18f0e089522f1652ae8abc Author: Jesse Brandeburg Date: Tue Aug 26 04:27:18 2008 -0700 ixgbe: should not use HW_CSUM, should use IP* flags as mentioned by Herbert, our hardware supports IP offloads, not full checksum offloads for any protocol in existence (even though the hardware just provides generic csum support over any range of bytes) Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 7c6e0a436d971641d37cebcb12e8cc0c4419b5d4 Author: Jesse Brandeburg Date: Tue Aug 26 04:27:16 2008 -0700 ixgbe: Lock RSS seed, move rx_buf_len to the rx_ring This locks the seed down so loading/unloading the driver will present predictable hashing from RSS. Also move the rx_buf_len out of the adapter struct, and into the Rx ring struct. Signed-off-by: Jesse Brandeburg Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit e01c31a5f7eb4f8a147cf6205f0f2ef11146068d Author: Jesse Brandeburg Date: Tue Aug 26 04:27:13 2008 -0700 ixgbe: Implement Tx Head Writeback Enable Tx Head Writeback in the hardware. This helps performance by removing adapter writebacks to descriptors on transmit completion. Signed-off-by: Jesse Brandeburg Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 2b9ade935cd2be6db26f5445656950bc3da7055d Author: Jesse Brandeburg Date: Tue Aug 26 04:27:10 2008 -0700 ixgbe: disable flow control by default Since the adapter cannot tell what the remote end's flow control capability is through auto-neg, we must turn off flow control by default. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 3a581073e0f9f3966ac95a89cd04a0a6b948dc77 Author: Jesse Brandeburg Date: Tue Aug 26 04:27:08 2008 -0700 ixgbe: Cleanup references to Tx and Rx rings to becommon across the driver Cleanup all the different references to the Tx ring and Rx ring structures and make them common across the driver. Signed-off-by: Jesse Brandeburg Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 036c9b097034b4ea82974f7c98d10ec7fbf81902 Author: Jesse Brandeburg Date: Tue Aug 26 04:27:05 2008 -0700 ixgbe: do not update stats twice each receive Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 2c5645cf65dc6dce15dac47a7cdfabb85224fede Author: Christopher Leech Date: Tue Aug 26 04:27:02 2008 -0700 ixgbe: Implement HAVE_SET_RX_MODE Implement HAVE_SET_RX_MODE in the driver for MC and UC lists. Signed-off-by: Christopher Leech Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 9da09bb1b806a85a0bc4fb5426fb3022f56aad19 Author: Jesse Brandeburg Date: Tue Aug 26 04:26:59 2008 -0700 ixgbe: add little endian annotations for sparse Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 712744bebef1e47623244004a2770d0438b5b3f7 Author: Jesse Brandeburg Date: Tue Aug 26 04:26:56 2008 -0700 ixgbe: fix rx csum return status misinterpretation the driver was misinterpreting rx_csum return value in the descriptor so occassionally we would indicate an rx_csum error in our stats when there was none. This would have no effect on traffic because we would just hand the packet to the stack anyway without the offload flag set, but would increase CPU for those packets that needed a recompute. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit fa928c0caa9cb1ebc2fb6717b2f7bb73dd4f487c Author: roel kluin Date: Sat Aug 30 22:48:24 2008 +0200 ibm_newemac: MAL[12]_IER_EVENTS definition: 2x *_OTE -> *_DE MAL[12]_IER_EVENTS definitions have MAL_IER_OTE twice but lack MAL_IER_DE Signed-off-by: Roel Kluin Signed-off-by: Jeff Garzik commit 8dcc61ac32e8c2170c10ea7f2ccc473d28fcbbc5 Author: Randy Dunlap Date: Tue Sep 2 13:03:44 2008 -0700 hp-plus: fix link objects Fix hp-plus Makefile object file: drivers/built-in.o: In function `hpp_open': hp-plus.c:(.text+0xaf445): undefined reference to `ei_interrupt' hp-plus.c:(.text+0xaf4ac): undefined reference to `ei_open' drivers/built-in.o: In function `hpp_close': hp-plus.c:(.text+0xaf59d): undefined reference to `ei_close' drivers/built-in.o: In function `hpp_probe1': hp-plus.c:(.init.text+0x7314): undefined reference to `ei_poll' drivers/built-in.o: In function `hp_plus_probe': (.init.text+0x7407): undefined reference to `__alloc_ei_netdev' make[1]: *** [.tmp_vmlinux1] Error 1 Signed-off-by: Randy Dunlap Signed-off-by: Jeff Garzik commit f14c4e4e3651b76ae09082fa66cda37e10ac2b43 Author: Brian Haley Date: Tue Sep 2 10:08:08 2008 -0400 bonding: change some __constant_htons() to htons() Resending since I didn't see any responses from the first try. Change __constant_htons() to htons() in the bonding driver, it should only be used for initializers. -Brian Signed-off-by: Brian Haley Signed-off-by: Jeff Garzik commit a816f75ac5caa79b08325e35317f964f03841d52 Author: Ben Hutchings Date: Mon Sep 1 12:49:12 2008 +0100 sfc: Rework efx_set_multicast_hash() When !port_enabled, defer the write to reconfigure_mac_wrapper. Whilst here, simplify the logic now that efx_start_port() always calls efx_reconfigure_port(). From: Steve Hodgson Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 3c78708fe83d0fff994683e396e28ef259b7497b Author: Ben Hutchings Date: Mon Sep 1 12:49:08 2008 +0100 sfc: Remove the STATE_RESETTING flag This was originally a kludge to fix broken locking, which has since been fixed properly. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 8c8661e4cefdd1ddbfe7d5120f046694555d9e5c Author: Ben Hutchings Date: Mon Sep 1 12:49:02 2008 +0100 sfc: Extend self-tests Include PMA/PMD in loopback self-tests as intended. Add NVRAM checksum validation and include it in self-tests. Add register self-tests. Run PHY self-tests where available. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit a515089c963b045f65c495cee1d344d8cb75e1d1 Author: Ben Hutchings Date: Mon Sep 1 12:48:55 2008 +0100 sfc: Rework the bitfield header so that we can identify fields by bit number This will support register self-tests. From: Steve Hodgson Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 2467ca46b6bb7672ed59fc74ac6780bf10bcd742 Author: Ben Hutchings Date: Mon Sep 1 12:48:50 2008 +0100 sfc: Cleanup reset code Move more code from efx_reset() into efx_reset_down() and efx_reset_up(). Stop propagating MAC/PHY setting failures from efx_reset_down() and efx_reset_up() as these should not be fatal. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit bc3c90a2b70652b87cde8de65275d6f41d0f24c3 Author: Ben Hutchings Date: Mon Sep 1 12:48:46 2008 +0100 sfc: Remove some unreachable error paths Some functions return an error code which is always 0. Change their return types to void and simplify their callers accordingly. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit c1e5fcc980b7b2185b29e4f9f0d8266806ada9eb Author: Ben Hutchings Date: Mon Sep 1 12:48:41 2008 +0100 sfc: Remove remnants of multi-port abstraction for MAC registers Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 01aad7b6ffcc07544e7bdf472fbde4e6eb36a610 Author: Ben Hutchings Date: Mon Sep 1 12:48:36 2008 +0100 sfc: Remove efx_nic_dummy_op_int() as redundant with efx_port_dummy_op_int() Update comment on the dummy operation implementations. Line up the board operation initialisers. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 740847dab16b1a410a0f833df2bf21c8ed8265f3 Author: Ben Hutchings Date: Mon Sep 1 12:48:23 2008 +0100 sfc: Enable TSO for 802.1q VLAN devices Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit dacccc741164edf95fb13dbf5eedb96fb94f7290 Author: Steve Hodgson Date: Mon Sep 1 12:48:20 2008 +0100 sfc: Do not call netif_{stop,wake}_queue() before register_netdev Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit f8b87c17017f2ce1890fb9a7f85fb0fbf5643e37 Author: Ben Hutchings Date: Mon Sep 1 12:48:17 2008 +0100 sfc: Make PHY flash mode a device attribute, not a module parameter This allows updating PHY firmware for one interface without removing all other interfaces handled by the driver. Replace tx_disabled flags and 10Xpress status enumeration with flags in enum efx_phy_mode. Prevent an interface from being brought up while in PHY flash mode. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 3594e131b23665b728b4c98daaf0b61b1d4aaa7a Author: Ben Hutchings Date: Mon Sep 1 12:48:12 2008 +0100 sfc: Implement get_sset_count, replacing get_stats_count and self_test_count Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 42cbe2d73c9bc2574f86d63c2b57da93e3b3060d Author: Ben Hutchings Date: Mon Sep 1 12:48:08 2008 +0100 sfc: Cleanup RX event processing Make efx_process_channel() and falcon_process_eventq() return the number of packets received rather than updating the quota, consistent with new NAPI. Since channels and RX queues are mapped one-to-one, remove return value from falcon_handle_rx_event() and add a warning for events with the wrong RX queue number. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit d3074025345ae27fbb076a92425f28b40b6fa4c0 Author: Ben Hutchings Date: Mon Sep 1 12:48:03 2008 +0100 sfc: Remove efx_channel::evqnum field It is redundant with efx_channel::channel. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit a2589027ff0011077cdaf761be3a9a4ba40b5118 Author: Ben Hutchings Date: Mon Sep 1 12:47:57 2008 +0100 sfc: Make efx_for_each_channel_rx_queue() more efficient Currently each channel can have at most one RX queue, so go straight to that one. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 955f0a744bf2d2192cb49b2eccffbc02a4adc401 Author: Ben Hutchings Date: Mon Sep 1 12:47:52 2008 +0100 sfc: Remove initialisation of RX_FILTER_CTL_REG.NUM_KER We have long since given up doing RSS on Falcon A1 and therefore we would always write the default value of 0. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 8831da7b6c4b15c0be0ba849be4aea5eed3999c6 Author: Ben Hutchings Date: Mon Sep 1 12:47:48 2008 +0100 sfc: Cleanup RX queue information Rename efx_nic::rss_queues to the more obvious n_rx_queues Remove efx_rx_queue::used and other stuff that's redundant with it. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 64ee3120f73b9e904d97ba66386b1e8e93b81385 Author: Ben Hutchings Date: Mon Sep 1 12:47:38 2008 +0100 sfc: Remove efx_channel::has_interrupt efx_channel::has_interrupt is redundant with efx_channel::used_flags. Remove efx_test_eventq() because it is now obviously unreachable. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 46123d043d4bab23aa0d22f33972ee52cfac7f68 Author: Ben Hutchings Date: Mon Sep 1 12:47:33 2008 +0100 sfc: Move CPU counting for RSS into a separate function, efx_wanted_rx_queues() Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 4a5b504d0c582db80813b70359b616ea30e91743 Author: Ben Hutchings Date: Mon Sep 1 12:47:16 2008 +0100 sfc: Export boot configuration in EEPROM through ethtool Extend the SPI device setup code to support this. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 4d566063a799231b99d9a21128634ea78b89ab72 Author: Ben Hutchings Date: Mon Sep 1 12:47:12 2008 +0100 sfc: Removed forced inlining of long functions gcc will automatically inline static functions with only one caller, and may inline other functions depending on the kernel configuration and size of the intermediate code. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 23d9e60b1ddc67ffedd77161ecff4895708088a4 Author: Ben Hutchings Date: Mon Sep 1 12:47:02 2008 +0100 sfc: Cleaned up struct tso_state fields Squashed nested structures. Renamed remaining_len to out_len, ifc.len to in_len, header_length to header_len. Moved ipv4_id into the group of output variables where it belongs. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 28506563e22a3ec7cf86e5acd853af8e68fe148b Author: Ben Hutchings Date: Mon Sep 1 12:46:54 2008 +0100 sfc: Set net_device::vlan_features appropriately Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit dc8cfa55da8c21e0b3290c29677a9d05c0a3e595 Author: Ben Hutchings Date: Mon Sep 1 12:46:50 2008 +0100 sfc: Use explicit bool for boolean variables, parameters and return values Replace (cond ? 1 : 0) with cond or !!cond as appropriate, and (cond ? 0 : 1) with !cond. Remove some redundant boolean temporaries. Rename one field that looks like a flag but isn't. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit cc12dac2e512c2b6185ed91899e09e9910630315 Author: Ben Hutchings Date: Mon Sep 1 12:46:43 2008 +0100 sfc: Reduce the size of struct efx_tx_buffer Remove unmap_addr since it can be calculated from dma_addr, len and unmap_len. This saves 4-16 bytes. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit ecbd95c17c221913cc3c5776051b2fa8b3b97316 Author: Ben Hutchings Date: Mon Sep 1 12:46:40 2008 +0100 sfc: Use pci_map_single() to map the skb header when doing TSO Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 5988b63a53e120a9db4439d4512f4c1b17e7170e Author: Ben Hutchings Date: Mon Sep 1 12:46:36 2008 +0100 sfc: Don't leak PCI DMA maps in the TSO code when the queue fills up Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit b9aafb0e91a079ff9438ce3c532ea46d4cd2f0fc Author: Ben Hutchings Date: Mon Sep 1 12:46:33 2008 +0100 sfc: Speed up loopback self-test Add efx_poll_loopback() function to test for successful completion of test. Change efx_test_loopback() to end the test after 1 ms if efx_poll_loopback() indicates success, and otherwise to wait for 100 ms as before. While we're here, rename efx_{rx,tx}_loopback() to efx_{begin,end}_loopback() which more accurately reflect their purpose. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit f8ea0b6743f00180ee3260d82f383a02a4dd9a78 Author: Ben Hutchings Date: Mon Sep 1 12:46:28 2008 +0100 sfc: Self-test reporting cleanup Removed log messages that are redundant with calling functions. Fixed bitwise or-ing of return codes. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit e9713e6f4eb55a73c39a72fb8067fd053cdf8e95 Author: Ben Hutchings Date: Mon Sep 1 12:46:25 2008 +0100 sfc: Reduce log level for XGXS lane status This was making noise during 10Xpress self-test. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit c84a6f18a957204138330283461dba033cc9ed52 Author: Ben Hutchings Date: Mon Sep 1 12:46:21 2008 +0100 sfc: Reverse the XOFF/XON pause frame control fifo thresholds These were clearly bogus. From: Steve Hodgson Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit f90748f009966caa2d004d84ce4b585b5cffb3e8 Author: Ben Hutchings Date: Mon Sep 1 12:46:16 2008 +0100 sfc: Remove inclusion of workarounds.h from efx.c efx.c does not use hardware workarounds. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit c264361d31bec0a444e0c4ffd40479e66eef6c15 Author: Ben Hutchings Date: Mon Sep 1 12:46:10 2008 +0100 sfc: XMAC statistics fix-ups Exclude assumed size of RX control frames from rx_bad_bytes. Exclude assumed size of TX control frames from tx_good_bytes for consistency with rx_good_bytes. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 5b39fe307b58fc6d71265eeed809ab799a2e2ec9 Author: Ben Hutchings Date: Mon Sep 1 12:46:03 2008 +0100 sfc: Remove mistaken hardware workaround We believed that some valid SNAP frames were being marked as invalid. In fact this is not the case and no workaround is needed. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 11f34e691d6b3501606a9eaf5379ec718d2fabeb Author: Ben Hutchings Date: Mon Sep 1 12:45:48 2008 +0100 sfc: Reduce delays in SFE4001 initialisation Currently the board initialisation includes 2 delays of 1 second each. Usually it is unnecessary to wait that long, so check before doing so. Correct some of the comments and log messages while we're here. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit a0c2c19093bb326ecce4231e558f92e1e7985e37 Author: Ben Hutchings Date: Mon Sep 1 12:45:08 2008 +0100 sfc: Avoid mangling error codes in efx_test_loopback() efx_test_loopback() used "|" to combine the results of the RX and TX phases. If both phases fail with different error codes, this results in a bogus error code. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 60ac10658c2e234cf7bc27e0930e324c6c6fcf61 Author: Ben Hutchings Date: Mon Sep 1 12:44:59 2008 +0100 sfc: Use separate hardware TX queues to select checksum generation Checksum generation is an attribute of our hardware TX queues, not TX descriptors. We previously used a single queue and turned checksum generation on or off as requested through ethtool. However, this can result in regenerating checksums in raw packets that should not be modified. We now create 2 hardware TX queues with checksum generation on or off. They are presented to the net core as one queue since it does not know how to select between them. The self-test verifies that a bad checksum is unaltered on the queue with checksum generation off. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 26c086771a8ad0a1a72699674fa712fe6aeacb02 Author: Steve Hodgson Date: Mon Sep 1 12:44:48 2008 +0100 sfc: Remove unused field efx_channel::reset_work Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 18c2fc0478d5eff08d78bf28635004ec9a9b3946 Author: Ben Hutchings Date: Mon Sep 1 12:43:39 2008 +0100 sfc: Change first parameter type of {set,clear}_bit_le() to unsigned This means the compiler doesn't need to use real division instructions. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 767e468c06fc0e88f95881c1056437688b37c7c6 Author: Ben Hutchings Date: Mon Sep 1 12:43:14 2008 +0100 sfc: Replace net_dev->priv with netdev_priv(net_dev) Use of the net_device::priv field is deprecated. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 5280267c1dddb8d413595b87dc406624bb497946 Author: David S. Miller Date: Wed Sep 3 02:04:41 2008 -0700 sparc: Fix handling of LANCE and ESP parent nodes in of_device.c The device nodes that sit above 'esp' and 'le' on SBUS lack a 'ranges' property, but we should pass the translation up to the parent node so that the SBUS level ranges get applied. Based upon a bug report from Robert Reif. Signed-off-by: David S. Miller commit 2c10b32bf57db7ec6d4cca4c4aa3d86bacb01c8a Author: Thomas Graf Date: Tue Sep 2 17:30:27 2008 -0700 netlink: Remove compat API for nested attributes Removes all _nested_compat() functions from the API. The prio qdisc no longer requires them and netem has its own format anyway. Their existance is only confusing. Resend: Also remove the wrapper macro. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit dc8e19094872cc4c9449268a44cbc2b99654840d Author: David Woodhouse Date: Tue Sep 2 23:15:22 2008 +0100 EFS: Don't set f_fsid in statfs(). We don't have any suitable value to put in f_fsid. Using EFS_MAGIC really isn't a good idea, because all EFS file systems will have the same f_fsid then. Signed-off-by: David Woodhouse commit 44be6fdf1056b685eb79e53e42bd2d321b085cfc Author: David Teigland Date: Thu Aug 28 11:36:19 2008 -0500 dlm: fix address compare Compare only the addr and port fields of sockaddr structures. Fixes a problem with ipv6 where sin6_scope_id does not match. Signed-off-by: David Teigland commit cc2e113b4bbd415d53d8bb87a446cde6b7ce8acc Author: Ilya Yanok Date: Mon Sep 1 17:53:22 2008 +1000 powerpc/4xx: Necessary fixes to PCI for 4GB RAM size The declaration of total_memory removed. Now including instead. Since total_memory is a phys_addr_t which is 64-bit on 44x and is_power_of_2() works with u32 so I just inlined (size & (size-1)) != 0 instead. Also this patch fixes default initialization: res->end should be 0x7fffffff not 0x80000000. Signed-off-by: Ilya Yanok Acked-by: Stefan Roese Signed-off-by: Josh Boyer commit 9723f38eb53eac9a851210b629555a37afa3f15c Author: David S. Miller Date: Tue Sep 2 03:15:44 2008 -0700 sparc32: Fix sun4c build warnings. Reported by Stephen Rothwell. Signed-off-by: David S. Miller commit 8aef72786192a46e20791b2e854ea3ed047bc15c Author: David S. Miller Date: Mon Sep 1 20:23:18 2008 -0700 pci_sun4v: Use of_get_property(). Signed-off-by: David S. Miller commit 463801b3ae97fe1c652ce8da5a61367405d6ec3e Author: David S. Miller Date: Mon Sep 1 20:21:15 2008 -0700 pci_schizo: Use of_get_property() and delete spurious local vars. Signed-off-by: David S. Miller commit 0f73d1bbe6240bcdf14c221bbe2ece63540c5c44 Author: David S. Miller Date: Mon Sep 1 20:18:04 2008 -0700 pci_psycho: Use of_getintprop_default(). Signed-off-by: David S. Miller commit 446139a8f7078d96159a936fd6059660db425405 Author: David S. Miller Date: Tue Sep 2 00:49:38 2008 -0700 sparc64: Implement SSTATE purely using notifiers and initcalls. Don't clutter up the tree with sstate_blah() scattered all over the place. Signed-off-by: David S. Miller commit cdb3592a20b41377a28a0737dc9af95e53024470 Author: David S. Miller Date: Mon Sep 1 19:31:16 2008 -0700 sparc64: Move reboot handling into seperate file and kill power reg programming. We should always use prom_power_off(). Signed-off-by: David S. Miller commit e822358ac24550d889895d5866797ae8c9b188c2 Author: David S. Miller Date: Mon Sep 1 18:32:22 2008 -0700 sparc64: Pass proper parent device down into root pci_create_bus() call. Signed-off-by: David S. Miller commit 7cc288add44c392dfc8c1dbf0e3a26a69a14fa70 Author: David S. Miller Date: Mon Sep 1 18:32:13 2008 -0700 sparc64: Kill the scan_bus function pointer in struct pci_pbm_info. No longer used. Signed-off-by: David S. Miller commit 57a7a62eb65b35f51814382b0841ff99be242880 Author: Marc Zyngier Date: Mon Sep 1 13:03:32 2008 +0100 [ARM] 5233/1: Allow PXA to have ISA IRQs numbered 0-15 Allow PXA IRQs to be numbered starting at 16, leaving 0 to 15 for the ISA IRQs, if needed. This patch depends on RMK's PXA_HAVE_BOARD_IRQS patch. Signed-off-by: Marc Zyngier Acked-by: Russel King Acked-by: Eric Miao Signed-off-by: Russell King commit 7a5063d86e95774ada66baac58fdfb7a80c75180 Author: Russell King Date: Fri Aug 22 11:09:38 2008 +0100 [ARM] pxa: introduce PXA_HAVE_BOARD_IRQS Signed-off-by: Russell King commit 22acc4e65043d436bc286e6059960fa533e37356 Author: Catalin Marinas Date: Fri Aug 29 18:31:27 2008 +0100 [ARM] 5231/1: Do not save the frame pointer in the csum_partial_copy_* functions Since the other assembly functions do not seem to save the frame pointer onto the stack, this patch changes the csum_partial_copy_* functions to behave in the same way. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 4e6a0c397f40c9d98062aaaac66cab684f0b9186 Author: Catalin Marinas Date: Fri Aug 29 18:31:15 2008 +0100 [ARM] 5230/1: Replace post-indexed LDRT/STRT in uaccess.h The post-index immediate value is optional if it is 0 and this patch removes it. The reason is to allow such instructions to compile to Thumb-2 where only pre-indexed LDRT/STRT instructions are allowed. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 9c23e5fefaaecd494925258084a31c8ff301ad03 Author: Catalin Marinas Date: Fri Aug 29 18:31:21 2008 +0100 [ARM] 5232/1: Do not post-index STRT instruction in clear_user.S The last strnebt instruction has a post-index of 1 but the address register is set to 0 in the next instruction, so no need for post-indexing. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 93ed3970114983543bbebd195bef65db84444ea2 Author: Catalin Marinas Date: Thu Aug 28 11:22:32 2008 +0100 [ARM] 5227/1: Add the ENDPROC declarations to the .S files This declaration specifies the "function" type and size for various assembly functions, mainly needed for generating the correct branch instructions in Thumb-2. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 8d5796d2ec6b5a4e7a52861144e63af438d6f8f7 Author: Lennert Buytenhek Date: Mon Aug 25 21:03:32 2008 +0100 [ARM] 5222/1: Allow configuring user:kernel split via Kconfig This patch adds a config option (CONFIG_VMSPLIT_*) to allow choosing between 3:1, 2:2 and 1:3 user:kernel memory splits. Tested-by: Riku Voipio Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit 2d4b6c9aeb94cb9cb5c250f23e81e6d00b461372 Author: Nicolas Pitre Date: Thu Aug 21 23:22:49 2008 +0100 [ARM] 5221/1: fix ldm/stm emulation for kprobes Logic for the p bit was reversed. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit d81030a1badb4e4d08358ff2c2bda9b11d5a6559 Author: Nicolas Pitre Date: Thu Aug 21 23:09:48 2008 +0100 [ARM] 5211/2: fix a couple warnings from BUG() usage When CONFIG_DEBUG_BUGVERBOSE is not set, we get warnings such as: arch/arm/mm/ioremap.c: In function ‘remap_area_pte’: arch/arm/mm/ioremap.c:67: warning: control reaches end of non-void function mm/bootmem.c: In function ‘mark_bootmem’: mm/bootmem.c:321: warning: control reaches end of non-void function fs/dcache.c: In function ‘d_materialise_unique’: fs/dcache.c:1875: warning: control reaches end of non-void function fs/nfs/client.c: In function ‘nfs_sockaddr_match_ipaddr’: fs/nfs/client.c:251: warning: control reaches end of non-void function block/cfq-iosched.c: In function ‘cfq_async_queue_prio’: block/cfq-iosched.c:1501: warning: control reaches end of non-void function Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit e589ed23dd27b890900eb7514f0a9e297d1e02b5 Author: Mikael Pettersson Date: Wed Aug 20 09:36:07 2008 +0100 [ARM] 5218/1: arm: improved futex support Linux/ARM currently doesn't support robust or PI futexes. The problem is that the kernel wants to perform certain ops (cmpxchg, set, add, or, andn, xor) atomically on user-space addresses, and ARM's futex.h doesn't support that. This patch adds that support, but only for uniprocessor machines. For UP it's enough to disable preemption to ensure mutual exclusion with other software agents (futexes don't need to care about other hardware agents, fortunately). This patch is based on one posted by Khem Raj on 2007-08-01 . (That patch is included in the -RT kernel patches.) My changes since that version include: * corrected implementation of FUTEX_OP_ANDN (must complement oparg) * added missing memory clobber to futex_atomic_cmpxchg_inatomic() * removed spinlock because it's unnecessary for UP and insufficient for SMP, instead the code is restricted to UP and relies on the fact that pagefault_disable() also disables preemption * coding style cleanups Tested on ARMv5 XScales with the glibc-2.6 nptl test suite. Tested-by: Bruce Ashfield Signed-off-by: Mikael Pettersson Signed-off-by: Russell King commit 3305a60795442a22fe8e9f5fb93a6f1f8dea6bb2 Author: Nicolas Pitre Date: Tue Aug 19 04:15:23 2008 +0100 [ARM] 5206/1: remove kprobe_trap_handler() hack As mentioned in commit 796969104cab0d454dbc792ad0d12a4f365a8564, and because of commit b03a5b7559563dafdbe52f8b5d8e453a914db941, the direct calling of kprobe_trap_handler() can be removed. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit ac9d7efc7da0d88f9e7a1e0f532da35b7673098e Author: Russell King Date: Mon Aug 18 17:26:00 2008 +0100 [ARM] Update arch/arm/Kconfig for drivers/Kconfig changes, add cpuidle Signed-off-by: Russell King commit d7ac4e28ccc63ed6b4d67bd9c4a67cb9533eeb45 Author: Jean PIHET Date: Tue Aug 12 19:07:39 2008 +0100 [ARM] 5195/1: ARMv7 Oprofile support Add Oprofile kernel support for ARMv7. Tested on OMAP3430 and OMAP3530 chipsets (Cortex-A8). Signed-off-by: Jean Pihet Signed-off-by: Russell King commit 46097c7dd8bfaf9fb86565b6de45ab5a63afdd53 Author: Russell King Date: Sun Aug 10 18:10:19 2008 +0100 [ARM] cachetype: move definitions to separate header Rather than pollute asm/cacheflush.h with the cache type definitions, move them to asm/cachetype.h, and include this new header where necessary. Signed-off-by: Russell King commit 0ba8b9b273c45dd23f60ff700e265a0069b33758 Author: Russell King Date: Sun Aug 10 18:08:10 2008 +0100 [ARM] cputype: separate definitions, use them Add asm/cputype.h, moving functions and definitions from asm/system.h there. Convert all users of 'processor_id' to the more efficient read_cpuid_id() function. Signed-off-by: Russell King commit fefbbc73cac6f7360460cee45e3d4cc209d8d607 Author: David S. Miller Date: Mon Sep 1 03:18:49 2008 -0700 sparc64: Use ENTRY/ENDPROC in PCI SUN4V asm. Signed-off-by: David S. Miller commit 687124dda0beeb8503ae27a1588e4705b3a588c2 Author: David S. Miller Date: Mon Sep 1 03:13:17 2008 -0700 sparc64: Use ENTRY/ENDPROC in hypervisor asm. Signed-off-by: David S. Miller commit 3d452e55ef905fc6fbf813a66c16de1293e243a1 Author: David S. Miller Date: Mon Sep 1 01:48:52 2008 -0700 sparc64: Apply const or __initdata to vio_device_id[] This mirrors the of_device_id[] changes done in fd098316ef533e8441576f020ead4beab93154ce ("sparc: Annotate of_device_id arrays with const or __initdata.") Signed-off-by: David S. Miller commit ba4962d7a6a10c82e55c14589d4ec635bef8446f Author: David S. Miller Date: Sun Aug 31 21:48:12 2008 -0700 sparc64: Clean up CPU chip type probing code. Three main things: 1) Make prober an arch initcall instead of using hard-coded invocation from paging_init() 2) Shrink table size, the fpu ident stuff was never used. 3) Use named struct initialized in table. Signed-off-by: David S. Miller commit 5110bd21b8af4199b8332c0ab0b23367556653d3 Author: Adrian Bunk Date: Sun Aug 31 20:59:37 2008 -0700 sparc: remove CONFIG_SUN4 While doing some easy cleanups on the sparc code I noticed that the CONFIG_SUN4 code seems to be worse than the rest - there were some "I don't know how it should work, but the current code definitely cannot work." places. And while I have seen people running Linux on machines like a SPARCstation 5 a few years ago I don't recall having seen sun4 machines, even less ones running Linux. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit b69416b51be0757c82f1c5a0a3f0995a4484dab4 Author: David S. Miller Date: Sun Aug 31 20:56:15 2008 -0700 sparc64: Rewrite central driver. This driver is now limited to just doing the basic clock board and FHC chip initialization and registering the platform devices for the per-board LEDs, which are driven by the new LEDS_STARFIRE driver. The IRQ register handling is already confined purely to the device tree code. Signed-off-by: David S. Miller commit 5843492ccce3568ff6eb6efc52fb793923207d0b Author: David S. Miller Date: Sun Aug 31 20:26:48 2008 -0700 leds: Add driver for Sunfire UltraSPARC server LEDs. Signed-off-by: David S. Miller commit a45b3fb19ba1e4dfc3fc53563a072612092930a9 Author: Dominik Brodowski Date: Sun Aug 31 16:00:42 2008 +0200 pcmcia: ioctl-internal definitions cisinfo_t and cs_status_t are only used by the (deprecated) PCMCIA ioctl. Therefore, move them out of the way. Signed-off-by: Dominik Brodowski commit 272433e088f843dc4dd5a5ad38dd68b9a93dcebf Author: Dominik Brodowski Date: Sun Aug 31 15:55:58 2008 +0200 pcmcia: cistpl header cleanup 16-bit PCMCIA device handling function definitions are moved to ds.h. Signed-off-by: Dominik Brodowski commit 2f3061eb1086f98990d6495b8c63a1b83f2f59aa Author: Dominik Brodowski Date: Sun Aug 31 15:50:33 2008 +0200 pcmcia: remove unused argument to pcmcia_parse_tuple() Since we're just parsing the tuple being passed to this function, we don't need any device-specific information. Also, remove the call to pcmcia_validate_cis() from pcmciamtd.c, since it is already called by the PCMCIA core. Signed-off-by: Dominik Brodowski commit 994917f8b718f1cd7114317cc3cbf04fe46c1841 Author: Dominik Brodowski Date: Sun Aug 31 15:20:26 2008 +0200 pcmcia: card services header cleanup 16-bit PCMCIA device handling function definitions are moved to ds.h, internal definitions to cs_internal.h. Signed-off-by: Dominik Brodowski commit 10d29ff9070caf5810d37ab06e30f7acad278f1e Author: David S. Miller Date: Sun Aug 31 01:40:12 2008 -0700 sparc64: Delete starfire_cpu_setup(). It does nothing. Signed-off-by: David S. Miller commit d7472c389ee1044d04af8a5b7c51aa7af96ed2db Author: David S. Miller Date: Sun Aug 31 01:33:52 2008 -0700 sparc64: Simplify error handling in PCI controller probing. Based upon suggestions from Stephen Rothwell. Signed-off-by: David S. Miller commit fd098316ef533e8441576f020ead4beab93154ce Author: David S. Miller Date: Sun Aug 31 01:23:17 2008 -0700 sparc: Annotate of_device_id arrays with const or __initdata. As suggested by Stephen Rothwell. Signed-off-by: David S. Miller commit 933b2a1d8d458d6fe12b5efd63a0432852c44d6d Author: David S. Miller Date: Sat Aug 30 12:34:20 2008 -0700 sparc: Stop setting NO_DMA. This fixes the build with PCI disabled, we do want the generic DMA facilities and interfaces even when just SBUS is enabled. Based upon a build failure report by Robert Reif. Signed-off-by: David S. Miller commit c8049966b7f903ce61e94efbbddf581cf8860b85 Author: David S. Miller Date: Sat Aug 30 03:12:38 2008 -0700 sparc64: Convert FIRE PCI controller driver into a real driver. And now all the by-hand PCI controller probing junk in pci.c can die too. Signed-off-by: David S. Miller commit edbe805b2b1044659e0727136213bdf42bd1b9d0 Author: David S. Miller Date: Sat Aug 30 03:14:01 2008 -0700 sparc64: Convert SABRE PCI controller driver into a real driver. Signed-off-by: David S. Miller commit b20bfe41badcbf38512fbe1118fe2e0817098e77 Author: David S. Miller Date: Sat Aug 30 03:13:20 2008 -0700 sparc64: Convert PSYCHO PCI controller driver into a real driver. Signed-off-by: David S. Miller commit 3822b50964d6702b7d8ba18ffd132d4bf786a17e Author: David S. Miller Date: Sat Aug 30 02:50:29 2008 -0700 sparc64: Convert SUN4V PCI controller driver into a real driver. Signed-off-by: David S. Miller commit 6d19c88f53bb3471a15152ea4fbdbebd36c0046c Author: David S. Miller Date: Sat Aug 30 02:30:24 2008 -0700 sparc64: Convert SCHIZO PCI controller driver into a real driver. The idea is to convert all of the PCI controller drivers into genuine OF drivers, then we can get rid of this terrible probing table and infrastructure in arch/sparc64/kernel/pci.c Signed-off-by: David S. Miller commit c510b9bfa1c34c1452f7a4389ff6de4f72a78193 Author: David S. Miller Date: Sat Aug 30 01:18:56 2008 -0700 sparc64: Don't invoke power_init() from pcibios_init(). That's just silly, use device_initcall() instead. Signed-off-by: David S. Miller commit e0ac612e6997429a21887475709ca6d6224971f2 Author: David S. Miller Date: Sat Aug 30 00:37:36 2008 -0700 sparc: Kill ebus_bus_type. No longer used. Signed-off-by: David S. Miller commit 356d164757310cd822d71da2027d50ec39798b7f Author: David S. Miller Date: Sat Aug 30 00:36:11 2008 -0700 sparc: Kill EBUS driver layer. All that remains is the EBUS DMA programming library for sparc64. Signed-off-by: David S. Miller commit 75081322c9d0d56f8880178f9fcc93778bcf0220 Author: David S. Miller Date: Sat Aug 30 00:23:51 2008 -0700 sparc32: Convert PC RTC probing to pure OF driver. Signed-off-by: David S. Miller commit afc88ad6b38797aeec4d635140099ace077df587 Author: David S. Miller Date: Sat Aug 30 00:13:55 2008 -0700 cs4231: Convert to EBUS side to pure OF driver. Signed-off-by: David S. Miller commit 3ae627a19ef0d7b5521a070e309ac7ebe57638d3 Author: David S. Miller Date: Fri Aug 29 23:26:23 2008 -0700 sparc64: Convert EBUS floppy support to pure OF driver. Signed-off-by: David S. Miller commit aae7fb87ec4d2df6cb551670b1765cf4e5795a3b Author: David S. Miller Date: Fri Aug 29 23:10:21 2008 -0700 sparc: Move EBUS DMA interfaces into seperate header file. These have no dependencies on the EBUS probing layer, the clients setup the registers and all of those details. The EBUS DMA layer just programs and manages the DMA controller found in EBUS. Signed-off-by: David S. Miller commit b171e19ed08c8ba832e5325fadf1be493f56665d Merge: 143b11c... 7c19a3d... Author: David S. Miller Date: Fri Aug 29 23:06:00 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: net/mac80211/mlme.c commit 39890072b320e7731b105b459cee1320957adbc7 Author: David S. Miller Date: Fri Aug 29 22:55:14 2008 -0700 bbc_envctrl: Fix build errors from bbc_i2c OF conversion. Signed-off-by: David S. Miller commit ae05f87ee2f403228bca6d28fef29d6be0bfbedc Author: David S. Miller Date: Fri Aug 29 22:42:34 2008 -0700 sparc64: Propagate PCI device archdata into OF device tree for EBUS. In order to convert EBUS drivers doing DMA into pure OF drivers, we need the of_device->dev.archdata setup properly. EBUS instances that can provide DMA for device nodes sit on PCI, so detect and propagate the information there. Signed-off-by: David S. Miller commit e21e245bcd9d5244735799387d14421789b20557 Author: David S. Miller Date: Fri Aug 29 22:34:14 2008 -0700 bbc_i2c: Convert to pure OF driver. This thing was a mess, who wrote this junk? :) Luckily we'll soon have nice generic I2C layer drivers for this PCF based I2C stuff on sparc64. Signed-off-by: David S. Miller commit 6b8c90f24e24505f97efaef1a46572d6b45929b9 Author: David S. Miller Date: Fri Aug 29 21:05:15 2008 -0700 envctrl: Convert to pure OF driver. Signed-off-by: David S. Miller commit 95d4390579e02e168a14f19506fbadd30daffced Author: David S. Miller Date: Fri Aug 29 18:01:58 2008 -0700 display7seg: Convert to pure OF device driver. Signed-off-by: David S. Miller commit 0e52fe8c01e7945881aac6aeb7c96af3f59976a8 Author: David S. Miller Date: Fri Aug 29 17:41:36 2008 -0700 sun_uflash: Convert to pure OF driver. Signed-off-by: David S. Miller commit 8ab0dc333eacb2249c63d1fc7c5241299fa0493f Author: David S. Miller Date: Fri Aug 29 17:07:01 2008 -0700 cpwatchdog: Move to drivers/watchdog/cpwd.c Signed-off-by: David S. Miller commit c5f8556cb5b8ab020f234191a6071cbeeeabd638 Author: David S. Miller Date: Fri Aug 29 17:05:51 2008 -0700 cpwatchdog: Cleanup and convert to pure OF driver. Signed-off-by: David S. Miller commit e25ecd08c43e5111148dc4d847ac7e139ef76888 Author: David S. Miller Date: Fri Aug 29 15:42:31 2008 -0700 riowd: Distinguish between driver name and OF device node name. Driver messages should print the driver name, rather than the OF device node name. Signed-off-by: David S. Miller commit 957183f32e136450eb9a4b8eed52dfac46834eed Author: David S. Miller Date: Fri Aug 29 15:40:24 2008 -0700 riowatchdog: Move under drivers/watchdog The config stuff was already in drivers/watchdog/Kconfig Signed-off-by: David S. Miller commit e42311d75107ca78868ded0286b691aad2df1f29 Author: David S. Miller Date: Fri Aug 29 15:35:59 2008 -0700 riowatchdog: Convert to pure OF driver. This also cleans up a lot of crud in this driver: 1) Don't touch the BBC regs, just leave the watchdog trigger behavior whatever the firmware programmed it to. 2) Use WATCHDOG_MINOR instead of hardcoded and not properly allocated RIOWD_MINOR. Hey, I haven't touched it since I wrote it years ago :-) Signed-off-by: David S. Miller commit f2be6de88d247cd57010944f62267b53c47d5ae3 Author: David S. Miller Date: Fri Aug 29 01:35:19 2008 -0700 sparc64: Use generic starfire RTC driver. Also, delete the mini RTC driver, no longer used. Signed-off-by: David S. Miller commit de2cf332b74614ad3d52206da03095b6b8cbdac1 Author: David S. Miller Date: Thu Aug 28 23:02:36 2008 -0700 rtc: Add Starfire platform RTC driver. Signed-off-by: David S. Miller commit 84d6bd5ef79a6ccc21af97b870f6ef94fbc9b11e Author: David S. Miller Date: Fri Aug 29 01:34:27 2008 -0700 sparc64: Use generic sun4v RTC driver. Signed-off-by: David S. Miller commit 7a138ede551c5282c1b81d191bdd4aa989b119a8 Author: David S. Miller Date: Fri Aug 29 01:32:43 2008 -0700 rtc: Add Sun4V hypervisor RTC driver. Signed-off-by: David S. Miller commit 29b503f11cd648b3628be3a546f97da95a6670ce Author: David S. Miller Date: Thu Aug 28 21:54:34 2008 -0700 sparc64: Use generic BQ4802 RTC driver. Signed-off-by: David S. Miller commit cca4c231028405950a15f5a27d7326d18d909784 Author: David S. Miller Date: Fri Aug 29 01:29:53 2008 -0700 rtc: Add TI BQ4802 RTC driver. Signed-off-by: David S. Miller commit da86783dda5ad8c64b945157108d1ace7aa79bbf Author: David S. Miller Date: Thu Aug 28 22:16:15 2008 -0700 sparc64: Use generic CMOS driver. Based largely upon a patch by Krzysztof Helt Signed-off-by: David S. Miller commit e8b75c4fd6e3bec57d268b76a0a9a8f58f1612e3 Author: David S. Miller Date: Thu Aug 28 16:46:23 2008 -0700 sparc: asm/mostek.h is now 32-bit only No need for the 64-bit header version any more. Signed-off-by: David S. Miller commit 1518e7ed08019539498f772faa1f9368fed91361 Author: David S. Miller Date: Thu Aug 28 21:06:27 2008 -0700 sparc64: Convert Mostek rtc to use generic RTC layer driver. Based largely upon a patch by Krzysztof Helt Signed-off-by: David S. Miller commit a0b31b578f9ab34826703762113f9d42f3ae9819 Author: David S. Miller Date: Thu Aug 28 17:34:31 2008 -0700 sparc64: Check for RTC class device in update_persistent_clock(). As we convert the various by-hand sparc64 RTC drivers to use the generic RTC framework and drivers, we need to keep the NTP set_rtc_mmss() support via update_persistent_clock() working. In the end, after all the RTC device cases are converted, this local set_rtc_mmss() function will be deleted. Signed-off-by: David S. Miller commit 90de9dea3bfb80d0db9e6d1ff26f7ea7b2f1f0f5 Author: David S. Miller Date: Thu Aug 28 17:28:37 2008 -0700 sparc64: Select RTC_CLASS Signed-off-by: David S. Miller commit 582defd8ddb90448d72692a8e1d5b2966d2ed819 Author: David S. Miller Date: Thu Aug 28 19:54:17 2008 -0700 rtc: Allow RTC_DRV_CMOS to be used on SPARC. Add Sparc to the Kconfig depends list. Add __sparc___ to address_sparc = 128 ifdef. Finally, don't be concerned about 24-hour BCD mode support if the RTC doesn't have a valid IRQ. We won't even use the alarm code in this case and the Sparc RTCs have this limitation. Signed-off-by: David S. Miller commit 143b11c03cd42f2284efe5128afc057d8fc86c78 Merge: af01d53... 18c8ade... Author: David S. Miller Date: Fri Aug 29 14:02:13 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 18c8adeb0244f823ba78a51e23f813fe68bc3c54 Author: Michael Buesch Date: Thu Aug 28 19:33:40 2008 +0200 b43: Rewrite TX power adjustment This patch rewrites the TX power recalculation algorithms to scale better with changed enviromnent. If there's low TX traffic, the power will be checked against the desired values every 60 seconds. If there is high TX traffic, the check is redone every 2 seconds. This improves the reaction times a lot and confuses the rate control less. It will also reduce the time it initially takes to tune to a new TX power value. With the old algorithm it could take about 30 to 45 seconds to settle to a new power value. This will happen in about two to four seconds now. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit ef1a628d83fc0423c36e773281162be790503168 Author: Michael Buesch Date: Wed Aug 27 18:53:02 2008 +0200 b43: Implement dynamic PHY API This patch implements a dynamic "ops" based PHY API. This is needed in order to conveniently support future PHY types to avoid the "switch"-hell. This patch does not change any functionality. It just moves lots of code from one place to another and adjusts it for the changed data structures. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 35e032d82f3e2a9b0d92077b4fbc97166525ed53 Author: Ivo van Doorn Date: Fri Aug 29 21:07:22 2008 +0200 rt2x00: Release rt2x00 2.2.1 Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 1abc3656e961e62218257a85b3fe0a90ccd9036c Author: Mattias Nissler Date: Fri Aug 29 21:07:20 2008 +0200 rt2x00: skb->data pointer should not include TX descriptor Make sure the skb->data pointer points to the frame data, not the TX descriptor. The frame dumping code relies on that. Signed-off-by: Mattias Nissler Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 6c6aa3c004e702532cb0f549a96eb2f75636bd3b Author: Ivo van Doorn Date: Fri Aug 29 21:07:16 2008 +0200 rt2x00: Add Signal type flag Instead of using the PLCP flag to indicate if the signal value is plcp or the bitrate we should add a new flag to mark the bitrate type explicitely. This is usefull when new types are added later for rt2800. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2af0a570b45ec315f364ea2c8a6d072cfcaa9d32 Author: Ivo van Doorn Date: Fri Aug 29 21:05:45 2008 +0200 rt2x00: Initialize txop during conf_tx() callback The txop parameter is supported by rt61pci and rt73usb, and thus should be written to the register instead of using the fixed value set during initialization. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2575c11d6ee7266f0f035e55c5056b36597cd336 Author: Mattias Nissler Date: Fri Aug 29 21:05:21 2008 +0200 rt2x00: Only configure hardware when radio is enabled Some hardware configuration registers such as antenna and channel configuration can only be written when the radio is enabled. Previously, we didn't consider this, so some configuration items could be set inconsistently after reenabling the radio. This patch changes the config() handler to only reprogram the hardware when the radio is enabled. Configuration changes that are made while the radio is off are postponed until the radio is switched back on. We also leave the radio turned off during initialization and only enable it when requested by mac80211. This allows us to get rid of the DIRTY_CONFIG flag, because the device is now guaranteed to be completely initialized when brought up by mac80211. Signed-off-by: Mattias Nissler Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3ee54a07d34fd9b5c34bb1488113fb32be58e38f Author: Ivo van Doorn Date: Fri Aug 29 21:04:50 2008 +0200 rt2x00: Map extra_tx_headroom to DMA If a driver requests additional headroom it should be mapped to DMA as well because it will be send to the hardware as well (as form of extra descriptor). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 0262ab0df64a67d4c0ed7577a29b7d866819cc68 Author: Ivo van Doorn Date: Fri Aug 29 21:04:26 2008 +0200 rt2x00: Fix race conditions in flag handling Some of the flags should be accessed atomically to prevent race conditions. The flags that are most important are those that can change often and indicate the actual state of the device, queue or queue entry. The big flag rename was done to move all state flags to the same naming type as the other rt2x00dev flags and made sure all places where the flags were used were changed. ;) Thanks to Stephen for most of the queue flags updates, which fixes some of the most obvious consequences of the race conditions. Among those the notorious: rt2x00queue_write_tx_frame: Error - Arrived at non-free entry in the non-full queue 0. rt2x00queue_write_tx_frame: Error - Arrived at non-free entry in the non-full queue 0. rt2x00queue_write_tx_frame: Error - Arrived at non-free entry in the non-full queue 0. Signed-off-by: Stephen Blackheath Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit de9cc7a4e6f975ca5e91cf8745b3e35a7e780bae Author: Harvey Harrison Date: Mon Aug 25 14:06:32 2008 -0700 libertas: use the common frame control functions Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit 15635744484d4255778fc641261be27179c51f9a Author: Henrique de Moraes Holschuh Date: Tue Aug 26 11:58:00 2008 -0300 rfkill: rename rfkill_mutex to rfkill_global_mutex rfkill_mutex and rfkill->mutex are too easy to confuse with each other. Rename rfkill_mutex to rfkill_global_mutex, so that they are easier to tell apart with just one glance. Signed-off-by: Henrique de Moraes Holschuh Acked-by: Ivo van Doorn Cc: Michael Buesch Signed-off-by: John W. Linville commit f745ba03a12a1c4b98a88a96ab39d9b58ac677a2 Author: Henrique de Moraes Holschuh Date: Tue Aug 26 11:57:59 2008 -0300 rfkill: add WARN and BUG_ON paranoia (v2) BUG_ON() and WARN() the heck out of buggy drivers calling into the rfkill subsystem. Also switch from WARN_ON(1) to the new descriptive WARN(). Signed-off-by: Henrique de Moraes Holschuh Acked-by: Ivo van Doorn Cc: Johannes Berg Signed-off-by: John W. Linville commit 01b510b9c29caf2134c31d2bc8c2c5cc73987eb6 Author: Felipe Balbi Date: Tue Aug 26 11:57:58 2008 -0300 rfkill: add missing line break Trivial patch adding a missing line break on rfkill_claim_show(). Signed-off-by: Felipe Balbi Acked-by: Henrique de Moraes Holschuh Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 849e0576a76bc421aacd782f97948856f487726c Author: Henrique de Moraes Holschuh Date: Tue Aug 26 11:57:57 2008 -0300 rfkill: use strict_strtoul (v2) Switch sysfs parsing to something that actually works properly. Signed-off-by: Henrique de Moraes Holschuh Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 5701ed843ea87bf8a1d2c4dee5edcb463558db4a Author: Sujith Date: Tue Aug 26 08:11:26 2008 +0530 ath9k: rc.h cleanup Use kernel doc syntax for comments and remove a few unused macros. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 1fe1132bad8e98fa34cfb4a3901340d1214b95d7 Author: Sujith Date: Tue Aug 26 08:11:06 2008 +0530 ath9k: Remove sc_lastrx as we don't use it anywhere Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 14cc709f338f44f1ff69fa0b0e35e9de3ee62eb5 Author: Sujith Date: Tue Aug 26 08:10:49 2008 +0530 ath9k: Do not update frame's duration field When AR_DurUpdateEna is set, the frame's duration field is updated by the MAC based on the current rate. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 822ceaefaaaea4bcd7965e3f4b3479e805f7dfa5 Author: Sujith Date: Tue Aug 26 08:10:29 2008 +0530 ath9k: Remove more dead code Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit c83be6885e2f1ee6e0b290b6cfc82014c675e087 Author: Vasanthakumar Thiagarajan Date: Mon Aug 25 20:47:29 2008 +0530 ath9k: Add LED support Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 36aedc903ea11a4188de0a118d26c9f20afdd272 Author: Jouni Malinen Date: Mon Aug 25 11:58:58 2008 +0300 mac80211/cfg80211: HT capabilities for NEW_STA Allow userspace (e.g., hostapd) to set HT capabilities for associated STAs. This is based on a patch from Zhu Yi (only the NL80211_ATTR_HT_CAPABILITY for NEW_STA part is included here). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 7262d59366f972b898ea134639112d34bcac35b3 Author: Christian Lamparter Date: Sun Aug 24 22:30:38 2008 +0200 p54pci: rx tasklet refactoring This patch moves the all of p54pci's receiver code out of the bloated interrupt handler routine and into a less critical tasklet. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 84df3ed30b72c3516d72bc9734d4425746b15dfc Author: Chr Date: Sun Aug 24 03:15:16 2008 +0200 p54: redo queue numbering The firmware supports 8 different queues and not only 4. So, let's make some room for further tasks (ap/adhoc support) in this area. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 031d10ee5a6df5aba6b4ac8bb01dd023cd5efc02 Author: Chr Date: Sun Aug 24 03:15:06 2008 +0200 p54: take tx_queue's lock in rx_frame_sent p54_rx_frame_sent will alter the tx_queue. Therefore we should hold the lock to protect against concurrent p54_assign_address calls. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 154e3af17fdce617605b63f3534dac2c10c90922 Author: Christian Lamparter Date: Sat Aug 23 22:15:25 2008 +0200 p54: fix rssi auto calibration Ever wondered why the signal was so bad with p54 compared to madwifi, or intel? Well, if you have revision 1 rssi calibration curve points in your EEPROM, then wonder no more. The firmware wants a extra 1 byte padding for every curve point. But someone forgot to put them into the EEPROM's data structure... So now, big question: what happens when we blindly "memcpy" these data points? Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit a3ec233c90f0b8a5c00bf182f2c3ea9119b46caa Author: Huang Weiyi Date: Sat Aug 23 13:56:25 2008 +0800 wireless: remove unused #include The driver(s) below do not use LINUX_VERSION_CODE nor KERNEL_VERSION. drivers/net/wireless/b43legacy/main.c drivers/net/wireless/iwlwifi/iwl-3945-led.c drivers/net/wireless/iwlwifi/iwl-led.c drivers/net/wireless/iwlwifi/iwl-rfkill.c This patch removes the said #include . Signed-off-by: Huang Weiyi Signed-off-by: John W. Linville commit e022edbd2bfb5f9a7ddf1cca43544f7b54c6fe02 Author: Jouni Malinen Date: Fri Aug 22 17:31:33 2008 +0300 ath9k: Use mac80211 for multicast power save buffering Replace the internal ath9k implementation of multicast/broadcast frame power save buffering (AP mode) in ath9k with use of mac80211 ieee80211_get_buffered_bc() mechanism. This removes quite a bit of duplicated functionality and simplifies the driver part. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 87e8b64e6856a41c5204a22c47cc14b1b0b57332 Author: Jouni Malinen Date: Thu Aug 21 21:45:56 2008 +0300 mac80211_hwsim: Add minimal IEEE 802.11n support Set some semi-random values for HT and add more queues to allow IEEE 802.11n association to be tested with mac80211_hwsim. This with the latest hostapd git tree version can complete a simulated 802.11n association successfully (with mac80211 client MLME). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 31ce12fb3ebf88b054deb99ad729e84888bf6125 Author: Larry Finger Date: Wed Aug 20 17:45:06 2008 -0500 ssb: Clean up extraction of MAC addresses from SPROM Only rev 1 and 2 ssb SPROMs have fields named et0mac and et1mac; however, all of the extraction routines extract pseudo data for these fields from regions that are all 1's resulting in a hardware address of FF:FF:FF:FF:FF:FF. This patch forces such a fill at the beginning of the data extraction process, and only does the formal extraction if the SPROM rev is 1 or 2. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit f5fe1fdaae86a74d6977fafd8fdd8697e398dafd Author: Dan Williams Date: Thu Aug 21 21:46:59 2008 -0400 libertas: convert adhoc operations to direct commands with fixes for v9 and later firmware too. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit d5db2dfa660de13c3643149b89c7602dd49aa168 Author: Dan Williams Date: Thu Aug 21 17:51:07 2008 -0400 libertas: convert CMD_802_11_RADIO_CONTROL to a direct command and return errors for operations like join & scan that aren't possible when the radio is turned off. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 191bb40e725304c5fcfabd92c57eef58799f0e25 Author: Dan Williams Date: Thu Aug 21 17:46:18 2008 -0400 libertas: convert CMD_802_11_DEAUTHENTICATE to a direct command and remove DISASSOCIATE because it's not in any of the specs and has never been used. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 87c8c72d532f96257162f978d5945dcf7f0df19e Author: Dan Williams Date: Tue Aug 19 15:15:35 2008 -0400 libertas: convert CMD_802_11_RF_TX_POWER to a direct command And while we're at it, grab min/max TX power from the firmware and use that to validate incoming TX power requests from WEXT. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 095f695cbb07281682462da0618fffabb499d0be Author: Larry Finger Date: Tue Aug 19 12:50:31 2008 -0500 ssb: Update for Rev. 5 SPROM Although a revision 5 SPROM has not been seen in the wild, the open-source portion of the MIPS driver 4.150.10.5 describes its layout, which is mostly inherited from revision 4. This patch implements the differences. Signed-off-by: Larry Finger Acked-by: Michael Buesch Signed-off-by: John W. Linville commit 2f58bbf27fe5321a7a208be9071efc54e8a8a3bd Author: Daniel Wagner Date: Tue Aug 19 15:44:35 2008 +0200 mac80211: Use only precedence level of DSCP field for frame classification Bit 4-5 of DSCP should not be considered by classify_d1. The 802.11 QoS Priority field is only depending on the precedence level. Signed-off-by: Daniel Wagner Signed-off-by: John W. Linville commit 43ac2ca3840f64f699a239535c590fa7ebaaac27 Author: Jouni Malinen Date: Fri Aug 15 22:21:27 2008 +0300 mac80211: Handle scan result IEs in one block Clean up and extend scan result processing by storing all the IEs from Beacon/Probe Response frames in a single block instead of allocating memory for each specific IE separately. This removes lot of unnecessary code and automatically supports reporting of new IEs (e.g., IEEE 802.11r) into user space without need to manually extend mac80211 scanning code whenever a new protocol adds IE(s). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 19b73c7f68fb2eeb180eafa70f9859409ec9aa08 Author: Sujith Date: Thu Aug 14 13:28:20 2008 +0530 ath9k: Add IEEE80211_HW_RX_INCLUDES_FCS to hw flags Don't trim the FCS before passing the frame to mac80211, move TSF_TO_TU to core.h and delete more unused macros. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 60653678939dcbba3aa936250b58179aa3451eee Author: Sujith Date: Thu Aug 14 13:28:02 2008 +0530 ath9k: Use definition from ieee80211.h Also, Max RX-ampdu and mpdu-density are ath9k specific. Rename appropriately. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 18d7c65ba6628d2759bd650e7039d6307f2c99e9 Author: Sujith Date: Thu Aug 14 13:27:41 2008 +0530 mac80211: Add an 802.11n definition This patch adds a HT Capability (DSSS/CCK Mode in 40MHz BSS) definition to ieee80211.h Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit ff9b662dab1fcd885fb728de3a8c13ebb5455117 Author: Sujith Date: Thu Aug 14 13:27:16 2008 +0530 ath9k: Miscellaneous fixes This patch removes ath_vap_listen() and dma wrapper macros. Also, Inline abuse is cleaned up and a few typos are fixed. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit dc2222a85fd63103b9aad0d4b77c4d87b78c58a2 Author: Sujith Date: Thu Aug 14 13:26:55 2008 +0530 ath9k: Random cleanup Remove dead code, add newlines, fix indentation. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 927e70e9244e6ecdc7c28bc5424b0b8c11dee314 Author: Sujith Date: Thu Aug 14 13:26:34 2008 +0530 ath9k: Remove remaining occurences of ath_skb_map functions Use direct pci functions instead. Also, use sc_ht_info.tx_chan_width directly and remove ath_cwm_macmode. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit b14ecdd0afa4f616fcd1fcff4b902e15334256c7 Author: Jouni Malinen Date: Mon Aug 11 14:01:51 2008 +0300 ath9k: Fix TX control flag use for no ACK and RTS/CTS Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 147583c057c43095925b5f331fe304f2d5b997ba Author: Jouni Malinen Date: Mon Aug 11 14:01:50 2008 +0300 ath9k: Assign seq# when mac80211 requests this Use TX control flag IEEE80211_TX_CTL_ASSIGN_SEQ as a request to update the seq# for the frames. This will likely require some further cleanup to get seq# correctly for Beacons vs. other frames and also potentially for multiple BSSes. Anyway, this is better than ending up sending out most frames with seq# 0. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 580f0b8a6dc1cb4d32c351a507d1c1d319bdc1eb Author: Jouni Malinen Date: Mon Aug 11 14:01:49 2008 +0300 ath9k: Fix TX status reporting Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit a8fff50e4d6aad520b261b3c32e2c67a7dfb7228 Author: Jouni Malinen Date: Mon Aug 11 14:01:48 2008 +0300 ath9k: Updated Beacon generation to use mac80211-style This change moves ath9k to use mac80211-generated Beacon frames instead of trying to allocate a single Beacon frame and then update it. In addition, the remaining ath_skb_{map,unmap}_single() wrapper calls are replaced with direct pci_{map,unmap}_single() calls in beacon.c. Power save buffering for multicast/broadcast frames is not yet converted to use mac80211-style (frames to be buffered inside mac80211, not in driver). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 2ad67de3c8a21354b8b2721d5d2baabb7c5013c9 Author: Jouni Malinen Date: Mon Aug 11 14:01:47 2008 +0300 ath9k: Allow AP mode to be enabled Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 98deeea0b3464955ec416c30cbd0c3d21cacfa9a Author: Sujith Date: Mon Aug 11 14:05:46 2008 +0530 ath9k: Trim struct ath_softc Add sc_rxflush and sc_noreset as bitfields to sc_flags. Remove a few variables and function prototypes that are unused. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 7c56d24bc80112daadc7ef54247a5fc8397dbc5c Author: Sujith Date: Mon Aug 11 14:05:26 2008 +0530 ath9k: Use ah_curchan and remove sc_curchan which is redundant Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 672840ac04f79f499b60b9f0eb41799c837db4eb Author: Sujith Date: Mon Aug 11 14:05:08 2008 +0530 ath9k: Use bitfields for sc operations Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit b4696c8b9233bea812b972a5e79c5db7ecf13867 Author: Sujith Date: Mon Aug 11 14:04:52 2008 +0530 ath9k: Use a single opmode variable ah_opmode and sc_opmode are redundant. This patch removes sc_opmode. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 6a2b9e8c8f4be9954933051719b312adcfb7263d Author: Sujith Date: Mon Aug 11 14:04:32 2008 +0530 ath9k: Unused macros, variables Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit d2d80ee9c6ae3d60bcbffb200959db645f5a558f Author: Sujith Date: Mon Aug 11 14:04:13 2008 +0530 ath9k: Remove ar5416hal and assign default values directly Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 556bb8f141d702a84281064751a3242359a9f257 Author: Sujith Date: Mon Aug 11 14:03:53 2008 +0530 ath9k: Remove a few unnecessary macros Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit cd3d39a6875507f4f4d585391fe3d344f0b64b5c Author: Sujith Date: Mon Aug 11 14:03:34 2008 +0530 ath9k: Use bitfields for buffer type Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 7dcfdcd908a4540512aaf06b2b35e8c8a084fb69 Author: Sujith Date: Mon Aug 11 14:03:13 2008 +0530 ath9k: RX Filter cleanup Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit f45144ef412422edf8018825328768e3db3ea45b Author: Sujith Date: Mon Aug 11 14:02:53 2008 +0530 ath9k: Merge reset functions Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 9f1ba9062e032fb7b395cd27fc564754fe4e9867 Author: Jouni Malinen Date: Thu Aug 7 20:07:01 2008 +0300 mac80211/cfg80211: Add BSS configuration options for AP mode This change adds a new cfg80211 command, NL80211_CMD_SET_BSS, to allow AP mode BSS parameters to be changed from user space (e.g., hostapd). The drivers using mac80211 are expected to be modified with separate changes to use the new BSS info parameter for short slot time in the bss_info_changed() handler. Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 7f93ea3e246db512c0c17b79847f57dd3a2891e1 Author: Johannes Berg Date: Wed Aug 6 21:45:26 2008 +0200 mac80211: fill start-sequence-number for BA session start Otherwise, drivers are required to keep track of the sequence numbers themselves, and they really shouldn't be since we already do it for them. I'll fix the race once we figure out how this code should work at all, it's currently disabled. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2b3b5485aa96d18b0025dfb2bc92c824dc81a780 Author: Jaroslav Kysela Date: Fri Aug 29 11:29:39 2008 +0200 ALSA: intel8x0: implement ac97_clock whitelist The AC97 clock detection is not accurate in some cases. This patch adds an initial whitelist for audio devices gathered from RedHat's bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=441087 As a side effect, white-listing might speedup kernel booting (AC97 clock measuring code is not activated). Signed-off-by: Jaroslav Kysela commit 0c0db98b50ed1217c0dbf4051722034ba314d06e Author: David S. Miller Date: Wed Aug 27 19:59:48 2008 -0700 sparc: Remove Documentation/sparc/sbus_drivers.txt None of the text in this document is relevant any more. Signed-off-by: David S. Miller commit 7eb1aae555663118f8d81bb26dca896d9cd8166c Author: David S. Miller Date: Wed Aug 27 05:04:18 2008 -0700 sparc: Delete asm/sbus*.h No longer used. Signed-off-by: David S. Miller commit 9dc69230a96a84ca8e6eef89cd34fad0dd8a1a09 Author: David S. Miller Date: Wed Aug 27 19:54:01 2008 -0700 sparc: Kill now spurious includes of sbus.h In order to make this week I also had to add an include of linux/dma-mapping.h to asm/pci_32.h because drivers/pci/pci.c really depends upon getting this header somehow. Signed-off-by: David S. Miller commit 0ad626a2a4c3d8e565b3a6f10eeda5b43560fbdb Author: David S. Miller Date: Tue Aug 26 21:14:05 2008 -0700 sparc32: Kill iounit_map_dma_*(). Unused. Signed-off-by: David S. Miller commit 47a2d7288538e7f334a0be318317b138f0e3dfbe Author: David S. Miller Date: Wed Aug 27 19:45:20 2008 -0700 sparc: Kill sbus_bus_type. No longer used. Signed-off-by: David S. Miller commit 046e26a8ba10b8ceff822f8d91451ab6c1e08c4e Author: David S. Miller Date: Wed Aug 27 04:54:04 2008 -0700 sparc: Remove generic SBUS probing layer. The individual SBUS IOMMU arch code now sets the IOMMU information directly into the OF device objects. Signed-off-by: David S. Miller commit 5059625ed8862e897760b86effff0f8a35989c0d Author: David S. Miller Date: Wed Aug 27 04:22:37 2008 -0700 sparc: Add OF archdata propagation helper. Add a helper function that, given a bus of_device node, propagates all iommu, stc, and host_controller values down to the child nodes. Signed-off-by: David S. Miller commit f8e4d32cb5153a9d6a8e8864e357dad1349f3b85 Author: David S. Miller Date: Wed Aug 27 04:20:14 2008 -0700 sparc: Kill sbus_arch_preinit(). 32-bit sparc just needed it to register the ioport procfs bits, do this via an arch_initcall() instead. Signed-off-by: David S. Miller commit d32bcdd7a90f19bc067a272b353800108d092c5e Author: David S. Miller Date: Wed Aug 27 04:18:55 2008 -0700 sparc32: Kill sbus_is_slave(). Unused. Signed-off-by: David S. Miller commit c6e5f661eee0ff62e7fdb263cfeee73c20dd6e99 Author: David S. Miller Date: Wed Aug 27 04:18:02 2008 -0700 sparc: Kill OBP property members of sbus_dev and sbus_bus Unused. Signed-off-by: David S. Miller commit 9b9644c6d91e9fd8edecba3ae57a35285cfce9db Author: David S. Miller Date: Wed Aug 27 04:17:24 2008 -0700 sparc: Kill sbus_devaddr() and sbus_dev_slot(). Unused. Signed-off-by: David S. Miller commit 615deeb27b7c3f51b464b47e8b9a8e433ab2d0ca Author: David S. Miller Date: Wed Aug 27 04:11:16 2008 -0700 sparc: Kill sbus_ioremap() and sbus_iounmap(). No more users. Signed-off-by: David S. Miller commit 454eeb2dd7bd0418451ea33a606d0fa50aa36718 Author: David S. Miller Date: Wed Aug 27 04:05:35 2008 -0700 sparc: Convert remaining sbus_ioremap() and sbus_iounmap() users. Use of_ioremap() and of_iounmap() instead. Signed-off-by: David S. Miller commit 98261dd1a393777f4400d8ad5a29e97cb30e5422 Author: David S. Miller Date: Wed Aug 27 03:47:56 2008 -0700 sparc: Remove dinky old-style SBUS probing facilities. No drivers or code uses this stuff any more, every driver has been converted over to OF device probing. Signed-off-by: David S. Miller commit 104364810ff5b0844a2183fbca989f70e86d486b Author: David S. Miller Date: Wed Aug 27 03:38:42 2008 -0700 sparc: Remove SBUS layer resource and irq handling. All the drivers use OF device objects now for this information. Signed-off-by: David S. Miller commit 33c4655c00e6af3ec4023f2cafd63dd4a42de49b Author: David S. Miller Date: Wed Aug 27 02:56:39 2008 -0700 sparc: Kill SBUS layer IRQ hooks. IRQs are obtained by drivers from the of_device struct. Signed-off-by: David S. Miller commit 71d3721189c0f4fad105a81e052bddfb826b693b Author: David S. Miller Date: Wed Aug 27 02:50:57 2008 -0700 sparc32: Convert sun4d IRQ code to use generic device tree probing. Signed-off-by: David S. Miller commit f1b6aa87b7eb8573d04f8cb21574fe565e86a380 Author: David S. Miller Date: Wed Aug 27 02:48:26 2008 -0700 sparc32: Convert pmc to OF driver. Signed-off-by: David S. Miller commit 7e7e2f035663c5ceb029bfb9d91e75099b0a5625 Author: David S. Miller Date: Wed Aug 27 02:45:36 2008 -0700 sparc32: Convert apc to OF driver. Signed-off-by: David S. Miller commit 4b1c5df2af38b2681b7c1a058534d17c54aaf6cf Author: David S. Miller Date: Wed Aug 27 18:40:38 2008 -0700 sparc32: Make mmu_map_dma_area and mmu_unmap_dma_area take a device pointer. This lets us kill this "map it in every IOMMU" crazy code, and also some of the final references to sbus_root. Signed-off-by: David S. Miller commit b1387c35bef6da55f6f2c27dfb748c86a4ef7ef9 Author: David S. Miller Date: Wed Aug 27 02:29:50 2008 -0700 sparc32: Kill mmu_translate_dvma and implementations. No longer used. Signed-off-by: David S. Miller commit aba945e76b9caeae5b6cfff179ca7bebb9bac805 Author: David S. Miller Date: Wed Aug 27 02:20:35 2008 -0700 sparc32: Kill mmu_translate_dvma() usage. Just simply use virt_to_page() on the provided virtual address pointer. Kill #if 0'd code. Signed-off-by: David S. Miller commit 10a104f9c591c3b1175bbb03ecb0bc8f2a4a16ee Author: David S. Miller Date: Wed Aug 27 01:55:54 2008 -0700 sparc64: Convert SBUS floppy probing to use OF device objects. Signed-off-by: David S. Miller commit 237f8aafa348d56e6ad24c49ebd23bd927fedb31 Author: David S. Miller Date: Wed Aug 27 18:39:47 2008 -0700 sparc: Convert uctrl driver to OF driver. Signed-off-by: David S. Miller commit a9540d34229c0ec1fceb9a9d1e41ea45d016044d Author: David S. Miller Date: Wed Aug 27 01:13:12 2008 -0700 sparc: Convert flash driver to OF device probing. Signed-off-by: David S. Miller commit 826b6cfcd5d4c352a461b28694720ac1dcad5813 Author: David S. Miller Date: Wed Aug 27 01:06:07 2008 -0700 fore200e: Convert over to pure OF driver. Signed-off-by: David S. Miller commit ae251031ad22a659b8261440b049d5981e57880c Author: David S. Miller Date: Wed Aug 27 18:24:01 2008 -0700 cs4231: Convert SBUS side to OF driver. Signed-off-by: David S. Miller commit 759ee81be6d87c150ea2b300c221b4fec8b5f646 Author: David S. Miller Date: Wed Aug 27 00:33:26 2008 -0700 alsa: Remove special SBUS dma support code. No longer used. Signed-off-by: David S. Miller commit 12b1c03df10da61e222b86f0e1ece9cdb2a909d6 Author: David S. Miller Date: Wed Aug 27 00:31:36 2008 -0700 cs4231: Use SNDRV_DMA_TYPE_DEV instead of SNDRV_DMA_TYPE_SBUS. SBUS layer now uses dma_*() interfaces, no need for special DMA code any longer. Signed-off-by: David S. Miller commit 2bd320f89d417c370f4cf45470d102332c25ea24 Author: David S. Miller Date: Wed Aug 27 00:30:59 2008 -0700 dbri: Convert to pure OF driver. Signed-off-by: David S. Miller commit dc8aa2e9d6c965c11ddd05fca721b2218585b9f0 Author: David S. Miller Date: Wed Aug 27 00:29:27 2008 -0700 amd7930: Convert to pure OF driver. Signed-off-by: David S. Miller commit 5dc2536bb8d8adb5fdfbe76cd6fdcdf9de3f40f8 Author: David S. Miller Date: Wed Aug 27 00:24:00 2008 -0700 qlogicpti: Convert to pure OF driver. Signed-off-by: David S. Miller commit 05bb5e93f2ef3f14e0c5a7e9281d07e7a7e4233d Author: David S. Miller Date: Wed Aug 27 00:20:58 2008 -0700 sun_esp: Convert to pure OF driver. Signed-off-by: David S. Miller commit 27167e0e63a9c53477a7de1c55888bd660c3f9a6 Author: David S. Miller Date: Wed Aug 27 00:17:50 2008 -0700 parport_sunbpp: Convert to pure OF driver. Signed-off-by: David S. Miller commit 8e912b333981a90959e9665e6ec2758be36ab805 Author: David S. Miller Date: Wed Aug 27 00:12:27 2008 -0700 sunqe: Convert to pure OF driver. Signed-off-by: David S. Miller commit af736fede772d92096b52da9aa1b0cf5de62eceb Author: David S. Miller Date: Wed Aug 27 00:07:53 2008 -0700 sunlance: Convert to pure OF driver. Signed-off-by: David S. Miller commit db1a8611c8733711b40bbce11c87336e3e374634 Author: David S. Miller Date: Fri Aug 29 02:14:29 2008 -0700 sunhme: Convert to pure OF driver. Signed-off-by: David S. Miller commit 8ef2175c86821350775718bfe7d3490bbea2e3cf Author: David S. Miller Date: Tue Aug 26 23:40:25 2008 -0700 sunbmac: Convert to pure OF driver. Signed-off-by: David S. Miller commit 9e6b6e7d8e48dedc384a377941feecec99be889e Author: David S. Miller Date: Tue Aug 26 23:36:58 2008 -0700 myri_sbus: Convert to pure OF driver. Signed-off-by: David S. Miller commit 63237eeb5ac92d618a0a6055f4b1f65c5d14682b Author: David S. Miller Date: Tue Aug 26 23:33:42 2008 -0700 sparc: Move SBUS DMA attribute interfaces out of asm/sbus.h This is in preparation for the subsequent asm/sbus.h removal. Also, make these routines take a "struct device" or no arguments, as appropriate. Signed-off-by: David S. Miller commit 738f2b7b813913e651f39387d007dd961755dee2 Author: David S. Miller Date: Wed Aug 27 18:09:11 2008 -0700 sparc: Convert all SBUS drivers to dma_*() interfaces. And all the SBUS dma interfaces are deleted. A private implementation remains inside of the 32-bit sparc port which exists only for the sake of the implementation of dma_*(). Signed-off-by: David S. Miller commit 944c67dff7a88f0a775e5b604937f9e30d2de555 Author: David S. Miller Date: Wed Aug 27 18:01:36 2008 -0700 sparc32: Implement more generic dma_*() interfaces. These dispatch to either PCI or SBUS routines based upon the device bus type. This will allow us to let SBUS drivers call these routines. Signed-off-by: David S. Miller commit 260489fa8a9735c76073ace95f03ffaf10cca884 Author: David S. Miller Date: Tue Aug 26 23:00:58 2008 -0700 sparc32: Make mmu_{get,release}_*() take a struct device pointer. Signed-off-by: David S. Miller commit 7a715f46012f3552294154978aed59cba9804928 Author: David S. Miller Date: Wed Aug 27 18:37:58 2008 -0700 sparc: Make SBUS DMA interfaces take struct device. This is the first step in converting all the SBUS drivers over to generic dma_*(). Signed-off-by: David S. Miller commit 5778002874de0fb7e3d8c4a0a4afb6b1a6297069 Author: David S. Miller Date: Mon Aug 25 22:52:37 2008 -0700 sparc: Propagate SBUS iommu archdata into real of_device objects. Signed-off-by: David S. Miller commit e003934876e75f96f1445565d8c9084c07943253 Author: David S. Miller Date: Mon Aug 25 22:47:20 2008 -0700 sparc32: Make IOMMU and IO-UNIT init work with device nodes. And stick the iommu archdata pointer into the generic OF device tree of_device struct as well. We still have to pass the sbus_bus object down into the routines so that the SBUS bus objects get the iommu cookies set properly. After drivers get converted to being pure OF drivers, that can go away. Signed-off-by: David S. Miller commit 334ae614772b1147435dce9be3911f9040dff0d9 Author: David S. Miller Date: Wed Aug 27 17:01:57 2008 -0700 sparc: Kill SBUS DVMA layer. This thing was completely pointless. Just find the OF device in the parent of drivers that want to program this device, and map the DMA regs inside such drivers too. This also moves the dummy claim_dma_lock() and release_dma_lock() implementation to floppy_32.h, which makes it handle this issue just like floppy_64.h does. Signed-off-by: David S. Miller commit 7f06a3b2c162573c924f425053227a52b4bd7cb1 Author: David S. Miller Date: Tue Aug 26 22:26:21 2008 -0700 sparc: Kill videopix SBUS driver. This has been marked BROKEN for a long time and it's more likely to get rewritten from scratch than to be fixed up and made usable. Signed-off-by: David S. Miller commit 902663f6ea4a2603bee0d88450aae2d653a46f5d Author: David S. Miller Date: Tue Aug 26 22:25:03 2008 -0700 sparc: Delete bare sbus char bpp driver, obsoleted by parport_sunbpp Signed-off-by: David S. Miller commit d886e87cb82b0f6636476c1104bb84d7c8dc87d9 Author: Tejun Heo Date: Thu Aug 28 16:42:51 2008 +0200 sound: make OSS sound core optional sound/sound_core.c implements soundcore.ko and contains two parts - sound_class which is shared by both ALSA and OSS and device redirection support for OSS. It's always compiled when any sound support is enabled although it's necessary only when OSS (the actual one or emulation) is enabled. This is slightly wasteful and as device redirection always registers character device region for major 14, it prevents alternative implementation. This patch introduces a new config SOUND_OSS_CORE which is selected iff OSS support is actually necessary and build the OSS core part conditionally. If OSS is disabled, soundcore merely contains sound_class but leaving it that way seems to be the simplest approach as otherwise sound_class should be in ALSA core file if OSS is disabled but should be in soundcore if OSS is enabled. Also, there's also the user confusion factor. Signed-off-by: Tejun Heo Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9f99a6386eb1ad1197a401495669315de2f19039 Author: Hiroshi Miura Date: Thu Aug 28 16:09:06 2008 +0200 ALSA: hda - Add support of Toshiba RX1 Added the support of Toshiba RX1 laptop with ALC262 codec chip. Related ALSA bug#3386: https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3386 Signed-off-by: Hiroshi Miura Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9e285e1a58bcf957cde9c0c559a1b9b0f708bb2f Author: John L. Utz III Date: Thu Aug 28 16:04:40 2008 +0200 ALSA: ac97 - vt1618 7.1 Audio Support 1. Implement 7.1 Output for vt1618 codec. 2. Fix typos in comments from my previous 1617a patch. Signed-off-by: John L. Utz III Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ac68c16a44df6dd9edfde31917ae304526f60398 Author: Takashi Iwai Date: Wed Aug 27 15:31:03 2008 +0200 ALSA: remove obsolete *_FIRMARE_IN_KERNEL in isa/Kconfig Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f0062a92c330cf5a45fe6c8bf30a9ee82e88f530 Author: Mark Brown Date: Thu Aug 28 12:46:24 2008 +0100 ALSA: ASoC: Convert DAPM pop time configuration to debugfs Pop time configuration is a debugging feature which shouldn't be used in normal operation so move it to debugfs where it is clearer. This also simplifies the code since debugfs provides standard facilities for exposing simple integer values to user space. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 2922c9aff22ea65f33a891af894331f0f883d127 Author: Takashi Iwai Date: Wed Aug 27 18:12:42 2008 +0200 ALSA: hda - Add descriptions of missing model values Added the descriptions of missing model values. Also, fixed the model strings of a few new models to a standard style. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0e153474f47aee906107a5c1da0ae83553e5ba6a Author: Joseph Chan Date: Tue Aug 26 14:38:03 2008 +0200 ALSA: hda - Fix VIA recording problem Add a workaround for bad DMA-position reporting on VIA chipset. Signed-off-by: Joseph Chan [modified and cleaned up by tiwai] Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit acdfc9e305b8320c5dee714a08be022441b58c44 Author: Mark Brown Date: Tue Aug 26 15:29:11 2008 +0100 ALSA: ASoC: WM8903 I2C cleanups Fix a few issues identified by Jean Delvare: - Add missing newline to error display. - Return an error when we fail to locate the I2C adaptor. - Remove the static wm8903_i2c_device Jean suggested, it's redundant. Signed-off-by: Mark Brown Acked-by: Jean Delvare Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9b6e12e45883451d24c99f5dc3ebad5f910c01d5 Author: Jean Delvare Date: Tue Aug 26 15:47:55 2008 +0200 ALSA: ASoC: Add missing new-line at end of strings Two warning messages lack their trailing new-line, add it. Signed-off-by: Jean Delvare Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f1d4e28b2dbd35191cc5097b716ec7fa49540b0b Author: Kailang Yang Date: Tue Aug 26 14:03:29 2008 +0200 ALSA: hda - Add more ALC662/663 codec support - Add support for ECS (1019:9087) - Delete G71V record from alc662_cfg_tbl[] The PCI SubsystemID was the same with M70V - Add more ASUS notebook support Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e2757d5efad01dae6986e1f84590898e47231964 Author: Kailang Yang Date: Tue Aug 26 13:17:46 2008 +0200 ALSA: hda - support more ALC888 devices - Add Lenovo Sky support (17aa:101d) - Add ASUS M90V support (1043:8317) - Add ASUS Eee 1601 support (1043:835f) Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 60db6b53fb43421beb2ff3fe3e63412bf81620aa Author: Kailang Yang Date: Tue Aug 26 13:13:00 2008 +0200 ALSA: hda - Add support of Quanta FL1 Added the support of Quanta FL1 with ALC269 code chip. Also a bit space clean-ups. Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8ef355da64ff087b6f26c4c28a14753861e83e4b Author: Kailang Yang Date: Tue Aug 26 13:10:22 2008 +0200 ALSA: hda - Add support of Acer Aspire One Added the support of Acer Aspire One with ALC269 codec chip. Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4e555fe5475437f5c05b9e1812959bf6d5cd50b9 Author: Kailang Yang Date: Tue Aug 26 13:05:55 2008 +0200 ALSA: hda - Add support of Toshiba S06 Added the support of Toshiba S06 with ALC262 codec chip. Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3f8783084aa03d04e7757ced337fa415744489a5 Author: Kailang Yang Date: Tue Aug 26 13:02:23 2008 +0200 ALSA: hda - Add support of HP DC7600 Fixed the support of HP DC7600 with ALC260, which was formerly handled as model=hp-3013. Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ea1fb29ac95dea6b3063d6bce512faae9fec6a89 Author: Kailang Yang Date: Tue Aug 26 12:58:38 2008 +0200 ALSA: hda - fix spaces in patch_realtek.c Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f1c0a02f32f86f604d811876e748a405c68cc57d Author: Mark Brown Date: Tue Aug 26 13:05:27 2008 +0100 ALSA: ASoC: Add WM8903 CODEC driver The WM8903 is a high performance ultra-low power stereo CODEC optimised for portable audio applications. Features include: * 5mW power consumption for DAC to headphone playback * Stereo DAC SNR 96dB typical, THD -86dB typical * Stereo ADC SNR 93dB typical, THD -80dB typical * Up to 3 single ended inputs per stereo channel * Up to 2 pseudo differential inputs per stereo channel * Up to 1 fully differential mic input per stereo channel * Digital Dynamic Range Controller (compressor/limiter) * Digital sidetone mixing Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d67f49b0211ff6cc2192bef884cb7b27acb32c56 Author: Jaroslav Kysela Date: Mon Aug 25 08:11:50 2008 +0200 ALSA: Cosmetic change: CA0106 on MSI K8N Diamond PLUS Motherboard Make ',' delimited with space as for other entries in table. Signed-off-by: Jaroslav Kysela commit 35200d865d49d0207b054074055e1487a0c28ae4 Author: Dominik Brodowski Date: Thu Aug 28 23:44:45 2008 +0200 pcmcia: device_id header cleanup Wrap in #ifdef to include header just once, and wrap in another #ifdef to avoid it being used in userspace. Also, format the header similar to the other PCMCIA header files. Signed-off-by: Dominik Brodowski commit d39bd56452b509f8d6054883b8a0129950ba50cc Author: Dominik Brodowski Date: Thu Aug 28 01:05:34 2008 +0200 pcmcia: encapsulate ioaddr_t By now, ioaddr_t should only be used by the deprecated ioctl, as it does not correctly reflect the maximum ioport range at least on some architectures. Signed-off-by: Dominik Brodowski commit a58357862e71919555ea96cd272e535593a8b3da Author: Dominik Brodowski Date: Thu Aug 28 00:41:16 2008 +0200 pcmcia: cleanup device driver header file The header file primarily used for (in-kernel) PCMCIA device drivers also deserved a major cleanup. This header file also serves as the dumping ground for all typedefs and definitions only used by the deprecated PCMCIA ioctl and the deprecated PCMCIA userspace tools using this ioctl. Signed-off-by: Dominik Brodowski commit a0f000ec9b61b99111757df138b11144236fc59b Author: Herbert Xu Date: Thu Aug 14 22:21:31 2008 +1000 crypto: skcipher - Use RNG interface instead of get_random_bytes This patch makes the IV generators use the new RNG interface so that the user can pick an RNG other than the default get_random_bytes. Signed-off-by: Herbert Xu commit 17f0f4a47df9aea9ee26c939f8057c35e0be1847 Author: Neil Horman Date: Thu Aug 14 22:15:52 2008 +1000 crypto: rng - RNG interface and implementation This patch adds a random number generator interface as well as a cryptographic pseudo-random number generator based on AES. It is meant to be used in cases where a deterministic CPRNG is required. One of the first applications will be as an input in the IPsec IV generation process. Signed-off-by: Neil Horman Signed-off-by: Herbert Xu commit ccb778e1841ce04b4c10b39f0dd2558ab2c6dcd4 Author: Neil Horman Date: Tue Aug 5 14:13:08 2008 +0800 crypto: api - Add fips_enable flag Add the ability to turn FIPS-compliant mode on or off at boot In order to be FIPS compliant, several check may need to be preformed that may be construed as unusefull in a non-compliant mode. This patch allows us to set a kernel flag incating that we are running in a fips-compliant mode from boot up. It also exports that mode information to user space via a sysctl (/proc/sys/crypto/fips_enabled). Tested successfully by me. Signed-off-by: Neil Horman Signed-off-by: Herbert Xu commit 5be5e667a9a5d8d5553e009e67bc692d95e5916a Author: Herbert Xu Date: Sun Aug 17 18:04:30 2008 +1000 crypto: skcipher - Move IV generators into their own modules This patch moves the default IV generators into their own modules in order to break a dependency loop between cryptomgr, rng, and blkcipher. Signed-off-by: Herbert Xu commit 1aa4ecd95d8d67d21731a00646326a71295dafa3 Author: Herbert Xu Date: Sun Aug 17 17:01:56 2008 +1000 crypto: cryptomgr - Test ciphers using ECB As it is we only test ciphers when combined with a mode. That means users that do not invoke a mode of operations may get an untested cipher. This patch tests all ciphers using the ECB mode so that simple cipher users such as ansi-cprng are also protected. Signed-off-by: Herbert Xu commit 73d3864a4823abda19ebc4387b6ddcbf416e3a77 Author: Herbert Xu Date: Sun Aug 3 21:15:23 2008 +0800 crypto: api - Use test infrastructure This patch makes use of the new testing infrastructure by requiring algorithms to pass a run-time test before they're made available to users. Signed-off-by: Herbert Xu commit da7f033ddc9fdebb3223b0bf88a2a2ab5b797608 Author: Herbert Xu Date: Thu Jul 31 17:08:25 2008 +0800 crypto: cryptomgr - Add test infrastructure This patch moves the newly created alg_test infrastructure into cryptomgr. This shall allow us to use it for testing at algorithm registrations. Signed-off-by: Herbert Xu commit 01b323245e4f6d4a22ffd73754f145f45c85988c Author: Herbert Xu Date: Thu Jul 31 15:41:55 2008 +0800 crypto: tcrypt - Add alg_test interface This patch creates a new interface algorithm testing. A test can be requested for a particular implementation of an algorithm. This is achieved by taking both the name of the algorithm and that of the implementation. The all-inclusive test has also been rewritten to no longer require a duplicate listing of all algorithms with tests. In that process a number of missing tests have also been discovered and rectified. Signed-off-by: Herbert Xu commit bdecd22821a0fab1f5c9e4c9b7fba894593507d4 Author: Herbert Xu Date: Thu Jul 31 14:03:44 2008 +0800 crypto: tcrypt - Abort and only log if there is an error The info printed is a complete waste of space when there is no error since it doesn't tell us anything that we don't already know. If there is an error, we can also be more verbose. In case that there is an error, this patch also aborts the test and returns the error to the caller. In future this will be used to algorithms at registration time. Signed-off-by: Herbert Xu commit 8cb51ba8e06570a5fff674b3744d12a1b089f2d0 Author: Austin Zhang Date: Thu Aug 7 09:57:03 2008 +0800 crypto: crc32c - Use Intel CRC32 instruction From NHM processor onward, Intel processors can support hardware accelerated CRC32c algorithm with the new CRC32 instruction in SSE 4.2 instruction set. The patch detects the availability of the feature, and chooses the most proper way to calculate CRC32c checksum. Byte code instructions are used for compiler compatibility. No MMX / XMM registers is involved in the implementation. Signed-off-by: Austin Zhang Signed-off-by: Kent Liu Signed-off-by: Herbert Xu commit f139cfa7cdccd0b315fad098889897b5fcd389b0 Author: Herbert Xu Date: Thu Jul 31 12:23:53 2008 +0800 crypto: tcrypt - Avoid using contiguous pages If tcrypt is to be used as a run-time integrity test, it needs to be more resilient in a hostile environment. For a start allocating 32K of physically contiguous memory is definitely out. This patch teaches it to use separate pages instead. Signed-off-by: Herbert Xu commit a7581a01fbc69771a2b391de4220ba670c0aa261 Author: Herbert Xu Date: Mon Aug 4 14:22:29 2008 +0800 crypto: api - Display larval objects properly Rather than displaying larval objects as real objects, this patch makes them show up under /proc/crypto as of type larval. Signed-off-by: Herbert Xu commit c51b6c8102a82239163c8c04e404c7cc2857b4be Author: Herbert Xu Date: Mon Aug 4 11:44:59 2008 +0800 crypto: api - Export crypto_alg_lookup instead of __crypto_alg_lookup Since the only user of __crypto_alg_lookup is doing exactly what crypto_alg_lookup does, we can now the latter in lieu of the former. Signed-off-by: Herbert Xu commit b6d44341864b50a308f932c39f03fb8ad5efb021 Author: Adrian Bunk Date: Wed Jul 16 19:28:00 2008 +0800 crypto: Kconfig - Replace leading spaces with tabs Instead of tabs there were two spaces. Signed-off-by: Adrian Bunk Signed-off-by: Herbert Xu commit c1dcf65ffc5796bf4ff75c13f448e63b3a416fd6 Author: David Teigland Date: Mon Aug 18 14:03:25 2008 -0500 dlm: fix locking of lockspace list in dlm_scand The dlm_scand thread needs to lock the list of lockspaces when going through it. Signed-off-by: David Teigland commit dc68c7ed362a00a48290252573a8eb9f74463c3a Author: David Teigland Date: Mon Aug 18 11:43:30 2008 -0500 dlm: detect available userspace daemon If dlm_controld (the userspace daemon that controls the setup and recovery of the dlm) fails, the kernel should shut down the lockspaces in the kernel rather than leaving them running. This is detected by having dlm_controld hold a misc device open while running, and if the kernel detects a close while the daemon is still needed, it stops the lockspaces in the kernel. Knowing that the userspace daemon isn't running also allows the lockspace create/remove routines to avoid waiting on the daemon for join/leave operations. Signed-off-by: David Teigland commit 0f8e0d9a317406612700426fad3efab0b7bbc467 Author: David Teigland Date: Wed Aug 6 13:30:24 2008 -0500 dlm: allow multiple lockspace creates Add a count for lockspace create and release so that create can be called multiple times to use the lockspace from different places. Also add the new flag DLM_LSFL_NEWEXCL to create a lockspace with the previous behavior of returning -EEXIST if the lockspace already exists. Signed-off-by: David Teigland commit 1befdefcf476d5eb2fb4243fdf4d996a376708b1 Author: Luiz Fernando N. Capitulino Date: Thu Aug 28 11:00:07 2008 -0300 x86: remove 8254 timer texts from Documentation Commit ecd29476ae0143b1c3641edfa76c0fc3e9ad3021 removed the "disable_8254_timer" and "enable_8254_timer" kernel parameters from the kernel but did not remove the references to them from two files in the Documentation directory: kernel-parameters.txt and x86/x86_64/boot-options.txt. This change completes the removal. Signed-off-by: Luiz Fernando N. Capitulino Acked-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit d9250dea3f89fe808a525f08888016b495240ed4 Author: KaiGai Kohei Date: Thu Aug 28 16:35:57 2008 +0900 SELinux: add boundary support and thread context assignment The purpose of this patch is to assign per-thread security context under a constraint. It enables multi-threaded server application to kick a request handler with its fair security context, and helps some of userspace object managers to handle user's request. When we assign a per-thread security context, it must not have wider permissions than the original one. Because a multi-threaded process shares a single local memory, an arbitary per-thread security context also means another thread can easily refer violated information. The constraint on a per-thread security context requires a new domain has to be equal or weaker than its original one, when it tries to assign a per-thread security context. Bounds relationship between two types is a way to ensure a domain can never have wider permission than its bounds. We can define it in two explicit or implicit ways. The first way is using new TYPEBOUNDS statement. It enables to define a boundary of types explicitly. The other one expand the concept of existing named based hierarchy. If we defines a type with "." separated name like "httpd_t.php", toolchain implicitly set its bounds on "httpd_t". This feature requires a new policy version. The 24th version (POLICYDB_VERSION_BOUNDARY) enables to ship them into kernel space, and the following patch enables to handle it. Signed-off-by: KaiGai Kohei Acked-by: Stephen Smalley Signed-off-by: James Morris commit 38d56f1677130004497835a776feb84f068ce22a Author: Josh Boyer Date: Tue Aug 19 11:27:05 2008 -0400 powerpc/44x: Add explicit Yosemite support Add the Yosemite board to the explicitly supported list for ppc44x_simple boards and remove the compatible entry for bamboo from the DTS file. Signed-off-by: Josh Boyer commit ded563cf458e7803536f9d7b6bc5d808a6e37f21 Author: Josh Boyer Date: Tue Aug 19 11:27:01 2008 -0400 powerpc/44x: Add explicit support for AMCC Glacier Add explicit support for the AMCC Glacier eval board to Kconfig and the ppc44x_simple file. Also removes the cayonlands compatible entry from the DTS file. Signed-off-by: Josh Boyer commit 4f19a897c740e2a2e98f40b60055d56d8e437f6f Author: Josh Boyer Date: Tue Aug 19 11:26:53 2008 -0400 powerpc/44x: Migrate Taishan support to ppc44x_simple Migrate the AMCC Taishan board to use the ppc44x_simple platform file. Signed-off-by: Josh Boyer commit 427e817df459bdfad6be307456f61601e10b5845 Author: Josh Boyer Date: Tue Aug 19 11:26:48 2008 -0400 powerpc/44x: Migrate Sequoia support to ppc44x_simple Migrate the AMCC Sequoia board to use the ppc44x_simple platform file. Signed-off-by: Josh Boyer commit 5c8495d2ad3cd9d7d59dfad05bdd2a7b3c5d2e9d Author: Josh Boyer Date: Tue Aug 19 11:26:44 2008 -0400 powerpc/44x: Migrate Rainier support to ppc44x_simple Migrate the AMCC Rainier board to use the ppc44x_simple platform file. Signed-off-by: Josh Boyer commit cfcf81ba16ce67c2383daf0f7659983a9a0e3c46 Author: Josh Boyer Date: Tue Aug 19 11:26:40 2008 -0400 powerpc/44x: Migrate Katmai support to ppc44x_simple Migrate the AMCC Katmai board to use the ppc44x_simple platform file. Signed-off-by: Josh Boyer commit aaf136c29d7b1dd505256c26a191ef1ad5f0a448 Author: Josh Boyer Date: Tue Aug 19 11:26:35 2008 -0400 powerpc/44x: Migrate Canyonlands support to ppc44x_simple Migrate the AMCC Canyonlands board to use the ppc44x_simple platform file. Signed-off-by: Josh Boyer commit 380c313ab301e9d35ead5cd9ead737682eba304b Author: Josh Boyer Date: Tue Aug 19 11:26:24 2008 -0400 powerpc/44x: Migrate Bamboo support to ppc44x_simple Migrate the AMCC Bamboo board to use the ppc44x_simple platform file. Signed-off-by: Josh Boyer commit 775d5a110b8a0bc9a0ccf3b831a8991b6c1d84dd Author: Josh Boyer Date: Tue Aug 19 11:25:15 2008 -0400 powerpc/44x: Add PowerPC 44x simple platform support This adds a common board file for almost all of the "simple" PowerPC 44x boards that exist today. This is intended to be a single place to add support for boards that do not differ in platform support from most of the evaluation boards that are used as reference platforms. Boards that have specific requirements or custom hardware setup should still have their own board.c file. Signed-off-by: Josh Boyer commit e30c98758453d743fab00e45da0eac6fc581958a Author: Tirumala R Marri Date: Thu Aug 21 18:53:34 2008 +0000 powerpc/44x: AMCC PPC460GT/EX PCI-E de-emphasis adjustment fix During recent tests with PCI-E , it has been found the DRV + De-Emphasis values are not optimum. These new values are tested thouroughly. Signed-off-by: Tirumala R Marri Signed-off-by: Feng Kan fkan@amcc.com Acked-by: Stefan Roese Signed-off-by: Josh Boyer commit 7940ca3605b77f20cc6e9852e4ca6f2d725b5653 Author: Ingo Molnar Date: Tue Aug 19 13:40:47 2008 +0200 sched: extract walk_tg_tree(), fix fix: kernel/sched.c: In function '__rt_schedulable': kernel/sched.c:8771: error: implicit declaration of function 'walk_tg_tree' kernel/sched.c:8771: error: 'tg_nop' undeclared (first use in this function) kernel/sched.c:8771: error: (Each undeclared identifier is reported only once kernel/sched.c:8771: error: for each function it appears in.) Signed-off-by: Ingo Molnar commit af01d537463714e36e2c96d2da35902b76cd6827 Author: Alexey Dobriyan Date: Thu Aug 28 02:53:51 2008 -0700 net: more #ifdef CONFIG_COMPAT All users of struct proto::compat_[gs]etsockopt and struct inet_connection_sock_af_ops::compat_[gs]etsockopt are under #ifdef already, so use it in structure definition too. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit aef745fca016aea45adae5c98e8698904dd8ad51 Author: Ingo Molnar Date: Thu Aug 28 11:34:43 2008 +0200 sched: clean up __might_sleep() add KERN_ to the printout and clean up the flow a bit. Signed-off-by: Ingo Molnar commit 29cbef4869bf288256ab76c7dc674cb132b35de2 Author: Joe Korty Date: Wed Aug 27 11:21:39 2008 -0400 make might_sleep() display the oopsing process Expand might_sleep's printk to indicate the oopsing process. Signed-off-by: Joe Korty Signed-off-by: Ingo Molnar commit aec0a5142cb52aaa152d962d84a838e25d520742 Author: Bharata B Rao Date: Thu Aug 28 14:42:49 2008 +0530 sched: call resched_task() conditionally from new task wake up path - During wake up of a new task, task_new_fair() can do a resched_task() on the current task. Later in the code path, check_preempt_curr() also ends up doing the same, which can be avoided. Check if TIF_NEED_RESCHED is already set for the current task. - task_new_fair() does a resched_task() on the current task unconditionally. This can be done only in case when child runs before the parent. So this is a small speedup. Signed-off-by: Bharata B Rao Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 2c7e9fd4c6cb7f4b0bc7162e9a30847e51a1ca1b Author: Joe Korty Date: Wed Aug 27 10:35:06 2008 -0400 x86: make poll_idle behave more like the other idle methods Make poll_idle() behave more like the other idle methods. Currently, poll_idle() returns immediately. The other idle methods all wait indefinately for some condition to come true before returning. poll_idle should emulate these other methods and also wait for a return condition, in this case, for need_resched() to become 'true'. Without this delay the idle loop spends all of its time in the outer loop that calls poll_idle. This outer loop, these days, does real work, some of it under rcu locks. That work should only be done when idle is entered and when idle exits, not continuously while idle is spinning. Signed-off-by: Joe Korty Signed-off-by: Ingo Molnar commit a627266570605a98c5fda5b8234d9e92015e4d14 Author: Eric Dumazet Date: Thu Aug 28 01:11:25 2008 -0700 ip: speedup /proc/net/rt_cache handling When scanning route cache hash table, we can avoid taking locks for empty buckets. Both /proc/net/rt_cache and NETLINK RTM_GETROUTE interface are taken into account. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 6be547a61d6220199826070cda792297c3d15994 Author: Andi Kleen Date: Thu Aug 28 01:09:54 2008 -0700 inet_diag: Add empty bucket optimization to inet_diag too Skip quickly over empty buckets in inet_diag. Signed-off-by: Andi Kleen Signed-off-by: David S. Miller commit 6eac56040787c3ff604fe7d48bbbb7897cd1387c Author: Andi Kleen Date: Thu Aug 28 01:08:02 2008 -0700 tcp: Skip empty hash buckets faster in /proc/net/tcp On most systems most of the TCP established/time-wait hash buckets are empty. When walking the hash table for /proc/net/tcp their read locks would always be aquired just to find out they're empty. This patch changes the code to check first if the buckets have any entries before taking the lock, which is much cheaper than taking a lock. Since the hash tables are large this makes a measurable difference on processing /proc/net/tcp, especially on architectures with slow read_lock (e.g. PPC) On a 2GB Core2 system time cat /proc/net/tcp > /dev/null (with a mostly empty hash table) goes from 0.046s to 0.005s. On systems with slower atomics (like P4 or POWER4) or larger hash tables (more RAM) the difference is much higher. This can be noticeable because there are some daemons around who regularly scan /proc/net/tcp. Original idea for this patch from Marcus Meissner, but redone by me. Signed-off-by: Andi Kleen Signed-off-by: David S. Miller commit af2e1f276ff08f17192411ea3b71c13a758dfe12 Author: H. Peter Anvin Date: Wed Aug 27 22:05:45 2008 -0700 x86: cpufeature: fix SMX flag Impact: "smx" flags showed as "safer" in /proc/cpuinfo The SMX feature flag is the so-called "safer mode"... I had put that in quotes, but that flagged it as a cpuinfo flag name. Remove the quotes to correct the flag name in /proc/cpuinfo. Signed-off-by: H. Peter Anvin commit 2798c63e65cb0f05cc12a060b9b0d56ac9523c4d Author: H. Peter Anvin Date: Wed Aug 27 21:20:07 2008 -0700 x86: : clean up overlong lines, whitespace Clean up overlong lines and stealth whitespace in . Signed-off-by: H. Peter Anvin commit f1240c002679a77990fd7c198991ed15a437d691 Author: H. Peter Anvin Date: Wed Aug 27 18:53:07 2008 -0700 x86: cpufeature: add Intel features from CPUID and AVX specs Add all Intel CPUID features currently documented in the CPUID spec (AP-485, 241618-032, Dec 2007) and the AVX Programming Reference (319433-003, Aug 2008). Signed-off-by: H. Peter Anvin commit 7414aa41a63348c3bc72d8c37b716024c29b6d50 Author: H. Peter Anvin Date: Wed Aug 27 17:56:44 2008 -0700 x86: generate names for /proc/cpuinfo from We have had a number of cases where (and its predecessors) have diverged substantially from the names list in /proc/cpuinfo. This patch generates the latter from the former. It retains the option for explicitly overriding the strings, but by making that require a separate action it should at least be less likely to happen. It would be good to do a future pass and rename strings that are gratuituously different in the kernel (/proc/cpuinfo is a userspace interface and must remain constant.) Signed-off-by: H. Peter Anvin commit b30a72a7edfc64c8929104d5c2178aca489aa559 Merge: f1c5d30... c1b362e... Author: H. Peter Anvin Date: Wed Aug 27 19:17:07 2008 -0700 Merge branch 'x86/urgent' into x86/cpu Conflicts: arch/x86/kernel/cpu/cyrix.c commit da31894ed7b654e2e1741e7ac4ef6c15be0dd14b Author: Eric Paris Date: Fri Aug 22 11:35:57 2008 -0400 securityfs: do not depend on CONFIG_SECURITY Add a new Kconfig option SECURITYFS which will build securityfs support but does not require CONFIG_SECURITY. The only current user of securityfs does not depend on CONFIG_SECURITY and there is no reason the full LSM needs to be built to build this fs. Signed-off-by: Eric Paris Signed-off-by: James Morris commit 86d688984deefa3ae5a802880c11f2b408b5d6cf Merge: 93c06cb... 4c246ed... Author: James Morris Date: Thu Aug 28 10:47:34 2008 +1000 Merge branch 'master' into next commit 83b8e28b14d63db928cb39e5c5ed2a548246bd71 Author: Suresh Siddha Date: Wed Aug 27 14:57:36 2008 -0700 x86: xsave: restore xcr0 during resume Add the missing XCR0(XFEATURE_ENABLED_MASK) restore during resume. Reported-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit b18e30412dde08536c9df6eae3f571fddb560e7f Merge: 09bf825... f2455eb... Author: Simon Horman Date: Wed Aug 27 22:47:46 2008 +1000 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 commit 0188d6c5807b65e2e20dcb75a668efbe5418b27e Author: Steven Whitehouse Date: Tue Aug 26 09:38:26 2008 +0100 GFS2: Fix & clean up GFS2 rename This patch fixes a locking issue in the rename code by ensuring that we hold the per sb rename lock over both directory and "other" renames which involve different parent directories. At the same time, this moved the (only called from one place) function gfs2_ok_to_move into the file that its called from, so we can mark it static. This should make a code a bit easier to follow. Signed-off-by: Steven Whitehouse Cc: Peter Staubach commit 4d40555250320520c5398569457962b3984fc75e Merge: eff253c... 7fd1067... Author: David S. Miller Date: Wed Aug 27 05:11:26 2008 -0700 Merge branch 'lvs-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/lvs-2.6 commit 0cd418ddb1ee88df7d16d5df06cb2da68eceb9e4 Author: Hiroshi Shimamoto Date: Mon Aug 18 14:39:21 2008 -0700 rcuclassic: fix compiler warning CC kernel/rcuclassic.o kernel/rcuclassic.c: In function 'rcu_init_percpu_data': kernel/rcuclassic.c:705: warning: comparison of distinct pointer types lacks a cast kernel/rcuclassic.c:713: warning: comparison of distinct pointer types lacks a cast flags should be unsigned long. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 11c231a962c740b3216eb6565149ae5a7944cba7 Author: Suresh Siddha Date: Sat Aug 23 17:47:11 2008 +0200 x86: use x2apic id reported by cpuid during topology discovery, fix v2: Fix for !SMP build Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit a81726087428b541aa64604b8a94104a4d4aa8f9 Author: Hiroshi Shimamoto Date: Tue Aug 26 15:13:45 2008 -0700 x86: acpi: move acpi_mcfg_64bit_base_addr into CONFIG_PCI_MMCONFIG acpi_mcfg_64bit_base_addr is used when CONFIG_PCI_MMCONFIG is enabled. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 09bf825e8e3049db1d72d464d0a6b857cc037a43 Merge: e3c2ced... c2d4254... Author: Simon Horman Date: Wed Aug 27 15:29:46 2008 +1000 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 commit eff253c4272cd2aac95ccff46d3d2e1a495f22b1 Author: Gerrit Renker Date: Sat Aug 23 13:28:27 2008 +0200 dccp ccid-3: Replace lazy BUG_ON with condition The BUG_ON(w_tot == 0) only holds if there is no more than 1 loss interval in the loss history. If there is only a single loss interval, the calc_i_mean() routine need in fact not be called (RFC 3448, 6.3.1). Signed-off-by: Gerrit Renker commit 157439fa4a9b38ac4ce41e2fc379fc5031affec8 Author: Gerrit Renker Date: Sat Aug 23 13:28:27 2008 +0200 dccp: Toggle debug output without module unloading This sets the sysfs permissions so that root can toggle the `debug' parameter available for nearly every DCCP module. This is useful since there are various module inter-dependencies. The debug flag can now be toggled at runtime using echo 1 > /sys/module/dccp/parameters/dccp_debug echo 1 > /sys/module/dccp_ccid2/parameters/ccid2_debug echo 1 > /sys/module/dccp_ccid3/parameters/ccid3_debug echo 1 > /sys/module/dccp_tfrc_lib/parameters/tfrc_debug The last is not very useful yet, since no code at the moment calls the tfrc_debug() macro. Signed-off-by: Gerrit Renker commit b569d5a134074d4e15ab8e26cf2dd9f02c29fadc Author: Gerrit Renker Date: Sat Aug 23 13:28:27 2008 +0200 dccp: Empty the write queue when disconnecting dccp_disconnect() can be called due to several reasons: 1. when the connection setup failed (inet_stream_connect()); 2. when shutting down (inet_shutdown(), inet_csk_listen_stop()); 3. when aborting the connection (dccp_close() with 0 linger time). In case (1) the write queue is empty. This patch empties the write queue, if in case (2) or (3) it was not yet empty. This avoids triggering the write-queue BUG_TRAP in sk_stream_kill_queues() later on. It also seems natural to do: when breaking an association, to delete all packets that were originally intended for the soon-disconnected end (compare with call to tcp_write_queue_purge in tcp_disconnect()). Signed-off-by: Gerrit Renker commit 5a056417e696fabab8642ec38783de0b496bde76 Author: Gerrit Renker Date: Sat Aug 23 13:28:27 2008 +0200 dccp: Fill in the Data fields for "Option Error" Resets This updates the use of the `out_invalid_option' label, which produces a Reset (code 5, "Option Error"), to fill in the Data1...Data3 fields as specified in RFC 4340, 5.6. Signed-off-by: Gerrit Renker commit 1efa6bbac876318ebf6f3a757f18e7d9ebe02dd0 Author: Gerrit Renker Date: Sat Aug 23 13:28:27 2008 +0200 dccp: Silently ignore options with nonsensical lengths This updates the option-parsing code with regard to RFC 4340, 5.8: "[..] options with nonsensical lengths (length byte less than two or more than the remaining space in the options portion of the header) MUST be ignored, and any option space following an option with nonsensical length MUST likewise be ignored." Hence in the following cases erratic options will be ignored: 1. The type byte of a multi-byte option is the last byte of the header options (i.e. effective option length of 1). 2. The value of the length byte is less than the minimum 2. This has been changed from previously 3: although no multi-byte option with a length less than 3 yet exists (cf. table 3 in 5.8), a length of 2 is valid. (The switch-statement in dccp_parse has further per-option length checks.) 3. The option length exceeds the length of the remaining option space. Signed-off-by: Gerrit Renker commit 33c449675c0e371edd35b3bd7ce8a14451ff2f0b Author: Wei Yongjun Date: Sat Aug 23 13:28:27 2008 +0200 dccp: Always generate a Reset in response to option errors RFC4340 states that if a packet is received with an option error (such as a Mandatory Option as the last byte of the option list), the endpoint should repond with a Reset. In the LISTEN and RESPOND states, the endpoint correctly reponds with Reset, while in the REQUEST/OPEN states, packets with option errors are just ignored. The packet sequence is as follows: Case 1: Endpoint A Endpoint B (CLOSED) (CLOSED) <---------------- REQUEST RESPONSE -----------------> (*1) (with invalid option) <---------------- RESET (with Reset Code 5, "Option Error") (*1) currently just ignored, no Reset is sent Case 2: Endpoint A Endpoint B (OPEN) (OPEN) DATA-ACK -----------------> (*2) (with invalid option) <---------------- RESET (with Reset Code 5, "Option Error") (*2) currently just ignored, no Reset is sent This patch fixes the problem, by generating a Reset instead of silently ignoring option errors. Signed-off-by: Wei Yongjun Acked-by: Arnaldo Carvalho de Melo Acked-by: Gerrit Renker commit 7fd106785104fa19709fa136abb64c7a9d5db285 Merge: a4356b2... e3c2ced... Author: Simon Horman Date: Wed Aug 27 15:11:37 2008 +1000 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/lvs-2.6 into lvs-next-2.6 commit e3c2ced8d21410e8bc897480081e2ffc516c0f70 Author: Julius Volz Date: Fri Aug 22 14:06:13 2008 +0200 IPVS: Rename ip_vs_proto_ah.c to ip_vs_proto_ah_esp.c After integrating ESP into ip_vs_proto_ah, rename it (and the references to it) to ip_vs_proto_ah_esp.c and delete the old ip_vs_proto_esp.c. Signed-off-by: Julius Volz Signed-off-by: Simon Horman commit 409a19669e4cd8d1bab7dff31d3b6aa493ff60f0 Author: Julius Volz Date: Fri Aug 22 14:06:12 2008 +0200 IPVS: Integrate ESP protocol into ip_vs_proto_ah.c Rename all ah_* functions to ah_esp_* (and adjust comments). Move ESP protocol definition into ip_vs_proto_ah.c and remove all usage of ip_vs_proto_esp.c. Make the compilation of ip_vs_proto_ah.c dependent on a new config variable, IP_VS_PROTO_AH_ESP, which is selected either by IP_VS_PROTO_ESP or IP_VS_PROTO_AH. Only compile the selected protocols' structures within this file. Signed-off-by: Julius Volz Signed-off-by: Simon Horman commit 93c06cbbf9fea5d5be1778febb7fa9ab1a74e5f5 Author: Serge E. Hallyn Date: Tue Aug 26 14:47:57 2008 -0500 selinux: add support for installing a dummy policy (v2) In August 2006 I posted a patch generating a minimal SELinux policy. This week, David P. Quigley posted an updated version of that as a patch against the kernel. It also had nice logic for auto-installing the policy. Following is David's original patch intro (preserved especially bc it has stats on the generated policies): se interested in the changes there were only two significant changes. The first is that the iteration through the list of classes used NULL as a sentinel value. The problem with this is that the class_to_string array actually has NULL entries in its table as place holders for the user space object classes. The second change was that it would seem at some point the initial sids table was NULL terminated. This is no longer the case so that iteration has to be done on array length instead of looking for NULL. Some statistics on the policy that it generates: The policy consists of 523 lines which contain no blank lines. Of those 523 lines 453 of them are class, permission, and initial sid definitions. These lines are usually little to no concern to the policy developer since they will not be adding object classes or permissions. Of the remaining 70 lines there is one type, one role, and one user statement. The remaining lines are broken into three portions. The first group are TE allow rules which make up 29 of the remaining lines, the second is assignment of labels to the initial sids which consist of 27 lines, and file system labeling statements which are the remaining 11. In addition to the policy.conf generated there is a single file_contexts file containing two lines which labels the entire system with base_t. This policy generates a policy.23 binary that is 7920 bytes. (then a few versions later...): The new policy is 587 lines (stripped of blank lines) with 476 of those lines being the boilerplate that I mentioned last time. The remaining 111 lines have the 3 lines for type, user, and role, 70 lines for the allow rules (one for each object class including user space object classes), 27 lines to assign types to the initial sids, and 11 lines for file system labeling. The policy binary is 9194 bytes. Changelog: Aug 26: Added Documentation/SELinux.txt Aug 26: Incorporated a set of comments by Stephen Smalley: 1. auto-setup SELINUXTYPE=dummy 2. don't auto-install if selinux is enabled with non-dummy policy 3. don't re-compute policy version 4. /sbin/setfiles not /usr/sbin/setfiles Aug 22: As per JMorris comments, made sure make distclean cleans up the mdp directory. Removed a check for file_contexts which is now created in the same file as the check, making it superfluous. Signed-off-by: Serge Hallyn Signed-off-by: David Quigley Signed-off-by: James Morris commit d48134e709d51d0ce74d0285e2684ecf38438c7a Author: Mike Rapoport Date: Wed Aug 20 09:03:26 2008 +0100 [ARM] 5217/1: update maintainer entry for CompuLab machines Signed-off-by: Mike Rapoport Acked-by: Eric Miao Signed-off-by: Russell King commit fb6ff9a6f948462b240cc4f8df1c87c552584219 Author: Mike Rapoport Date: Wed Aug 20 09:03:02 2008 +0100 [ARM] 5216/1: Add CM-X300 defconfig Signed-off-by: Mike Rapoport Acked-by: Eric Miao Signed-off-by: Russell King commit cf75d8d213f58c01791940c4392c4122e0063bc0 Author: Mike Rapoport Date: Tue Aug 26 14:03:44 2008 +0100 [ARM] 5215/2: Add support for CM-X300 board This patch adds core support for CM-X300 board based on PXA300 processor Signed-off-by: Mike Rapoport Acked-by: Eric Miao Signed-off-by: Russell King commit a461a8d2dff84ab027dd77f04e0d79f95931ef8f Author: Mark Brown Date: Tue Aug 26 10:58:54 2008 +0100 [ARM] 5223/1: zylonite: Staticise zylonite_i2c_board_info Signed-off-by: Mark Brown Acked-by: Eric Miao Signed-off-by: Russell King commit 58d27fcfe64a21c7094e0b60784258e1cccf26a4 Author: Mark Brown Date: Thu Jul 10 17:52:10 2008 +0100 [ARM] 5111/2: zylonite: Configure SSP SSP3 is connected to the voice PCM of the WM9713 audio codec on the Zylonite so configure the MFPs appropriately and select SSP support. Signed-off-by: Mark Brown Acked-by: Eric Miao Signed-off-by: Russell King commit ad826e22c1343ceca76d814539a6fc94dd474def Author: Eric Miao Date: Wed Aug 20 10:18:26 2008 +0800 [ARM] pxa: fix incorrect definitions of SSP3 on pxa320 Signed-off-by: Eric Miao Signed-off-by: Russell King commit eda6f6ecbbd6bea070ca296e40c2117d80117b76 Author: Robert Jarzmik Date: Sun Aug 17 09:34:30 2008 +0100 [ARM] 5202/1: pxa: Added Mitac Mio A701 smartphone support. The Mio A701 support features : - GSM support - Bluetooth support - GPS support - LED/Vibrator support - Suspend/Resume support (very dependant on Mio FlashRam) - Screen/Backlight support - Keys/Keyboard support - USB udc support - MMC/SDIO support - Flash Memory support - Battery/AC plugin support Signed-off-by: Robert Jarzmik Signed-off-by: Russell King commit d8ad7859e2044ecae26c4810b8a8c3d17afca0ca Author: Jaya Kumar Date: Sat Aug 16 04:07:18 2008 +0100 [ARM] 5197/1: gumstix: conversion to MFP support and add bluetooth support This patch converts gumstix over to the MFP configuration system and adds bluetooth support. Signed-off-by: Jaya Kumar Acked-by: Eric Miao Signed-off-by: Russell King commit 922613436ae562a2903698f3a6e16998382a549d Author: Jaya Kumar Date: Sun Aug 17 05:59:32 2008 +0100 [ARM] 5200/1: am200epd: use fb notifiers and gpio api The original am200epd driver was designed with bad assumptions. It manipulated GPSR/GPLR registers directly. It relied on direct access to the pxa LCDC registers which have since conflicted with commit ce4fb7b892a6d6c6a0f87366b26fd834d2923dd7 . This patch moves it into mach-pxa and overhauls it to use a fb obtained through fb notifiers. It now uses the generic GPIO api. Signed-off-by: Jaya Kumar Acked-by: Krzysztof Helt Acked-by: Eric Miao Signed-off-by: Russell King commit e935508515cc5592d7c80d7f51f21103f73efb2d Author: Jaya Kumar Date: Tue Aug 19 11:17:55 2008 +0100 [ARM] 5209/1: metronomefb: changes to use platform framebuffer These changes are used in order to support the use of the framebuffer provided by the platform device driver rather than to directly allocate one. Other changes are cleanup to error handling and order of release. Signed-off-by: Jaya Kumar Acked-by: Krzysztof Helt Acked-by: Eric Miao Signed-off-by: Russell King commit 28501336f8b9fb5ec6c2d7bb07b4dfa88ceed272 Author: Jaya Kumar Date: Tue Aug 5 13:52:14 2008 +0100 [ARM] 5186/1: metronomefb: convert printk to dev_dbg/err messages This patch converts the printk messages in metronomefb to dev_dbg/err type messages. Signed-off-by: Jaya Kumar Acked-by: Eric Miao Signed-off-by: Russell King commit 65eb3dc609dec17deea48dcd4de2e549d29a9824 Author: Kevin Diggs Date: Tue Aug 26 10:26:54 2008 +0200 sched: add kernel doc for the completion, fix kernel-doc-nano-HOWTO.txt This patch adds kernel doc for the completion feature. An error in the split-man.pl PERL snippet in kernel-doc-nano-HOWTO.txt is also fixed. Signed-off-by: Kevin Diggs Signed-off-by: Ingo Molnar commit 3cf430b0636045dc524759a0852293ba037732a7 Merge: 93dcf55... 83097ac... Author: Ingo Molnar Date: Tue Aug 26 10:25:59 2008 +0200 Merge branch 'linus' into sched/devel commit bdd314616f7218e325aa9637a46159ecba44cfeb Author: H. Peter Anvin Date: Mon Aug 25 17:44:03 2008 -0700 x86: msr-on-cpu: remove unnecessary level of abstraction Remove an unnecessary level of abstraction in the msr-on-cpu library. Although this duplicates some code, the duplicated code is less than the additional code, and this way should be faster. Additionally, change the order of the functions to make the regular structure of this file more obvious. Signed-off-by: H. Peter Anvin commit 94d4ac2f4a58c6e37876827c6688c61cef21290c Merge: ed21763... 08970fc... Author: H. Peter Anvin Date: Mon Aug 25 22:45:37 2008 -0700 Merge branch 'x86/urgent' into x86/cleanups commit 51e0f004a9ab9104acbe323c0b20e0279bf9be85 Author: David S. Miller Date: Mon Aug 25 16:44:58 2008 -0700 sparc64: Fix irq_of_parse_and_map() and irq_dispose_mapping(). Stephen Rothwell noticed that I committed an earlier version of the patch that didn't have two things fixed: 1) irq_of_parse_and_map() should return "unsigned int" not "int" and it should return zero for "no irq" 2) irq_dispose_mapping() should be an inline function, not a macro, for type checking With feedback and suggestions from Anton Vorontsov. Signed-off-by: David S. Miller commit 783c98b911fce8d47aa2906468ca39d44d46d7ce Author: David S. Miller Date: Mon Aug 25 16:21:08 2008 -0700 sparc64: Use the cond_syscall()s in kernel/sys_ni.c instead of home-grown copy. This also allows arch/sparc64/kernel/pci.c to be properly CONFIG_PCI conditional compiled in the Makefile. Signed-off-by: David S. Miller commit c23889ca5afcce60bb01739cd831c3cbcbab2a06 Author: Dominik Brodowski Date: Tue Aug 26 00:09:56 2008 +0200 pcmcia: cleanup socket services header file The header file for use by (in-kernel) PCMCIA sockets deserved a major cleanup. Some stuff only used by the pcmcia core modules was moved to cs_internal.h Signed-off-by: Dominik Brodowski commit b60a5ede1e3a6a09a881c3ff014164fbe4d481b4 Author: Dominik Brodowski Date: Mon Aug 25 23:32:37 2008 +0200 pcmcia: merge ds_internal.h into cs_internal.h Merge ds_internal.c into cs_internal.h. Signed-off-by: Dominik Brodowski commit dc953e550bf1624a17465b9deb15487fdde98869 Author: Dominik Brodowski Date: Mon Aug 25 23:18:20 2008 +0200 pcmcia: cleanup cs_internal.h Small cleanup to cs_internal.h. Signed-off-by: Dominik Brodowski commit 33343723cfad49efa16a8f9d97cc1ae9fe088fa1 Author: Dominik Brodowski Date: Mon Aug 25 23:12:20 2008 +0200 pcmcia: cs_internal.h is internal cs_internal.h is meant for definitions internal to the PCMCIA core modules. It must not be included by PCMCIA socket drivers or by PCMCIA device drivers. Signed-off-by: Dominik Brodowski commit 85269eb5542b425b99d79dc4c312dce0157eac7e Author: David S. Miller Date: Mon Aug 25 13:38:30 2008 -0700 sparc64: Add JBUS UltraSPARC-IIIi support to memory controller driver. Signed-off-by: David S. Miller commit c7ffa6c26277b403920e2255d10df849bd613380 Author: Avi Kivity Date: Mon Aug 25 13:11:27 2008 +0300 x86: default to reboot via ACPI Triple-fault and keyboard reset may assert INIT instead of RESET; however INIT is blocked when Intel VT is enabled. This leads to a partially reset machine when invoking emergency_restart via sysrq-b: the processor is still working but other parts of the system are dead. Default to rebooting via ACPI, which correctly asserts RESET and reboots the machine. This is safe since we will fall back to keyboard reset and triple fault if acpi is not enabled or if the reset is not successful. Signed-off-by: Avi Kivity Signed-off-by: Ingo Molnar commit c09ff7e1744047be1043cb32453ef90b7f6b8451 Author: Stephen Rothwell Date: Mon Aug 25 20:22:21 2008 +1000 linux-next: fix x86 tree build failure Today's linux-next build (powerpc allyesconfig) failed like this: drivers/char/agp/uninorth-agp.c:541: error: unknown field 'agp_destroy_paged' specified in initializer Caused by commit 5f310b63781f6777bf4e812570560ec0f8ea42d8 ("agp: enable optimized agp_alloc_pages methods"). A simple typo ... Signed-off-by: Stephen Rothwell Signed-off-by: Ingo Molnar commit d68d82afd4c88e25763b23cd9cd4974573a3706f Author: Alex Nixon Date: Fri Aug 22 11:52:15 2008 +0100 xen: implement CPU hotplugging Note the changes from 2.6.18-xen CPU hotplugging: A vcpu_down request from the remote admin via Xenbus both hotunplugs the CPU, and disables it by removing it from the cpu_present map, and removing its entry in /sys. A vcpu_up request from the remote admin only re-enables the CPU, and does not immediately bring the CPU up. A udev event is emitted, which can be caught by the user if he wishes to automatically re-up CPUs when available, or implement a more complex policy. Signed-off-by: Alex Nixon Acked-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit ed21763e7b0b3fb50e4efd9d4bc17ef5b035d304 Author: Robert Richter Date: Fri Aug 22 20:23:38 2008 +0200 x86: cleanup in amd_cpu_notify() small coding style fix. Signed-off-by: Robert Richter Signed-off-by: Ingo Molnar commit ea1c9de45ecb162841c9b4e0fa303a245d59b1c8 Merge: 4e1d112... a2bd727... Author: Ingo Molnar Date: Mon Aug 25 11:10:42 2008 +0200 Merge branch 'x86/urgent' into x86/cleanups commit 8227dce7dc2cfdcc28ee0eadfb482a7ee77fba03 Author: Alex Nixon Date: Fri Aug 22 11:52:14 2008 +0100 x86: separate generic cpu disabling code from APIC writes in cpu_disable It allows paravirt implementations of cpu_disable to share the cpu_disable_common code, without having to take on board APIC writes, which may not be appropriate. Signed-off-by: Alex Nixon Acked-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit a21f5d88c17a40941f6239d1959d89e8493e8e01 Author: Alex Nixon Date: Fri Aug 22 11:52:13 2008 +0100 x86: unify x86_32 and x86_64 play_dead into one function Add the new play_dead into smpboot.c, as it fits more cleanly in there alongside other CONFIG_HOTPLUG functions. Separate out the common code into its own function. Signed-off-by: Alex Nixon Acked-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 379002586368ae22916f668011c9118c8ce8189c Author: Alex Nixon Date: Fri Aug 22 11:52:12 2008 +0100 x86_32: clean up play_dead The removal of the CPU from the various maps was redundant as it already happened in cpu_disable. After cleaning this up, cpu_uninit only resets the tlb state, so rename it and create a noop version for the X86_64 case (so the two play_deads can be unified later). Signed-off-by: Alex Nixon Acked-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 93be71b672f167b1e8c23725114f86305354f0ac Author: Alex Nixon Date: Fri Aug 22 11:52:11 2008 +0100 x86: add cpu hotplug hooks into smp_ops Signed-off-by: Alex Nixon Acked-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit e4f807c2b4d81636fc63993368646c5bfd42b22f Merge: 25258ef... 83097ac... Author: Ingo Molnar Date: Mon Aug 25 10:54:07 2008 +0200 Merge branch 'linus' into x86/xen Conflicts: arch/x86/kernel/paravirt.c Signed-off-by: Ingo Molnar commit f83a59c3c15471e866b6af09f82a9ac1eb76fce7 Author: Krzysztof Helt Date: Sun Aug 24 18:08:03 2008 +0200 ALSA: wss_lib: do not mess mixer settings during probe Use the wss_dout function which does not mess shadowed register values during chip probing. Otherwise, user ends up with stupid mixer settings after driver loading. Signed-off-by: Krzysztof Helt Acked-by: Rene Herman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 36463a9660a69018c98f6bde93183a523667e598 Author: Rene Herman Date: Thu Aug 21 23:07:43 2008 +0200 ALSA: snd-ad1816a: add different TerraTec EWS64 S model Signed-off-by: Rene Herman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit cb780cdd85b8ae408245883ae44172ed1ed34439 Author: Andreas Mohr Date: Thu Aug 21 21:55:57 2008 +0200 ALSA: ALS4000 driver work, step 2 - more register naming work - finally figured out that weird CR register stuff (and did I mention that I hate _really_ undecipherable open-coded values?) - fix handling of IRQ sharing in interrupt handler (hopefully properly, otherwise I'd be grateful to hear your pedantic comments ;) - add handy SPECS_PAGE references wherever useful - comments, cleanup - add me as module author Signed-off-by: Andreas Mohr Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e01bf5091f044011823aefa1882eb3fba0434918 Author: Takashi Iwai Date: Thu Aug 21 16:25:07 2008 +0200 ALSA: hda - Fix ALC269 capture source ALC269 capture source wasn't properly set up. It's an independent MUX (0x23), not a source of ADC. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 5503600a1c5c2c11e14ff428b5d07a1018927bd6 Author: Takashi Iwai Date: Wed Jul 30 15:23:06 2008 +0200 ALSA: via82xx - check continuous pages in buffer setup Check continuous pages in the buffer set up so that the number of BDL is reduced. Also increased the max buffer size. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a2e3961d0a26870eb23b70edab6814c7f08ce2e0 Author: Takashi Iwai Date: Thu Aug 21 14:17:38 2008 +0200 ALSA: via82xx - ignore buffer preallocation errors The errors at buffer preallocations aren't fatal and safe to ignore. The buffer will be allocated dynamically when opened. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit fc4abee8112ada7b1b66017f620d3de3954759f3 Author: Takashi Iwai Date: Wed Jul 30 15:13:34 2008 +0200 ALSA: hda - check page continuity Check the continuity of allocated pages to reduce the BDL size as much as possible so that it can use more than 1MB buffers. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 51e9f2e665bf2b6a01be275d64c336d942c59a66 Author: Takashi Iwai Date: Wed Jul 30 15:13:33 2008 +0200 ALSA: Allocate larger pages in sgbuf Most hardwares have limited buffer-descriptor table length. This also restricts the max buffer size of the sound driver. For example, snd-hda-intel has 1MB buffer size limit, and this is because it can have at most 256 BDL entries. For supporting larger buffers, we need to allocate larger pages even for sg-buffers. This patch changes the sgbuf allocation code to try to allocate larger pages first. At each head of the allocated pages, the number of allocated pages is stored in the lowest bits of the corresponding entry of the table addr field. This change isn't visible as long as the driver uses snd_sgbuf_get_addr() helper. Also, the patch adds a new function, snd_pcm_sgbuf_get_chunk_size(). This returns the size of the chunk on continuous pages starting at the given position offset. If the chunk reaches to a non-continuous page, it returns the size to the boundary. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4e184f8fc06411f35fdcf4b9bc6187c857bf7214 Author: Takashi Iwai Date: Wed Jul 30 15:13:33 2008 +0200 ALSA: Fix allocation size calculation in snd_dma_alloc_pages_fallback() snd_dma_alloc_pages_fallback() always tries to reduce the size in a half, but it's not good when the given size isn't a power-of-two. Check it first then try to align. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 77a23f2695bb2de0cd74599400dc55109c531b72 Author: Takashi Iwai Date: Thu Aug 21 13:00:13 2008 +0200 ALSA: Clean up SG-buffer helper functions and macros Clean up SG-buffer helper functions and macros. Helpers take substream as arguments now. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 46480b3a5f88f20dbf25d95fe74d7b4798d5bc86 Author: Alexander Beregalov Date: Thu Aug 21 08:28:42 2008 +0400 ALSA: revo51: add headphone output It is ALSA bug #1754. D6 bit in 02 register is PW4. Signed-off-by: Alexander Beregalov Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 2005af24b17a44a977ce58d918db72f442b89521 Author: Takashi Iwai Date: Wed Aug 20 18:38:26 2008 +0200 ALSA: hda - Create beep control on ALC269 codec ALC269 codec has a beep, but it was not used, so far. Create a beep control appropriately. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c7d03bc2feb16272ca1200a86178df116b000cd4 Author: Roel Kluin Date: Wed Aug 20 10:31:38 2008 +0200 ALSA: aoa - Remove duplicate assignment of SNDRV_PCM_FMTBIT_S{16,24}_BE bits Signed-off-by: Roel Kluin Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f87426e085cba525d41bd7639121e2b74fb7e50c Author: Krzysztof Helt Date: Tue Aug 19 21:51:49 2008 +0200 ALSA: opl3sa2: replace nd_opl3sa2_info_xxx() with snd_wss_info_xxx() Replace snd_opl3sa2_info_xxx() with snd_wss_info_xxx(). Drop check of card->private_data which cannot be NULL if card is not NULL (spotted by Rene Herman). Signed-off-by: Krzysztof Helt Reviewed-by: Rene Herman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c08744498491759168119255fae2a1bd9532a268 Author: Andreas Mohr Date: Wed Aug 20 10:04:56 2008 +0200 ALSA: als4000 - Code clean up - use specs-derived register name enums instead of open-coded numeric values, for better understanding of things - fix naming confusion ("gcr" was _NOT_ the GCR register stuff, but instead the io _base_ which has multiplexed _access_ to GCR config space, at _sub_ registers 0x08 and 0x0c) - add FIXME comments about a race condition and MPU401 features Signed-off-by: Andreas Mohr Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 281712fa02bfb196d915503787e3ad351ed1be0a Author: Takashi Iwai Date: Tue Aug 19 13:10:04 2008 +0200 ALSA: Update MAINTAINERS Added tiwai to MAINTAINERS (per request of akpm) Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 2470e93c5515606a5cf44dd046f1a69e91ae23db Author: Thomas Bogendoerfer Date: Tue Aug 19 11:54:14 2008 +0200 sound: oss: remove driver for SGI HAL2 audio device With the restructering of the indy button handling the old OSS HAL2 driver got broken. Since there is a new ALSA driver for HAL2, the experimental OSS driver is obsolete and will be removed by this patch. Signed-off-by: Thomas Bogendoerfer Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a62741cf77f41338033553d7cc3fd3145a64ae53 Author: Takashi Iwai Date: Mon Aug 18 17:11:09 2008 +0200 ALSA: hda - disable delayed period-ack with bdl_pos_adj=0 When bdl_pos_adj=0 is given, disable the position-check and the delayed period update mechanism. Usually bdl_pos_adj=0 is set only for the debugging purpose on really broken hardwares. It's better to disable the extra complexity in such a case. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ace457c77ba8c0705e14d95c65e73d7e569bd7b9 Author: Krzysztof Helt Date: Sun Aug 17 22:38:27 2008 +0200 ALSA: wss_lib: snd_wss_calibrate_mute improvement Mute sound by setting mute bit without setting volume to 0. It makes both source code and binary shorter. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9e44c6e40fb383e6b1d0df0c9e375a98e11828d1 Author: Takashi Iwai Date: Mon Aug 18 13:53:07 2008 +0200 ALSA: hda - Add AD1882A codec support Added the basic support of AD1882A codec chip. It's almost compatible with AD1882, but with a digital mic and some differences in connections. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 503c10d8a7dd3aa627dc57990c95a8a4dd4fa4b5 Author: Krzysztof Helt Date: Sun Aug 17 20:01:14 2008 +0200 ALSA: opl3sa2: drop snd_card pointer from the snd_opl3sa2 structure Remove card pointer from the snd_opl3sa2 structure and break circular reference snd_card->snd_opl3sa2->snd_card. Signed-off-by: Krzysztof Helt Acked-by: Rene Herman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 862f76f86d64c2cf34a7ff5ddf0a175073b76534 Author: Takashi Iwai Date: Wed Jul 30 15:13:29 2008 +0200 ALSA: hda - set up HDMI channels Set up channel information for HDMI widgets. This will allow LPCM with multiple channels supported on some HDMI devices. TODO: It still doesn't check ELD and doesn't change PCM parameters dynamically. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c4920606757224d0c480f25839f1cef6901a2167 Author: Takashi Iwai Date: Wed Jul 30 15:13:29 2008 +0200 ALSA: hda - print a few HDMI information in proc Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 955d24881e13a08b9f523f36ae61a58245b8968e Author: Takashi Iwai Date: Wed Jul 30 15:13:28 2008 +0200 ALSA: hda - Add definitions of HDMI-related verbs Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 41660e9ac639c97840258d3c5294f618ca8cc46f Author: David S. Miller Date: Sun Aug 24 22:17:29 2008 -0700 sparc64: Allow chmc to be built as a module. Signed-off-by: David S. Miller commit 881d021ab0d675f519b68df916fde969940ef988 Author: David S. Miller Date: Sun Aug 24 22:08:34 2008 -0700 sparc64: Add generic interface for registering a dimm printing handler. The way to do this varies by platform type and the exact memory controller the cpu uses. For Spitfire cpus we currently just use prom_getunumber() and hope that works. For Cheetah cpus we have a memory controller driver that can compute this information. Signed-off-by: David S. Miller commit 83ef64b9dea6e3ed287a45d56166913bffcd2497 Author: David S. Miller Date: Sun Aug 24 21:45:44 2008 -0700 sparc64: Use consistent chmc_ prefix in variables, types, and functions. Signed-off-by: David S. Miller commit b28422e32b9127ab4178ce05a419069db3d11d19 Author: David S. Miller Date: Sun Aug 24 21:32:42 2008 -0700 sparc64: Convert UltraSPARC-III memory controller driver to OF driver probing. Signed-off-by: David S. Miller commit e04180882faf69e896a8131ff3137788dd08b8d3 Author: David S. Miller Date: Sun Aug 24 20:59:49 2008 -0700 hwmon: Add Ultra45 workstation hwmon driver. This is a PIC16F747 based controller that monitors and consolidates the hardware access to various fan and temperature values reported by adr7462 and similar devices behind an I2C bus. Signed-off-by: David S. Miller commit 8394b3a84bf3e4665da4e535d34980aa6ba78969 Author: David S. Miller Date: Sun Aug 24 20:13:42 2008 -0700 sparc64: Kill duplicated sys_pause() implementation. sys32_pause() is identical to the generically provided sys_pause() in kernel/signal.c Noticed by Christoph Hellwig. Signed-off-by: David S. Miller commit fe06ccaad20257e3bd348b2df9e811fd92211a80 Author: David S. Miller Date: Sun Aug 24 20:10:23 2008 -0700 sparc64: Split syscall_trace() into two functions. Christoph Hellwig noticed that having both entry and exit logic in one function no longer makes sense, and having seperate ones simplifies things a lot. Signed-off-by: David S. Miller commit 15df0f3302fdecaa97da0b95d72b3a9a59be8692 Author: David S. Miller Date: Wed Aug 20 23:03:24 2008 -0700 sparc: Add GPIO layer support. Signed-off-by: David S. Miller commit 44266215e3c8209613cea014721015113b7cd2d9 Author: David S. Miller Date: Wed Aug 20 16:34:39 2008 -0700 sparc: Implement irq_of_parse_and_map() and irq_dispose_mapping(). This allows more OF layer code to be shared between powerpc and sparc. Signed-off-by: David S. Miller commit 2481d76615d5e15340ccfb0243fe8779766dfc6e Author: David S. Miller Date: Tue Aug 19 21:56:35 2008 -0700 sparc: Add mutex for set property calls. On some platforms, the I2C controller is shared between the OS and OBP. OBP uses this I2C controller to access the EEPROM, and thus is programmed when the kernel calls prom_setprop(). Wrap such calls with the new of_set_property_mutex. Relevant I2C bus drivers can grab this mutex around top-level I2C operations to provide the proper protection. Signed-off-by: David S. Miller commit 072bd413b88c17509c7aa7dbc398ab8bade633b3 Author: David S. Miller Date: Mon Aug 18 20:36:17 2008 -0700 sparc64: Add JBUS NUMA detection. Signed-off-by: David S. Miller commit e17941b0c140562d92e5a3bc12b4ad88281c7926 Author: Suresh Siddha Date: Sat Aug 23 17:47:11 2008 +0200 x86: use x2apic id reported by cpuid during topology discovery use x2apic id reported by cpuid during topology discovery, instead of the apic id configured in the APIC. For most of the systems, x2apic id reported by cpuid leaf 0xb will be same as the physical apic id reported by the APIC_ID register of the APIC. We follow the suggested guidelines and use the apic id reported by the cpuid. No change to non-generic UV platforms, will use the apic id reported in the APIC_ID register as the cpuid reported apic id's may not be unique. Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit bbb65d2d365efe9951290e61678dcf81ec60add4 Author: Suresh Siddha Date: Sat Aug 23 17:47:10 2008 +0200 x86: use cpuid vector 0xb when available for detecting cpu topology cpuid leaf 0xb provides extended topology enumeration. This interface provides the 32-bit x2APIC id of the logical processor and it also provides a new mechanism to detect SMT and core siblings (which provides increased addressability). Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit 87ce786ae5f24e336195805a9fc7428a6f922478 Merge: 8067794... f1c5d30... Author: Ingo Molnar Date: Sat Aug 23 17:46:59 2008 +0200 Merge branch 'x86/cpu' into x86/x2apic commit 01de05af94db5d5214b0a5e191068d19c82059a8 Author: Venki Pallipadi Date: Fri Aug 22 12:08:17 2008 -0700 x86: have set_memory_array_{uc,wb} coalesce memtypes, fix Fix the start addr for free_memtype calls in the error path. Signed-off-by: Venkatesh Pallipadi Acked-by: Rene Herman Signed-off-by: Ingo Molnar commit a4356b2920fd4861dd6c75f558749fa5c38a00e8 Author: Ilpo Järvinen Date: Sat Aug 23 05:12:29 2008 -0700 tcp: Add tcp_parse_aligned_timestamp Some duplicated code lying around. Located with my suffix tree tool. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 2cf46637b501794d7fe9e365f0a3046f5d1f5dfb Author: Ilpo Järvinen Date: Sat Aug 23 05:11:41 2008 -0700 tcp: Add tcp_collapse_one to eliminate duplicated code Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit cbe2d128a01315fb4bd55b96cf8b963f5df28ea2 Author: Ilpo Järvinen Date: Sat Aug 23 05:10:12 2008 -0700 tcp: Add tcp_validate_incoming & put duplicated code there Large block of code duplication removed. Sadly, the return value thing is a bit tricky here but it seems the most sensible way to return positive from validator on success rather than negative. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 79ba6757277ea7228480bee4c56c0f028f806b91 Author: Dominik Brodowski Date: Sun Aug 3 14:03:07 2008 +0200 pcmcia: use dev_printk for cs_error() Use dev_printk() in cs_error()-based error reporting. While this function-turned-macro will hopefully go away soon, using dev_printk simplifies the code much. Signed-off-by: Dominik Brodowski commit 9c8b7965f594fdff37c59446b9314ed7b4b44d07 Author: Dominik Brodowski Date: Sun Aug 3 12:27:56 2008 +0200 pcmcia: remove CS_ error codes alltogether Remoe the CS_ error codes. Drivers are expected to use default error definitions (errno.h etc.). Only one CS_ error code -- CS_IN_USE -- is used internally by the (deprecated) pcmcia-cs userspace package. Therefore, keep this one around so that it still compiles. Signed-off-by: Dominik Brodowski commit 3f9c5f4cb7e00d424a56a6431e9c98b3b17851e4 Author: Dominik Brodowski Date: Sun Aug 3 12:22:40 2008 +0200 pcmcia: deprecate CS_BAD_TUPLE CS_BAD_TUPLE was used to denote a bad tuple being passed to the parse function. Therefore, replace it with -EINVAL and a verbose message. Signed-off-by: Dominik Brodowski commit 926c5402c287f6d911f7d00f936f09ea00880527 Author: Dominik Brodowski Date: Sun Aug 3 12:15:11 2008 +0200 pcmcia: deprecate CS_BAD_ARGS CS_BAD_ARGS mean a badly written driver or invalid userspace ioctl access, so translate that to -EINVAL. Signed-off-by: Dominik Brodowski commit 69ba44331e81e4a15b504175ec70b7b4b4e5a8b9 Author: Dominik Brodowski Date: Sun Aug 3 12:10:53 2008 +0200 pcmcia: deprecate CS_BAD_BASE, CS_BAD_IRQ, CS_BAD_OFFSET and CS_BAD_SIZE These four error values mostly mean a badly written driver, so ds_dbg() output and -EINVAL seems to be enough. Signed-off-by: Dominik Brodowski commit 610e23749e87920136e1a221266a43cb7e3823f1 Author: Dominik Brodowski Date: Sun Aug 3 11:58:53 2008 +0200 pcmcia: deprecate CS_BAD_ATTRIBUTE, CS_BAD_TYPE and CS_BAD_PAGE CS_BAD_TYPE was only used in cs.c and already properly annotated by error messages. CS_BAD_ATTRIBUTE and CS_BAD_PAGE mean a badly written driver, so ds_dbg() output and -EINVAL seems to be enough. (includes bugfix from and Signed-off-by: Harvey Harrison ) Signed-off-by: Dominik Brodowski commit 635d19bea0e91df473a81391ec8f3db2d049a218 Author: Dominik Brodowski Date: Sun Aug 3 11:47:29 2008 +0200 pcmcia: deprecate CS_NO_MORE_ITEMS CS_NO_MORE_ITEMS is returned by the CIS tuple reading and parsing code if the end of a tuple chain is reached. As at least one PCMCIA driver relies on matching this return value, replace it with -ENOSPC which is now uniquely used for this purpose within the in-kernel pcmcia subsystem. CC: Russell King CC: linux-serial@vger.kernel.org CC: Michael Buesch Signed-off-by: Dominik Brodowski commit f958095ef4fc96e978c6eddcaca29100e5276c7f Author: Dominik Brodowski Date: Sun Aug 3 11:40:19 2008 +0200 pcmcia: deprecate CS_IN_USE If a resource is already in use, mark it with -EBUSY. Same for cards already asleep. (includes a fix for a bug found by Larry Finger -- thanks!) Signed-off-by: Dominik Brodowski commit 943f70f1b5182c5220641ccb7bb905005162e227 Author: Dominik Brodowski Date: Sun Aug 3 11:23:42 2008 +0200 pcmcia: deprecate CS_CONFIGURATION_LOCKED This error code meant that trying to change the configuration after the initialization phase is forbidden. Signed-off-by: Dominik Brodowski commit ffb8da20271bcfb343e299e5f630dab9ccfb6214 Author: Dominik Brodowski Date: Sun Aug 3 11:18:00 2008 +0200 pcmcia: deprecate CS_BAD_HANDLE CS_BAD_HANDLE means that something went badly wrong: no parameter was passed, or the paramater passed wasn't the correct one. Therefore, replace it with -EINVAL. Signed-off-by: Dominik Brodowski commit 8567142e87322141f9344d1ab632ccf5190cd0d3 Author: Dominik Brodowski Date: Sun Aug 3 11:15:45 2008 +0200 pcmcia: deprecate CS_GENERAL_FAILURE It's only used by pcmcia_core when socket-related queries time out. Signed-off-by: Dominik Brodowski commit 3939c1ef1f954409d1441c09fbc08376655758fe Author: Dominik Brodowski Date: Sun Aug 3 11:10:56 2008 +0200 pcmcia: deprecate CS_NO_CARD It means that no card can be detected in the socket, so return -ENODEV Signed-off-by: Dominik Brodowski commit d8b0a49da4f213c637d458319432016f4ea5e12a Author: Dominik Brodowski Date: Sun Aug 3 10:56:13 2008 +0200 pcmcia: deprecate CS_BAD_VCC and CS_BAD_VPP They were either used to report that changing voltage is not allowed, or that changing voltage failed. Signed-off-by: Dominik Brodowski commit de6405e9d1e7530ea33b62e1a3921338f836a046 Author: Dominik Brodowski Date: Sun Aug 3 10:47:59 2008 +0200 pcmcia: deprecate CS_UNSUPPORTED_* CS_UNSUPPORTED_MODE and CS_UNSUPPORTED_FUNCTION were mostly used to denote trying to use PCMCIA functions on CardBus cards. Signed-off-by: Dominik Brodowski commit 1168386aa7d850ead2ae135d5a7949a592c6e9a0 Author: Dominik Brodowski Date: Sun Aug 3 10:22:47 2008 +0200 pcmcia: deprecate CS_OUT_OF_RESOURCE CS_OUT_OF_RESOURCE was almost only used to note -ENOMEM situations. Therefore, use -ENOMEM explicitely, and also print out warnings. CC: netdev@vger.kernel.org Signed-off-by: Dominik Brodowski commit 5ff87db6792844ae24cc784512a95e0c94521b19 Author: Dominik Brodowski Date: Sun Aug 3 10:36:50 2008 +0200 pcmcia: deprecate unused CS_ error codes Deprecate unused CS_ error codes by replacing their definitions with generic error messages, and removing them from the error_t lookup table. Signed-off-by: Dominik Brodowski commit 4c89e88bfde6a3c179790e21004f24e09a058290 Author: Dominik Brodowski Date: Sun Aug 3 10:07:45 2008 +0200 pcmcia: deprecate CS_SUCCESS Instead of using own error or success codes, the PCMCIA code should rely on the generic return values. Therefore, replace all occurrences of CS_SUCCESS with 0. CC: netdev@vger.kernel.org Signed-off-by: Dominik Brodowski commit 1a53088c101789bfca431de709ff6e45e8c77003 Author: Dominik Brodowski Date: Sun Aug 3 08:57:51 2008 +0200 pcmcia: move config_info_t definition to ioctl-related parts in header files Signed-off-by: Dominik Brodowski commit 64f346425175ad33812cd693fbca48cd512dab63 Author: Dominik Brodowski Date: Sat Aug 2 17:00:46 2008 +0200 pcmcia: move pccard_get_configuration_info to ioctl With the PCMCIA ioctl being the only remaining user of _get_configuration_info, move the function to pcmcia_ioctl.c Signed-off-by: Dominik Brodowski commit ef313e36d8896a42fc567a83a5d4b86821634e8d Author: Dominik Brodowski Date: Sat Aug 2 16:25:26 2008 +0200 pcmcia: remove remaining in-kernel pcmcia_get_configuration_info() users Remove the three remaining pcmcia_get_configuration_info() users: - pcmciamtd is marked broken anyway. - serial_cs.c can access the relevant structs directly - ipwireless didn't use the output CC: linux-serial@vger.kernel.org CC: Russell King Acked-by: David Sterba Signed-off-by: Dominik Brodowski commit ff08705860f3e92ea5233989b4a2384ebb421f26 Merge: 795659e... ad913c1... 7d16b65... Author: Dominik Brodowski Date: Sat Aug 23 02:00:44 2008 +0200 Merge branches 'pcmcia-config-loop' and 'pcmcia-printk' into pcmcia * pcmcia-config-loop: pcmcia: pcmcia_config_loop() improvement by passing vcc pcmcia: pcmcia_config_loop() default CIS entry handling pcmcia: pcmcia_config_loop() ConfigIndex unification pcmcia: use pcmcia_loop_config in misc pcmcia drivers pcmcia: use pcmcia_loop_config in net pcmcia drivers pcmcia: use pcmcia_loop_config in ISDN pcmcia drivers pcmcia: use pcmcia_loop_config in scsi pcmcia drivers pcmcia: use pcmcia_loop_config in bluetooth drivers pcmcia: use pcmcia_loop_config in pata and ide drivers pcmcia: add pcmcia_loop_config() helper * pcmcia-printk: pcmcia: don't add extra DEBUG cflag pcmcia: remove unused cs_socket_name() definition pcmcia: use dev_printk in module rsrc_nonstatic pcmcia: use dev_printk in module pcmcia pcmcia: use dev_printk in module pcmcia_core pcmcia: use dev_printk and dev_dbg in yenta_socket commit 7d16b658bd093e75a9f72a69e2dafd2b154c4395 Author: Dominik Brodowski Date: Sat Aug 2 21:02:01 2008 +0200 pcmcia: don't add extra DEBUG cflag Use CONFIG_PCMCIA_DEBUG instead of DEBUG so that dev_dbg() and other tricks work properly. (includes bugfixes from and Signed-off-by: Stephen Rothwell Signed-off-by: Larry Finger ) Signed-off-by: Dominik Broodwski commit 2bccc2a89012173f48a690caea7d9e4b3e950db9 Author: Dominik Brodowski Date: Sun Aug 3 09:03:53 2008 +0200 pcmcia: remove unused cs_socket_name() definition Signed-off-by: Dominik Brodowski commit dbe4ea5fde198a3808e46b665d889818c1e600f5 Author: Dominik Brodowski Date: Sat Aug 2 21:36:19 2008 +0200 pcmcia: use dev_printk in module rsrc_nonstatic Signed-off-by: Dominik Brodowski commit ac449d6e2c81d26f91d092aba114ab3cb2a02ca0 Author: Dominik Brodowski Date: Sat Aug 2 18:33:56 2008 +0200 pcmcia: use dev_printk in module pcmcia (includes bugfix from and Signed-off-by: Harvey Harrison ) Signed-off-by: Dominik Brodowski commit 2e55bf6b99fb05f3f4228e7f1381624ac8ac7e3d Author: Dominik Brodowski Date: Sat Aug 2 18:08:38 2008 +0200 pcmcia: use dev_printk in module pcmcia_core Signed-off-by: Dominik Brodowski commit dd797d81d3d7da31a50031f2741b93327ed22260 Author: Dominik Brodowski Date: Sat Aug 2 17:54:14 2008 +0200 pcmcia: use dev_printk and dev_dbg in yenta_socket Signed-off-by: Dominik Brodowski commit 23edcc4147ad36f8d55f0eb79c21e245ffb9f211 Author: David Kilroy Date: Thu Aug 21 23:28:05 2008 +0100 orinoco: Add MIC on TX and check on RX Use the MIC algorithm from the crypto subsystem. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 31afcef385bb8bf528c6fbe05b359af9f456f02a Author: David Kilroy Date: Thu Aug 21 23:28:04 2008 +0100 orinoco: Process bulk of receive interrupt in a tasklet Read the packet data off the hardware and straight into an skb in the interrupt. We have to do this in case we don't process the tasklet in time. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 06009fda9fde1b97074ab3d932d0468396bf5d10 Author: David Kilroy Date: Thu Aug 21 23:28:03 2008 +0100 orinoco: Send association events to userspace Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit d03032af511c56d3c1580fa4f54f6285f650e638 Author: David Kilroy Date: Thu Aug 21 23:28:02 2008 +0100 orinoco: Add WE-18 ioctls for WPA Includes basic plumbing to get the data into firmware, and retrieve it. SIOCxIWGENIE simply record (and return) the IE, and do not act on it. SIOCxIWENCODEEXT, SIOCxIWAUTH and SIOCSIWMLME should be as functional as the driver will support. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 409644a98bfffef79985f2c39924a06288b1dfcf Author: David Kilroy Date: Thu Aug 21 23:28:01 2008 +0100 orinoco: Use a macro to define wireless handlers The macro identifiers for the various ioctls required for WPA support are longer than those currently used by the driver. This makes it messy to keep line length below 80 character. By defining a macro to initialise the handler table, we recover the common text. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 6cd90b1cac290c64a93b7e992bb1ef495988465f Author: David Kilroy Date: Thu Aug 21 23:28:00 2008 +0100 orinoco: Split wevent work thread from wevent sending This allows us to send more wevents from the work thread. We will need to do this to support WPA. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 4ae6ee2d72e4904909d63c6ebb0240b254b72e85 Author: David Kilroy Date: Thu Aug 21 23:27:59 2008 +0100 orinoco: Don't use boolean parameter to record encoding type For WPA support we need to encode NONE, WEP and TKIP in the encoding parameter. In anticipation of this we need to change the usage away from the current boolean usage. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 01632fa4af34addf78ce999eabb4430f33942ee2 Author: David Kilroy Date: Thu Aug 21 23:27:58 2008 +0100 orinoco: Use extended Agere scans available on 9.x series firmwares This provides more information than the standard Agere scan, including the WPA IE. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 3056c40426b9cd4f7c334d773d69db64e195431d Author: David Kilroy Date: Thu Aug 21 23:27:57 2008 +0100 orinoco: address checkpatch typedef warning Just sprinkle the necessary structs around... Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 6eecad77861b193bcfc109de12835ca0bddf7c58 Author: David Kilroy Date: Thu Aug 21 23:27:56 2008 +0100 orinoco: Fix transmit for Agere/Lucent with fw 9.x The tx control word has moved into the 802.11 header area on these firmwares. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 3994d502017a2239e30152d1231843ad05d04a7b Author: David Kilroy Date: Thu Aug 21 23:27:54 2008 +0100 orinoco: Invoke firmware download in main driver Firmware download is enabled for Agere in orinoco_cs. Symbol firmware download has been moved out of spectrum_cs into orinoco_cs. Firmware download is not enabled for Intersil. Symbol based firmware is restricted to only download on spectrum_cs based cards. The firmware names are hardcoded for each firmware type. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 8f5ae73c5366128d3800cf9765507422bcf1ef96 Author: David Kilroy Date: Thu Aug 21 23:27:53 2008 +0100 orinoco: Extend hermes_dld routines for Agere firmware Add programming initialisation and termination functions. Add checks to avoid overrunning the firmware image or PDA areas. Extra algorithm to program PDA values using defaults where necessary. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit e23341809b7b60981d14a368155cd1f0724fb8d5 Author: David Kilroy Date: Thu Aug 21 23:27:52 2008 +0100 orinoco: Make firmware download logic more generic Ensure PDA read is terminated. Prevent invalid programming blocks from causing reads outside the firmware image Turn off aux stuff when finished. Option to program in limited block sizes (controlled by macro). Option to read PDA from EEPROM. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit f482eb797a391a098046a934f55af8bd785a4494 Author: David Kilroy Date: Thu Aug 21 23:27:51 2008 +0100 orinoco: Move firmware download functionality into new module Move the functionality from spectrum_cs to hermes_dld in preparation for making it more generic and usable by other orinoco drivers. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit fc5a62d8b7052ea588e4f7750cd78b0c4c47015a Author: David Kilroy Date: Thu Aug 21 23:27:50 2008 +0100 orinoco: Add function to execute Hermes initialisation commands synchronously The current synchronous execution function doesn't work for certain Hermes commands which clear the MAGIC number from SWSUPPORT0. These commands seem to be related to initialisation or programming, for example HERMES_CMD_INIT. Replicate hermes_docmd_wait for commands which clear the MAGIC number from SWSUPPORT0. This version accepts two extra arguments which are passed straight to the firmware. Functionality copied out of hermes_init. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 82a06ee518f570eb8fbb6588e75a4a5d838ac901 Author: David Kilroy Date: Thu Aug 21 23:27:49 2008 +0100 orinoco: Move EXPORT_SYMBOL declarations next to exported function Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit a1d81f1523de0c588f1d7798a49d66559f538e4f Author: David Kilroy Date: Thu Aug 21 23:27:48 2008 +0100 orinoco: Specify all three parameters to every Hermes command. hermes_issue_cmd now takes two more parameters. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 17a1a887041ea39a19c5d469f1e31df940b00622 Author: David Kilroy Date: Thu Aug 21 23:27:47 2008 +0100 orinoco: Update scan translation Report channel, beacon interval and capabilities. Use WEXT defines instead of magic numbers. State quality stats in dB. Also a few changes to keep line length less than 80. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 0753bba2d45762f83b9f4db94d15a3047f592964 Author: David Kilroy Date: Thu Aug 21 23:27:46 2008 +0100 orinoco: Add ESSID specific scanning for Agere fw Pass the ESSID to the card. This allows 'iwlist eth1 scan essid ' to work, and will help with routers setup not to broadcast the ESSID. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit ad913c11928f51abb6174f165db8d8d205b22e21 Author: Dominik Brodowski Date: Sat Aug 2 16:12:00 2008 +0200 pcmcia: pcmcia_config_loop() improvement by passing vcc By passing the current Vcc setting to the pcmcia_config_loop callback function, we can remove pcmcia_get_configuration_info() calls from many drivers. Signed-off-by: Dominik Brodowski commit 8e2fc39ddea7fe8c6798837da282db88a09af793 Author: Dominik Brodowski Date: Sat Aug 2 15:30:31 2008 +0200 pcmcia: pcmcia_config_loop() default CIS entry handling Many drivers use the default CIS entry within their pcmcia_config_loop() callback function. Therefore, factor the default CIS entry handling out. Signed-off-by: Dominik Brodowski commit 498ac1899b62626bf6879a251d75c22ec564c559 Author: Dominik Brodowski Date: Sat Aug 2 14:59:13 2008 +0200 pcmcia: pcmcia_config_loop() ConfigIndex unification Almost all drivers set p_dev->conf.ConfigIndex to cfg->index in the pcmcia_config_loop() callback function. Therefore, factor it out. Signed-off-by: Dominik Brodowski commit 84e2d34004dcd0c90d1af43a143511b334f11a4d Author: Dominik Brodowski Date: Tue Jul 29 08:38:55 2008 +0200 pcmcia: use pcmcia_loop_config in misc pcmcia drivers Use the config loop helper in misc pcmcia drivers. CC: Harald Welte CC: CC: Russell King CC: Ed Okerson CC: linux-serial@vger.kernel.org CC: boti@rocketmail.com CC: linux-usb@vger.kernel.org Signed-off-by: Dominik Brodowski commit b54bf94bf91e4ca2a489eb02bca0424ddb55242a Author: Dominik Brodowski Date: Sat Aug 2 14:28:43 2008 +0200 pcmcia: use pcmcia_loop_config in net pcmcia drivers Use the config loop helper in (some) net pcmcia drivers. CC: netdev@vger.kernel.org Signed-off-by: Dominik Brodowski commit 5fcd4da0090828bd34a1956cb322a483c6bf163c Author: Dominik Brodowski Date: Tue Jul 29 08:38:55 2008 +0200 pcmcia: use pcmcia_loop_config in ISDN pcmcia drivers Use the config loop helper in ISDN pcmcia drivers. CC: Karsten Keil Signed-off-by: Dominik Brodowski commit 0e6f9d2708409cd8e864cdb94edbe599872a19d1 Author: Dominik Brodowski Date: Tue Jul 29 08:38:55 2008 +0200 pcmcia: use pcmcia_loop_config in scsi pcmcia drivers Use the config loop helper in scsi pcmcia drivers. CC: James E.J. Bottomley CC: linux-scsi@vger.kernel.org Signed-off-by: Dominik Brodowski commit ed58872aa33e16a0d5352080e47c65fa14e6ad1c Author: Dominik Brodowski Date: Tue Jul 29 08:38:55 2008 +0200 pcmcia: use pcmcia_loop_config in bluetooth drivers Use the config loop helper in bluetooth pcmcia drivers. CC: Marcel Holtmann CC: linux-bluetooth@vger.kernel.org Signed-off-by: Dominik Brodowski commit 0bac660a77b672f85d713d1898382993299df5de Author: Dominik Brodowski Date: Tue Jul 29 08:43:20 2008 +0200 pcmcia: use pcmcia_loop_config in pata and ide drivers Use the config loop helper in pata_pcmcia and ide_cs CC: Tejun Heo CC: Alan Cox CC: linux-ide@vger.kernel.org Signed-off-by: Dominik Brodowski commit a804b574e6c7236222593046fc2b1b8bd0298fce Author: Dominik Brodowski Date: Tue Jul 29 08:38:30 2008 +0200 pcmcia: add pcmcia_loop_config() helper By calling pcmcia_loop_config(), a pcmcia driver can iterate over all available configuration options. During a driver's probe() phase, one doesn't need to use pcmcia_get_{first,next}_tuple, pcmcia_get_tuple_data and pcmcia_parse_tuple directly in most if not all cases. Signed-off-by: Dominik Brodowski commit 795659ef0ee175d47723f806e7a29427b171e61b Author: Dominik Brodowski Date: Sun Aug 3 21:12:07 2008 +0200 pcmcia: uniform device IDs of pata_pcmcia and ide-cs Over time, a few differences have accumulated between pata_pcmcia and ide-cs. Fix those. CC: linux-ide@vger.kernel.org Signed-off-by: Dominik Brodowski commit 9859b81eaeb8d48563b5fbd90215c0ae606455a3 Author: Ron Rindjunsky Date: Sat Aug 9 03:02:19 2008 +0300 mac80211: add direct probe before association This patch adds a direct probe request as first step in the association flow if data we have is not up to date. Motivation of this step is to make sure that the bss information we have is correct, since last scan could have been done a while ago, and beacons do not fully answer this need as there are potential differences between them and probe responses (e.g. WMM parameter element) Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 32ddf0718590f410d5f18cb4fcda419f4aeefc57 Author: Christian Lamparter Date: Fri Aug 8 21:17:37 2008 +0200 p54: rename prism54xyz -> p54xyz It's been a long time, but fullmac prism54 driver is still around... I think we should rename every prism54* in order to avoid some confusion about "what is actually what" in the future ;-). Thanks-to: Maxi Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 6042a3e3ff7943e4ff5cbcb8c223ea87337501ea Author: Ron Rindjunsky Date: Fri Aug 8 01:50:46 2008 +0300 mac80211: change number of pre-assoc scans This patch fixes noticed problem in noisy environments of 50+ APs that scan fails to find the requested AP on first try, which leads to connection refusal. second scan has empirically proven to fix this problem in almost all cases. Signed-off-by: Ron Rindjunsky Signed-off-by: Esti Kummer Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 008c44825db74c6cdcea13dfb1598896e74fe908 Author: Ivo van Doorn Date: Wed Aug 6 17:27:31 2008 +0200 rt2x00: Add module parameter to disable HW crypto Add a module parameter to rt61 and rt73 to disable HW crypto. The option should only be checked when determining if the SUPPORT_HW_CRYPTO flag should be set or not. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit ba2ab47129eee76f6f0ef52b4beae30a12cee7f6 Author: Ivo van Doorn Date: Wed Aug 6 16:22:17 2008 +0200 rt2x00: Move lna_gain calculation to config() callback We can optimize lna calculation in IRQ context by calculating most of the value during the config() callback when most of the value is actually influenced. This will be required later by rt2800pci and rt2800usb as well, since they need the lna_gain value during config(). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 48c2fc59aa415ba92be0ad3a7e741c46883e3944 Author: Tomas Winkler Date: Wed Aug 6 14:22:01 2008 +0300 mac80211: cleanup mlme state namespace This patch move add STA_MLME to station mlme state defines. Signed-off-by: Tomas Winkler Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 06303352d3de02a371ccaec1366a92db5e1d7c30 Author: Bruno Randolf Date: Tue Aug 5 19:32:23 2008 +0200 ath5k: set short preamble flag for rx set the short preamble flag in ieee80211_rx_status for frames received with a short preamble. drivers/net/wireless/ath5k/base.c: Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit edcc25b22f7c328f56e8c129afa1e10c8bacb2ef Author: Ivo van Doorn Date: Mon Aug 4 16:39:05 2008 +0200 rt2x00: Release rt2x00 2.2.0 Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 8c5e7a5f59f9d11597bd47de28334da318ea0e80 Author: Ivo van Doorn Date: Mon Aug 4 16:38:47 2008 +0200 rt2x00: Gather channel information in structure Channel information which is read from EEPROM should be read into an array containing per-channel information. This removes the requirement of multiple arrays and makes the channel handling a bit cleaner and easier to expand. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 906c110fcc24bdd5bf0fa22d89ac75d99c747e53 Author: Ivo van Doorn Date: Mon Aug 4 16:38:24 2008 +0200 rt2x00: Implement HW encryption (rt73usb) rt73usb supports hardware encryption. rt73usb supports up to 4 shared keys and up to 64 pairwise keys. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 61e754f44b57060464b1fcf261a8428ecfa23bed Author: Ivo van Doorn Date: Mon Aug 4 16:38:02 2008 +0200 rt2x00: Implement HW encryption (rt61pci) rt61pci supports hardware encryption. rt61pci supports up to 4 shared keys and up to 64 pairwise keys. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2bb057d07a0bc17475a7bf897fc41667ab08b73f Author: Ivo van Doorn Date: Mon Aug 4 16:37:44 2008 +0200 rt2x00: Implement HW encryption Various rt2x00 devices support hardware encryption. Most of them require the IV/EIV to be generated by mac80211, but require it to be provided seperately instead of within the frame itself. This means that rt2x00lib should extract the data from the frame and place it in the frame descriptor. During RX the IV/EIV is provided in the descriptor by the hardware which means that it should be inserted into the frame by rt2x00lib. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 8e7cdbb6333ef7654e708bd60e50a123688dcd7b Author: Tomas Winkler Date: Sun Aug 3 14:32:01 2008 +0300 mac80211: filter probes in ieee80211_rx_mgmt_probe_resp This patch moves filtering statement from ieee80211_rx_bss_info which is called for both beacon and probe to ieee80211_rx_mgmt_probe_resp and save few cycles in beacon parsing. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit f698d856f65c3fea091cc303a135967965c5b880 Author: Jasper Bryant-Greene Date: Sun Aug 3 12:04:37 2008 +1200 replace net_device arguments with ieee80211_{local,sub_if_data} as appropriate This patch replaces net_device arguments to mac80211 internal functions with ieee80211_{local,sub_if_data} as appropriate. It also does the same for many 802.11s mesh functions, and changes the mesh path table to be indexed on sub_if_data rather than net_device. If the mesh part needs to be a separate patch let me know, but since mesh uses a lot of mac80211 functions which were being converted anyway, the changes go hand-in-hand somewhat. This patch probably does not convert all the functions which could be converted, but it is a large chunk and followup patches will be provided. Signed-off-by: Jasper Bryant-Greene Signed-off-by: John W. Linville commit fef1643bf0cdd092a52dc3378479e4811fd65152 Author: Jasper Bryant-Greene Date: Sun Aug 3 11:30:55 2008 +1200 move ETH_P_PAE from ieee80211_i.h to if_ether.h ETH_P_PAE belongs in if_ether.h with the other ETH_P_* definitions. This patch moves it there. Signed-off-by: Jasper Bryant-Greene Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 96c87607ac8f9b0e641d11ba6e57f8ec0214ea1c Author: Henrique de Moraes Holschuh Date: Sat Aug 2 15:11:00 2008 -0300 rfkill: introduce RFKILL_STATE_MAX While it is interesting to not add last-enum-markers because it allows gcc to warn us of switch() statements missing a valid state, we really should be handling memory corruption on a rfkill state with default clauses, anyway. So add RFKILL_STATE_MAX and use it where applicable. It makes for safer code in the long run. Signed-off-by: Henrique de Moraes Holschuh Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 77fba13ccc3a2a3db100892a4a6cc5e2f8290cc7 Author: Henrique de Moraes Holschuh Date: Sat Aug 2 15:10:59 2008 -0300 rfkill: add __must_check annotations rfkill is not a small, mere detail in wireless support. Once it starts supporting rfkill and users start counting on that support, a wireless device is at risk of operating in dangerous conditions should rfkill support fail to properly activate. Therefore, add the required __must_check annotations on some key functions of the rfkill API, for which the wireless drivers absolutely MUST handle the failure mode safely in order to avoid a potentially dangerous situation where the wireless transmitter is left enabled when the user don't want it to. Signed-off-by: Henrique de Moraes Holschuh Acked-by: Ivo van Doorn Cc: Matthew Garrett Signed-off-by: John W. Linville commit 9961920199ec88d6b581d3e38502088935925c04 Author: Henrique de Moraes Holschuh Date: Sat Aug 2 15:10:58 2008 -0300 rfkill: add default global states (v2) Add a second set of global states, "rfkill_default_states", to track the state that will be used when the first rfkill class of a given type is registered, and also to save "undo" information when rfkill_epo is called. Add a new exported function, rfkill_set_default(), which can be used by platform drivers to restore radio state saved by the platform across reboots or shutdown. Also, fix rfkill_epo to properly update rfkill_states, but still preserve a copy of the state so that we can undo the effect of rfkill_epo later if we want to. Add rfkill_restore_states() to restore rfkill_states from the copy. Signed-off-by: Henrique de Moraes Holschuh Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 02589f60510030a3c1496e7a8c511e4f674ef5ff Author: Henrique de Moraes Holschuh Date: Sat Aug 2 15:10:57 2008 -0300 rfkill: detect bogus double-registering (v2) Detect and abort with -EEXIST if rfkill_register is called twice on the same rfkill struct. And WARN_ON(it) for good measure. While at it, flag when we are adding the first switch of a type, we will need that information later. Signed-off-by: Henrique de Moraes Holschuh Acked-by: Ivo van Doorn Cc: Johannes Berg Signed-off-by: John W. Linville commit c94c93da90a9e46a73a5733ff8454fb4b14733fb Author: Harvey Harrison Date: Mon Jul 28 23:01:34 2008 -0700 wireless: replace __FUNCTION__ with __func__ __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit d9c6350431d0c8cac000c6a230d9a20dad52e26d Author: Luis Carlos Cobo Date: Thu Aug 14 10:41:10 2008 -0700 libertas_tf: config and makefile Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit c305a19a0d0a47ac59a58865a4a63be65b1bf7c8 Author: Luis Carlos Cobo Date: Thu Aug 14 10:41:06 2008 -0700 libertas_tf: usb specific functions The libertas thin firmware only supports usb devices, but the usb functions have been kept separate to ease future support for other devices. Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit 691cdb49388b808bfbfacaea93afb5c2807db45e Author: Luis Carlos Cobo Date: Thu Aug 14 10:41:01 2008 -0700 libertas_tf: command helper functions for libertas_tf Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit 06b16ae5319251c26377afcb401e46056d5673f4 Author: Luis Carlos Cobo Date: Thu Aug 14 10:40:57 2008 -0700 libertas_tf: main.c, data paths and mac80211 handlers This patch contains most of the libertastf driver, just lacking command helper functions and usb specific functions. Currently, monitor, managed, ap and mesh interfaces are supported. Even though this driver supports the same hardware as the "libertas" driver, it uses a different (thin) firmware, that makes it suitable for a mac80211 driver. Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit 7670e62c7ed6d1a70a98c3047898712be6aa9ff8 Author: Luis Carlos Cobo Date: Thu Aug 14 10:40:52 2008 -0700 libertas_tf: header file Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit bdbe819540f3365249095692118dbfeee308140d Author: Luis Carlos Cobo Date: Thu Aug 14 10:40:48 2008 -0700 mac80211: allow no mac address until firmware load Originally by Johannes Berg. This patch adds support for devices that do not report their MAC address until the firmware is loaded. While the address is not known, a multicast on is used. Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit 4eb2ae9a42b77de48ee9fecfaccc66c640313188 Author: Harvey Harrison Date: Tue Jul 15 18:44:15 2008 -0700 mac80211: remove WLAN_FC_DATA_PRESENT All users are gone now. Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit a4b7d7bda566acaa65fbf767f65a83b3a8dc74b9 Author: Harvey Harrison Date: Tue Jul 15 18:44:14 2008 -0700 mac80211: remove rx/tx_data->fc member Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit 358c8d9d332230b14e130b78a6930996cdbf84c2 Author: Harvey Harrison Date: Tue Jul 15 18:44:13 2008 -0700 mac80211: use ieee80211 frame control directly Remove the last users of the rx/tx_data->fc data members and use the le16 frame_control from the header directly. Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit e7827a7031a931c74c48e4a53f73ed862f0c8da0 Author: Harvey Harrison Date: Tue Jul 15 18:44:13 2008 -0700 mac80211: remove IEEE80211_FC helper Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit 6b644e524bbd4089a28e0711de4f1cf2daa5db50 Author: Harvey Harrison Date: Tue Jul 15 18:44:12 2008 -0700 mac80211: remove ieee80211_get_hdrlen All users have been moved over to the version taking a le16 frame control rather than a cpu-endian value. Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit b73d70ad8665fd3f35c855075b9a94de3e2b69e2 Author: Harvey Harrison Date: Tue Jul 15 18:44:12 2008 -0700 mac80211: rx.c/tx.c remove more users of tx/rx_data->fc Those functions that still use ieee80211_get_hdrlen are moved over to use the little endian frame control. Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit d298487260d01934a8df3a4a2a09513d84a8e69b Author: Harvey Harrison Date: Tue Jul 15 18:44:10 2008 -0700 mac80211: wep.c replace magic numbers in IV/ICV removal Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit c44d040e186e1af9d947f7bad886b7c1d35a22f6 Author: Harvey Harrison Date: Tue Jul 15 18:44:07 2008 -0700 mac80211: wme.h remove unused QOS_CONTROL_LEN linux/ieee80211.h now has IEEE80211_QOS_CTL_LEN for this purpose. Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit 62bf1d762e24006fa9b6c8d56a22cf47a2310af3 Author: Harvey Harrison Date: Tue Jul 15 18:44:05 2008 -0700 mac80211: explicitly check skb->len ieee80211_get_hdrlen_from_skb internally checks the skb is long enough to hold the full ieee80211_hdr, else it returns zero. Use ieee80211_hdrlen which always returns the hdrlen and check the remaining room in the skb explicitly when removing encryption headers or the qos control field. Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit 798ee9850e9bf94b4436f9c7238823322e326885 Author: Harvey Harrison Date: Tue Jul 15 18:44:02 2008 -0700 ath5k: explicitly check skb->len ieee80211_get_hdrlen_from_skb internally checks that the skb is long enough to hold the full header, or it returns 0 if not. The check in ath5k does not check this case and assumes it always got the actual header length which it then checks against the skb->len plus some headroom. Change to ieee80211_hdrlen which always returns the hdrlen and keep the existing headroom check. Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit 7294ec955cb0c3eeefca2f4dd271c8068ab4edc5 Author: Harvey Harrison Date: Tue Jul 15 18:43:59 2008 -0700 iwlwifi: use le16 frame control directly, use QOS symbolic constant mask Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit ba5b6efe5d945f7a4c5b656051cc16698afdda24 Author: Harvey Harrison Date: Tue Jul 15 18:43:56 2008 -0700 b43legacy: use le16 frame control directly, avoid byteswapping Acked-by: Michael Buesch Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit ded2ae7c1fbff22516fd55ff0edcf6cd86f76186 Author: Esti Kummer Date: Mon Aug 4 16:00:45 2008 +0800 iwlwifi: add level for debugging host command This patch adds another level for debugging host command. This adds an option to suppress the debug prints for sensitivity and link quality commands. Signed-off-by: Esti Kummer Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 39351fa343289070f6f30bd0652e10c8d97f0a3b Author: Tomas Winkler Date: Mon Aug 4 16:00:41 2008 +0800 iwlwifi: kill struct iwl4965_lq_mngr This patch removes struct iwl4965_lq_mngr it is not used. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 73ae98a1334c7ab7c4f01e8a1c0c773470979688 Author: roel kluin Date: Mon Jul 21 20:29:52 2008 -0400 iwl-4965: test below 0 on unsigned num_tbs num_tbs is unsigned so the test doesn't work. Signed-off-by: Roel Kluin Signed-off-by: John W. Linville commit 6f0a2c4dfc96d268233a6a882f3805975f91216c Author: Bruno Randolf Date: Wed Jul 30 17:20:14 2008 +0200 iwlwifi: use generic mac80211 radiotap headers remove drivers own implementation of radiotap in favor of the generic one provided by mac80211. also remove priv->add_radiotap because it is not used any more. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 9deb1ae572364a37d054d916c5bae858f91a3f9a Author: Bruno Randolf Date: Wed Jul 30 17:20:06 2008 +0200 mac80211: radiotap: assume modulation from rates use the rates ERP flag to derive CCK or OFDM modulation for the radiotap header. (it might be more correct to get this information from the hardware itself, but it seems safe to assume this in most practical cases.) Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit b4f28bbb9bf0b2c829ecf97ce2173f204fde4f10 Author: Bruno Randolf Date: Wed Jul 30 17:19:55 2008 +0200 mac80211: add rx status flag for short preamble and use it for the radiotap header Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 63266a653589e1a237527479f10212ea77ce7844 Author: Bruno Randolf Date: Wed Jul 30 17:12:58 2008 +0200 ath5k: rates cleanup cleanup the rates structures used by ath5k. instead of separate driver and mac80211 rate structures we now setup a static ieee80211_rate array and use it directly. no conversion between two different rate structures has to be done any more. a lot of unused and confusing junk was deleted. renamed ath5k_getchannels into ath5k_setup_bands because this is what it does. rewrote it to copy the bitrates correctly for each band. this is necessary for running different hardware with the same driver (e.g. 5211 and 5212 based cards). add special handling of rates for AR5211 chipsets: it uses different rate codes for CCK rates (which are actually like the other chips but with a 0xF mask). setup a hardware code to rate index reverse mapping table for getting the rate index of received frames. the rates for control frames which have to be set in ath5k_hw_write_rate_duration are now in one single array. drivers/net/wireless/ath5k/ath5k.h: Changes-licensed-under: ISC drivers/net/wireless/ath5k/base.c: Changes-licensed-under: 3-Clause-BSD drivers/net/wireless/ath5k/base.h: Changes-licensed-under: 3-Clause-BSD drivers/net/wireless/ath5k/hw.c: Changes-licensed-under: ISC Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 92ab85354993ac3a364c65cab45745af470ffc67 Author: Tomas Winkler Date: Thu Jul 24 21:02:04 2008 +0300 mac80211: add ieee80211_queue_stopped) This patch adds ieee80211_queue_stopped that let drivers to query queue status Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 5442060c08a49bd0b416f033e0ae43ccedef5278 Author: Robert P. J. Day Date: Thu Jul 24 12:20:09 2008 -0400 WIRELESS: Make wireless one-click selectable. Use "menuconfig" to make wireless support one-click selectable. Signed-off-by: Robert P. J. Day Signed-off-by: John W. Linville commit d7dc100374df0c21afd8a198336ecd7999697159 Author: Jiri Slaby Date: Wed Jul 23 13:17:35 2008 +0200 Ath5k: unify resets There were 3 code copy and pastes of reset. Unify the resets and place in separate function. Signed-off-by: Jiri Slaby Cc: Nick Kossifidis Cc: Luis R. Rodriguez Signed-off-by: John W. Linville commit b9740c2396851178b99c03c2260a0adfe7f52e36 Author: Daniel Wagner Date: Wed Jul 23 19:17:01 2008 +0200 rt2x00mac: In error case stop netdev queue, free skb and return NETDEV_TX_OK It is not allowed to use NETDEV_TX_BUSY in tx path anymore. Signed-off-by: Daniel Wagner Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 8e5f3d0aaa3ae5305613553f869727b0361cd472 Author: Andrey Yurovsky Date: Thu Jul 17 13:12:24 2008 -0700 ath5k: add Mesh Point support This enables draft-802.11s Mesh Point operation. For that we need mesh beaconing. Tested with AR5212/AR5213 PCI card against Zydas and b43 mesh nodes. Signed-off-by: Andrey Yurovsky Signed-off-by: John W. Linville commit d92a8e81e097968d8f2bac0581a0a43bff14b8f0 Author: Julia Lawall Date: Wed Jul 16 16:34:54 2008 +0200 net/ieee80211: adjust error handling Converts a test in error handling code to a sequence of labels. The semantic match that found the problem is: (http://www.emn.fr/x-info/coccinelle/) // @@ expression E,E1,E2; @@ E = alloc_etherdev(...) ... when != E = E1 if (...) { ... free_netdev(E); ... return ...; } ... when != E = E2 ( if (...) { ... when != free_netdev(E); return dev; } | * if (...) { ... when != free_netdev(E); return ...; } | register_netdev(E) ) // Signed-off-by: Julia Lawall Signed-off-by: John W. Linville commit 1ff41eb0d9a937957d481d4f058a91230851ae17 Author: Brian Cavagnolo Date: Mon Jul 21 11:03:16 2008 -0700 libertas: add sysfs hooks to update boot2 and persistent firmware To use these features, copy the boot2 and firmware images to /lib/firmware and: echo > /sys/class/net/ethX/lbs_flash_boot2 echo > /sys/class/net/ethX/lbs_flash_fw Signed-off-by: Brian Cavagnolo Acked-by: Dan Williams Signed-off-by: John W. Linville commit 1556c0f22df77800d2e99342ce354a4ce94c5a0f Author: Brian Cavagnolo Date: Mon Jul 21 11:02:46 2008 -0700 libertas: support boot commands to write persistent firmware and bootloader Add locking and non-locking versions of if_usb_prog_firmware to support programming firmware after and before driver bring-up respectively. Add more suitable error codes for firmware programming process. Add capability checks for persistent features before attempting to use them. Based on patches from Brajesh Dave and Priyank Singh. Signed-off-by: Brian Cavagnolo Acked-by: Dan Williams Signed-off-by: John W. Linville commit 38e3b0d86eaa0bf90a74677b6d6c442ec66daa0c Author: Herton Ronaldo Krzesinski Date: Wed Jul 16 11:44:18 2008 -0300 rtl818x: merge tx/rx descriptor flags Tx/Rx descriptor flags are common between rtl818x devices, only with additions for newer chips, thus use same flags in the code. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: John W. Linville commit 25258ef762bc4a05fa9c4523f7dae56e3fd01864 Author: Jeremy Fitzhardinge Date: Wed Aug 20 11:31:07 2008 -0700 x86: export pv_lock_ops non-GPL None of the spinlock API is exported GPL, so there's no reason for pv_lock_ops to be. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Cc: drago01 commit 93dcf55f828b035fc93fc19eb03c1390e1e6d570 Author: Oleg Nesterov Date: Wed Aug 20 16:54:44 2008 -0700 wait_task_inactive: "improve" the returned value for ->nvcsw == 0 wait_task_inactive() returns 1 when p->nvcsw == 0 || p->nvcsw == 1. This means that two subsequent calls can return the same number while the task was scheduled in between. Change the code to return "nvcsw | LONG_MIN" instead of "nvcsw ?: 1", now the overlap always needs LONG_MAX schedules. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit f31e11d87a5d7601636710195891ba462ad99f11 Author: Oleg Nesterov Date: Wed Aug 20 16:54:44 2008 -0700 wait_task_inactive(): don't consider task->nivcsw If wait_task_inactive() returns success the task was deactivated. In that case schedule() always increments ->nvcsw which alone can be used as a "generation counter". If the next call returns the same number, we can be sure that the task was unscheduled. Otherwise, because we know that .on_rq == 0 again, ->nvcsw should have been changed in between. Q: perhaps it is better to do "ncsw = (p->nvcsw << 1) | 1" ? This decreases the possibility of "was it unscheduled" false positive when ->nvcsw == 0. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 94d3d8247de22c5b0624aa00616ceca459498e55 Author: Oleg Nesterov Date: Wed Aug 20 16:54:41 2008 -0700 sched: do_wait_for_common: use signal_pending_state() Change do_wait_for_common() to use signal_pending_state() instead of open coding. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit b05f78f5c713eda2c34e495d92495ee4f1c3b5e1 Author: Yinghai Lu Date: Fri Aug 22 01:32:50 2008 -0700 x86_64: printout msr -v2 commandline show_msr=1 for bsp, show_msr=32 for all 32 cpus. [ mingo@elte.hu: added documentation ] Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 421076e2bec1b917bdcf83da35b24f6349bf35db Author: FUJITA Tomonori Date: Fri Aug 22 16:29:10 2008 +0900 x86: dma_*_coherent rework patchset v2, fix alloc_coherent dma_ops callback was added to GART, however, it doesn't return a size aligned address wrt dma_alloc_coherent, as DMA-mapping.txt defines. This patch fixes it. This patch also removes unused gart_map_simple (dma_mapping_ops->map_simple has gone). Signed-off-by: FUJITA Tomonori Signed-off-by: Ingo Molnar commit 0d8136ea509132c66155ca8a1e7cf60699f95c37 Merge: 766af9f... 7b22ff5... Author: Ingo Molnar Date: Fri Aug 22 09:03:43 2008 +0200 Merge branch 'x86/gart' into x86/iommu commit 766af9fa812f49feb4a3e62cf92f3d37f33c7fb6 Author: FUJITA Tomonori Date: Fri Aug 22 00:12:09 2008 +0900 dma-mapping.h, x86: remove last user of dma_mapping_ops->map_simple pci-dma.c doesn't use map_simple hook any more so we can remove it from struct dma_mapping_ops now. Signed-off-by: FUJITA Tomonori Signed-off-by: Ingo Molnar commit a38409fbb5181324fb73b359189a72e02b6c7030 Author: Ingo Molnar Date: Wed Aug 20 12:16:09 2008 +0200 dma-coherent: export dma_[alloc|release]_from_coherent methods fixes modular builds: ERROR: "dma_alloc_from_coherent" [sound/core/snd-page-alloc.ko] undefined! ERROR: "dma_release_from_coherent" [sound/core/snd-page-alloc.ko] undefined! Signed-off-by: Ingo Molnar commit 2cd54961caff9fe9109807c6603a0af0729b9591 Author: Joerg Roedel Date: Tue Aug 19 16:32:46 2008 +0200 x86, AMD IOMMU: remove obsolete FIXME comment Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit 6c505ce3930c6a6b455cda53fab3e88ae44f8221 Author: Joerg Roedel Date: Tue Aug 19 16:32:45 2008 +0200 x86: move dma_*_coherent functions to include file All the x86 DMA-API functions are defined in asm/dma-mapping.h. This patch moves the dma_*_coherent functions also to this header file because they are now small enough to do so. This is done as a separate patch because it also includes some renaming and restructuring of the dma-mapping.h file. Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit c647c3bb2d16246a87f49035985ddb7c1eb030df Author: Joerg Roedel Date: Tue Aug 19 16:32:44 2008 +0200 x86: cleanup dma_*_coherent functions All dma_ops implementations support the alloc_coherent and free_coherent callbacks now. This allows a big simplification of the dma_alloc_coherent function which is done with this patch. The dma_free_coherent functions is also cleaned up and calls now the free_coherent callback of the dma_ops implementation. Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit a3a76532e0caa093c279806d8fe8608232538af0 Author: Joerg Roedel Date: Tue Aug 19 16:32:43 2008 +0200 x86: add free_coherent dma_ops callback to NOMMU driver Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit c5e835f9641e9fcb95d1afb24906821e98b2c6a8 Author: Joerg Roedel Date: Tue Aug 19 16:32:42 2008 +0200 x86: add alloc_coherent dma_ops callback to NOMMU driver Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit e4ad68b651f22fa71820c0b30bb2807999b2b49f Author: Joerg Roedel Date: Tue Aug 19 16:32:41 2008 +0200 x86: add free_coherent dma_ops callback to Calgary IOMMU driver Signed-off-by: Joerg Roedel Acked-by: Muli Ben-Yehuda Signed-off-by: Ingo Molnar commit 43a5a5a09b8cfd56047706cf904718d073ccfd33 Author: Joerg Roedel Date: Tue Aug 19 16:32:40 2008 +0200 x86: add free_coherent dma_ops callback to GART driver Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit 94581094e774402a11887719bac10505236c2d51 Author: Joerg Roedel Date: Tue Aug 19 16:32:39 2008 +0200 x86: add alloc_coherent dma_ops callback to GART driver [ v2 - x86: make gart_alloc_coherent return zeroed memory FUJITA Tomonori pointed it out that the dma_alloc_coherent function should return memory set to zero. This patch adds this to the GART implementation too. ] Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit ee7686bc043921a488d9bf89fe93241c5457a74e Author: Jeremy Fitzhardinge Date: Thu Aug 21 13:17:56 2008 -0700 x86: build fix in "xen spinlock updates and performance measurements" Ingo Molnar wrote: > -tip testing found this build failure: > > arch/x86/xen/spinlock.c: In function ‘spin_time_start’: > arch/x86/xen/spinlock.c:60: error: implicit declaration of function ‘xen_clocksource_read’ > > i've excluded these new commits for now from tip/master - could you > please send a delta fix against tip/x86/xen? Make xen_clocksource_read non-static. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 5b792d320f28ff83dd4c13f984807e26235f7703 Author: Randy Dunlap Date: Thu Aug 21 13:43:51 2008 -0700 x86, microcode_amd: fix shift warning microcode_amd.c uses ">> 32" on a 32-bit value, so gcc warns about that. The code could use something like this *untested* patch. linux-next-20080821/arch/x86/kernel/microcode_amd.c:229: warning: right shift count >= width of type Signed-off-by: Randy Dunlap Signed-off-by: Ingo Molnar commit 5f310b63781f6777bf4e812570560ec0f8ea42d8 Author: Rene Herman Date: Thu Aug 21 19:15:46 2008 +0200 agp: enable optimized agp_alloc_pages methods The pageattr-array patch that you currently have in tip/master only enables it for intel-agp, not the others. The attached enables it for all drivers currently directly using agp_generic_alloc_page() and agp_generic_destroy_page() (ocal driver is amd-k7-agp). The new agp_generic_alloc_pages() interface uses the also new pageattr array interface API. This makes all AGP drivers that up to now used generic_{alloc,destroy}_page() use it. Signed-off-by: Rene Herman Signed-off-by: Ingo Molnar commit c5e147cf5aeb31aa1a9030be9727914855fc4133 Author: Rene Herman Date: Fri Aug 22 01:02:20 2008 +0200 x86: have set_memory_array_{uc,wb} coalesce memtypes. Actually, might as well simply reconstruct the memtype list at free time I guess. How is this for a coalescing version of the array functions? Compiles, boots and provides me with: root@7ixe4:~# wc -l /debug/x86/pat_memtype_list 53 /debug/x86/pat_memtype_list otherwise (down from 16384+). Signed-off-by: Ingo Molnar commit 9a79f4f491f92bc713e1f28f96516b141b752600 Author: Rene Herman Date: Fri Aug 22 00:10:13 2008 +0200 x86: {reverve,free}_memtype() take a physical address The new set_memory_array_{uc,wb}() pass virtual addresses to {reserve,free}_memtype() it seems. Signed-off-by: Rene Herman Signed-off-by: Ingo Molnar commit 8b53b57576292b92b27769f9e213df19b6e57786 Merge: ab7e792... 38cc1c3... Author: Ingo Molnar Date: Fri Aug 22 06:06:51 2008 +0200 Merge branch 'x86/urgent' into x86/pat Conflicts: arch/x86/mm/pageattr.c Signed-off-by: Ingo Molnar commit f86399396ce7a4f4069828b7dceac5aa5113dfb5 Author: Eduardo Habkost Date: Wed Jul 30 18:32:27 2008 -0300 x86, paravirt_ops: use unsigned long instead of u32 for alloc_p*() pfn args This patch changes the pfn args from 'u32' to 'unsigned long' on alloc_p*() functions on paravirt_ops, and the corresponding implementations for Xen and VMI. The prototypes for CONFIG_PARAVIRT=n are already using unsigned long, so paravirt.h now matches the prototypes on asm-x86/pgalloc.h. It shouldn't result in any changes on generated code on 32-bit, with or without CONFIG_PARAVIRT. On both cases, 'codiff -f' didn't show any change after applying this patch. On 64-bit, there are (expected) binary changes only when CONFIG_PARAVIRT is enabled, as the patch is really supposed to change the size of the pfn args. [ v2: KVM_GUEST: use the right parameter type on kvm_release_pt() ] Signed-off-by: Eduardo Habkost Acked-by: Jeremy Fitzhardinge Acked-by: Zachary Amsden Signed-off-by: Ingo Molnar commit e89087c99f2be002ff46126742c21da5d357b324 Author: Paul Walmsley Date: Tue May 20 18:41:35 2008 -0600 [ARM] OMAP: clockdomain: add clkdm_get_pwrdm() Add clkdm_get_pwrdm() to the clockdomain code. It will return a pointer to the powerdomain struct that the clockdomain is contained within. Used by the PM code. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 0b7cbfb5e1f03f58241bf236cca303ee45e14b4f Author: Paul Walmsley Date: Wed Jun 25 18:09:37 2008 -0600 [ARM] OMAP3 pwrdm: add hardware save-and-restore (SAR) support OMAP3430ES2+ introduces a new feature: optional powerdomain context hardware save-and-restore (SAR). Currently, this feature only applies to USBHOST and USBTLL module context when the USBHOST or CORE powerdomains enter a low-power sleep state[1]. This feature avoids re-enumeration of USB devices when the powerdomains return from idle, which is potentially time-consuming. This patch adds support for enabling and disabling hardware save-and-restore to the powerdomain code. Three new functions are added, pwrdm_enable_hdwr_sar(), pwrdm_disable_hdwr_sar(), and pwrdm_can_hdwr_sar(). A new struct powerdomain "flags" field is added, with a PWRDM_HAS_HDWR_SAR flag to indicate powerdomains with SAR support. Thanks to Jouni Högander for reviewing an earlier version of these patches, and Richard Woodruff for clarifying the purpose of these bits. 1. For the USBHOST controller module, context loss occurs when the USBHOST powerdomain enters off-idle. For USBTLL, context loss occurs either if CORE enters off-idle, or if the CORE logic is configured to turn off when CORE enters retention-idle (OSWR). 34xx ES2 TRM 4.8.6.1.1, 4.8.6.1.2 Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 275a89bdd3868af3008852594d2e169eaf69441b Author: Paul E. McKenney Date: Thu Aug 21 06:14:55 2008 -0700 rcu: use irq-safe locks Some earlier tip/core/rcu patches caused RCU to incorrectly enable irqs too early in boot. This caused Yinghai's repeated-kexec testing to hit oopses, presumably due to so that device interrupts left over from the prior kernel instance (which would oops the newly booting kernel before it got a chance to reset said devices). This patch therefore converts all the local_irq_disable()s in rcuclassic.c to local_irq_save(). Besides, I never did like local_irq_disable() anyway. ;-) Signed-off-by: Paul E. McKenney Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit f8eca41f0afcc7042dc3398c8ba5878c59b1cf1b Author: Jeremy Fitzhardinge Date: Wed Aug 20 17:02:21 2008 -0700 xen: measure how long spinlocks spend blocking Measure how long spinlocks spend blocked. Also rename some fields to be more consistent. Signed-off-by: Jeremy Fitzhardinge Acked-by: Jan Beulich Signed-off-by: Ingo Molnar commit 1e696f638b523958ee3d95e655becdb4c4b6fcde Author: Jeremy Fitzhardinge Date: Wed Aug 20 17:02:20 2008 -0700 xen: allow interrupts to be enabled while doing a blocking spin If spin_lock is called in an interrupts-enabled context, we can safely enable interrupts while spinning. We don't bother for the actual spin loop, but if we timeout and fall back to blocking, it's definitely worthwhile enabling interrupts if possible. Signed-off-by: Jeremy Fitzhardinge Acked-by: Jan Beulich Signed-off-by: Ingo Molnar commit 994025caba3e6beade9bde84dd1b70d9d250f27b Author: Jeremy Fitzhardinge Date: Wed Aug 20 17:02:19 2008 -0700 xen: add debugfs support Add support for exporting statistics on mmu updates, multicall batching and pv spinlocks into debugfs. The base path is xen/ and each subsystem adds its own directory: mmu, multicalls, spinlocks. In each directory, writing 1 to "zero_stats" will cause the corresponding stats to be zeroed the next time they're updated. Signed-off-by: Jeremy Fitzhardinge Acked-by: Jan Beulich Signed-off-by: Ingo Molnar commit 168d2f464ab9860f0d1e66cf1f9684973222f1c6 Author: Jeremy Fitzhardinge Date: Wed Aug 20 17:02:18 2008 -0700 xen: save previous spinlock when blocking A spinlock can be interrupted while spinning, so make sure we preserve the previous lock of interest if we're taking a lock from within an interrupt handler. We also need to deal with the case where the blocking path gets interrupted between testing to see if the lock is free and actually blocking. If we get interrupted there and end up in the state where the lock is free but the irq isn't pending, then we'll block indefinitely in the hypervisor. This fix is to make sure that any nested lock-takers will always leave the irq pending if there's any chance the outer lock became free. Signed-off-by: Jeremy Fitzhardinge Acked-by: Jan Beulich Signed-off-by: Ingo Molnar commit ab7e79243746e2a9c5f00243e60108189c44c9eb Author: Shaohua Li Date: Thu Aug 21 10:46:21 2008 +0800 x86: fix pageattr-test We changed the interface of some pageattr, this patch makes pageattr-test compile. Signed-off-by: Dave Airlie Signed-off-by: Shaohua Li Signed-off-by: Ingo Molnar commit bd07928c0f9c3dbe53baf28eae4de4c579772c4c Author: Shaohua Li Date: Thu Aug 21 10:46:17 2008 +0800 agp: add agp_generic_destroy_pages() Add agp_generic_destroy_pages(), it uses new pageattr array interface API. Signed-off-by: Dave Airlie Signed-off-by: Shaohua Li Signed-off-by: Ingo Molnar commit 37acee10f49cf3caa323e05675e8dc9221ef4fd8 Author: Shaohua Li Date: Thu Aug 21 10:46:11 2008 +0800 agp: generic_alloc_pages() Add agp_generic_alloc_pages(), it uses new pageattr array interface API. Signed-off-by: Dave Airlie Signed-off-by: Shaohua Li Signed-off-by: Ingo Molnar commit d75586ad01e6c5a30e7337fb87d61e03556a1ecb Author: Shaohua Li Date: Thu Aug 21 10:46:06 2008 +0800 x86, pageattr: introduce APIs to change pageattr of a page array Add array interface APIs of pageattr. page based cache flush is quite slow for a lot of pages. If pages are more than 1024 (4M), the patch will use a wbinvd(). We have a simple test here (run a 3d game - open arena), nearly all agp memory allocation are small (< 1M), so suppose this will not impact runtime performance. Signed-off-by: Dave Airlie Signed-off-by: Shaohua Li Signed-off-by: Ingo Molnar commit cacf890694a36124ceddce44ff4c7b02d372ce7c Author: Ingo Molnar Date: Thu Aug 21 13:46:33 2008 +0200 Revert "introduce two APIs for page attribute" This reverts commit 1ac2f7d55b7ee1613c90631e87fea22ec06781e5. commit 9326d61bf64c4293f834e86c11f52db5be9798d6 Author: Ingo Molnar Date: Thu Aug 21 13:46:25 2008 +0200 Revert "reduce tlb/cache flush times of agpgart memory allocation" This reverts commit 466ae837424dcc538b1af2a0eaf53be32edcdbe7. commit 59dfc3f8fbabb8681ab4f2fb2df795f9211f40f9 Author: venkatesh.pallipadi@intel.com Date: Wed Aug 20 16:45:54 2008 -0700 x86: PAT documentation updates with debug info Documentation update for PAT. Reflect the latest API details. Also, adds details about ways to get more info in order to debug PAT. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Ingo Molnar commit 470fba7ebe60ad9185056b080b331abad24b4df9 Merge: 7225e75... 6a55617... Author: Ingo Molnar Date: Thu Aug 21 13:28:24 2008 +0200 Merge branch 'linus' into x86/doc commit 671eef85a3e885dff4ce210d8774ad50a91d5967 Author: Cihula, Joseph Date: Wed Aug 20 16:43:07 2008 -0700 x86, e820: add support for AddressRangeUnusuable ACPI memory type Add support for the E820_UNUSABLE memory type, which is defined in Revision 3.0b (Oct. 10, 2006) of the ACPI Specification on p. 394 Table 14-1: AddressRangeUnusuable This range of address contains memory in which errors have been detected. This range must not be used by the OSPM. Signed-off-by: Joseph Cihula Signed-off-by: Shane Wang Signed-off-by: Gang Wei Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 4e1d112cac08049e764fe3c4f6d3ec92529f9f68 Author: Huang Weiyi Date: Wed Aug 20 16:43:07 2008 -0700 arch/x86/kernel/apm_32.c: remove duplicated #include Removed duplicated include file in arch/x86/kernel/apm_32.c. Signed-off-by: Huang Weiyi Acked-by: Pavel Machek Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton commit 11494547b1754c4f3bd7f707ab869e2adf54d52f Author: Yinghai Lu Date: Thu Aug 21 01:01:19 2008 -0700 x86: fix apic version warning after following patch, commit 1b313f4a6d7bee7b2c034b3f1e203bc360a71cca Author: Cyrill Gorcunov Date: Mon Aug 18 20:45:57 2008 +0400 x86: apic - generic_processor_info - use physid_set instead of phys_cpu and physids_or - set phys_cpu_present_map bit AFTER check for allowed number of processors - add checking for APIC valid version in 64bit mode (mostly not needed but added for merging purpose) - add apic_version definition for 64bit mode which is used now we are getting warning for acpi path on 64 bit system. make the 64-bit side fill in apic_version[] as well. [ mingo@elte.hu: build fix ] Signed-off-by: Ingo Molnar commit e621bd18958ef5dbace3129ebe17a0a475e127d9 Author: Dave Young Date: Wed Aug 20 16:43:03 2008 -0700 i386: vmalloc size fix Booting kernel with vmalloc=[any size<=16m] will oops on my pc (i386/1G memory). BUG_ON in arch/x86/mm/init_32.c triggered: BUG_ON((unsigned long)high_memory > VMALLOC_START); It's due to the vm area hole. In include/asm-x86/pgtable_32.h: #define VMALLOC_OFFSET (8 * 1024 * 1024) #define VMALLOC_START (((unsigned long)high_memory + 2 * VMALLOC_OFFSET - 1) \ & ~(VMALLOC_OFFSET - 1)) There's several related point: 1. MAXMEM : (-__PAGE_OFFSET - __VMALLOC_RESERVE). The space after VMALLOC_END is included as well, I set it to (VMALLOC_END - PAGE_OFFSET - __VMALLOC_RESERVE) 2. VMALLOC_OFFSET is not considered in __VMALLOC_RESERVE fixed by adding VMALLOC_OFFSET to it. 3. VMALLOC_START : (((unsigned long)high_memory + 2 * VMALLOC_OFFSET - 1) & ~(VMALLOC_OFFSET - 1)) So it's not always 8M, bigger than 8M possible. I set it to ((unsigned long)high_memory + VMALLOC_OFFSET) 4. the VMALLOC_RESERVE is an unused macro, so remove it here. Signed-off-by: Dave Young Cc: akpm@linux-foundation.org Cc: hidave.darkstar@gmail.com Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton commit 2d96ae6b0dc03a568398c1655fb8967f01f8e40a Author: Andrew Morton Date: Wed Aug 20 16:43:02 2008 -0700 arch/x86/pci/irq.c: attempt to clean up code layout Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit f58e2c33ffa31b8d4a71609a5e71e8d893574a07 Author: Claudio Scordino Date: Wed Aug 20 15:18:45 2008 +0200 sched: new documentation about CFS Rewrite of the CFS documentation - because the old one was sorely out-dated. Signed-off-by: Claudio Scordino Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit d9105c2b01eedb620cae96073dde4f760367817f Author: Marek Vašut Date: Sun Aug 3 21:34:08 2008 +0100 [ARM] 5184/1: Split ucb1400_ts into core and touchscreen This patch splits ucb1400_ts into ucb1400_ts and ucb1400_core. Since this chip supports more features than only touchscreen, it was necessary to prepare it for feature addition. The previous functionality is preserved by applying this patch. [Build fixes for non-ARM by Stephen Rothwell and Takashi Iwai] Signed-off-by: Marek Vasut Signed-off-by: Russell King commit 1fa63a817d27af7dc0d5ed454eb8fe5dec65fac7 Author: Jiri Kosina Date: Wed Aug 20 14:40:55 2008 +0200 printk: robustify printk, update comment Remove the comment describing the possibility of printk() deadlocking on runqueue lock. Signed-off-by: Jiri Kosina Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 7708ad64a24a674f7905aa7a5099a50f055debec Author: Jeremy Fitzhardinge Date: Tue Aug 19 13:34:22 2008 -0700 xen: add xen_ prefixes to make tracing with ftrace easier It's easier to pattern match on Xen function if they all start with xen_. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 11ad93e59d114f4b218873f1c93261be725d2e22 Author: Jeremy Fitzhardinge Date: Tue Aug 19 13:32:51 2008 -0700 xen: clarify locking used when pinning a pagetable. Add some comments explaining the locking and pinning algorithm when using split pte locks. Also implement a minor optimisation of not pinning the PTE when not using split pte locks. Signed-off-by: Jeremy Fitzhardinge Cc: Xen-devel Signed-off-by: Ingo Molnar commit 63d3a75d6f1fcf2f33e6abbe84e1f428c3586152 Author: Jeremy Fitzhardinge Date: Tue Aug 19 13:19:36 2008 -0700 x86/paravirt: add spin_lock_flags lock op It is useful for a pv_lock_ops backend to know whether interrupts are enabled or not in the context a spin_lock is being called. This allows it to enable interrupts while spinning, which could be particularly helpful when spinning becomes blocking. The default implementation just calls the normal spin_lock op, ignoring the flags. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 6e833587e11ed0dbf12e647127f2650e2f80b26d Author: Jeremy Fitzhardinge Date: Tue Aug 19 13:16:17 2008 -0700 xen: clean up domain mode predicates There are four operating modes Xen code may find itself running in: - native - hvm domain - pv dom0 - pv domU Clean up predicates for testing for these states to make them more consistent. Signed-off-by: Jeremy Fitzhardinge Cc: Xen-devel Signed-off-by: Ingo Molnar commit 170465ee7f5a9a2d0ac71285507e52642e040353 Merge: 169ad16... 1fca254... Author: Ingo Molnar Date: Wed Aug 20 12:39:18 2008 +0200 Merge branch 'linus' into x86/xen commit 27990eac52dae87b909ef4f7e796fb6ec758bb94 Author: Jeremy Fitzhardinge Date: Tue Aug 19 13:10:07 2008 -0700 x86: another user of PTE_FLAGS_MASK Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit b6edbb1e045a7116d5571544dae25c6c37c94a48 Author: Jeremy Fitzhardinge Date: Tue Aug 19 13:04:19 2008 -0700 x86_64: use save/loadsegment in ia32 compat Use savesegment and loadsegment consistently in ia32 compat code. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit fa33507a22623b3bd543b15a21c362cf364b6cff Author: Peter Zijlstra Date: Wed Aug 20 09:31:26 2008 +0200 printk: robustify printk, fix #2 Dmitry Adamushko reported: > [*] btw., with DEBUG being enabled, pr_debug() generates [1] when > debug_smp_processor_id() is used (CONFIG_DEBUG_PREEMPT). > > the problem seems to be caused by the following commit: > commit b845b517b5e3706a3729f6ea83b88ab85f0725b0 > Author: Peter Zijlstra > Date: Fri Aug 8 21:47:09 2008 +0200 > > printk: robustify printk > > > wake_up_klogd() -> __get_cpu_var() -> smp_processor_id() > > and that's being called from release_console_sem() which is, in turn, > said to be "may be called from any context" [2] > > and in this case, it seems to be called from some non-preemptible > context (although, it can't be printk()... > although, I haven't looked carefully yet). > > Provided [2], __get_cpu_var() is perhaps not the right solution there. > > > [1] > > [ 7697.942005] BUG: using smp_processor_id() in preemptible [00000000] code: syslogd/3542 > [ 7697.942005] caller is wake_up_klogd+0x1b/0x50 > [ 7697.942005] Pid: 3542, comm: syslogd Not tainted 2.6.27-rc3-tip-git #2 > [ 7697.942005] Call Trace: > [ 7697.942005] [] debug_smp_processor_id+0xe8/0xf0 > [ 7697.942005] [] wake_up_klogd+0x1b/0x50 > [ 7697.942005] [] release_console_sem+0x1e7/0x200 > [ 7697.942005] [] do_con_write+0xb7/0x1f30 > [ 7697.942005] [] ? show_trace+0x10/0x20 > [ 7697.942005] [] ? dump_stack+0x72/0x80 > [ 7697.942005] [] ? __ratelimit+0xbd/0xe0 > [ 7697.942005] [] ? debug_smp_processor_id+0xe8/0xf0 > [ 7697.942005] [] ? wake_up_klogd+0x1b/0x50 > [ 7697.942005] [] ? release_console_sem+0x1e7/0x200 > [ 7697.942005] [] con_write+0x19/0x30 > [ 7697.942005] [] write_chan+0x276/0x3c0 > [ 7697.942005] [] ? default_wake_function+0x0/0x10 > [ 7697.942005] [] ? _spin_lock_irqsave+0x22/0x50 > [ 7697.942005] [] tty_write+0x194/0x260 > [ 7697.942005] [] ? write_chan+0x0/0x3c0 > [ 7697.942005] [] redirected_tty_write+0xa4/0xb0 > [ 7697.942005] [] ? redirected_tty_write+0x0/0xb0 > [ 7697.942005] [] do_loop_readv_writev+0x52/0x80 > [ 7697.942005] [] do_readv_writev+0x1bd/0x1d0 > [ 7697.942005] [] vfs_writev+0x39/0x60 > [ 7697.942005] [] sys_writev+0x50/0x90 > [ 7697.942005] [] system_call_fastpath+0x16/0x1b Signed-off-by: Peter Zijlstra Reported-by: Dmitry Adamushko Signed-off-by: Ingo Molnar commit d45de40934897c6ee5b05141f7895bbb28512395 Author: Dmitry Adamushko Date: Wed Aug 20 00:22:26 2008 +0200 x86-microcode: generic interface refactoring This is the 1st patch in the series. Here the aim was to avoid any significant changes, logically-wise. So it's mainly about generic interface refactoring: e.g. make microcode_{intel,amd}.c more about arch-specific details and less about policies like make-sure-we-run-on-a-target-cpu (no more set_cpus_allowed_ptr() here) and generic synchronization (no more microcode_mutex here). All in all, more line have been deleted than added. 4 files changed, 145 insertions(+), 198 deletions(-) Signed-off-by: Dmitry Adamushko Signed-off-by: Ingo Molnar commit 8343ef2437c599d30568e6b5a257a40bf2f4902b Author: Dmitry Adamushko Date: Wed Aug 20 00:16:13 2008 +0200 x86-microcode: fix unbalanced use of get_cpu() Don't use get_cpu() at all. Resort to checking a boot-up CPU (#0) in microcode_{intel,amd}_module_init(). Signed-off-by: Dmitry Adamushko Signed-off-by: Ingo Molnar commit 3f23d815c5049c9d7022226cec2242e384dd0b43 Author: Randy Dunlap Date: Sun Aug 17 21:44:22 2008 -0700 security: add/fix security kernel-doc Add security/inode.c functions to the kernel-api docbook. Use '%' on constants in kernel-doc notation. Fix several typos/spellos in security function descriptions. Signed-off-by: Randy Dunlap Signed-off-by: James Morris commit c171f465b7281f2d3b03e9145ec763d6a8bab176 Author: Uros Bizjak Date: Wed Aug 20 10:44:47 2008 +0200 x86, cleanup: use X86_CR4_PGE in x86/power/hibernate_asm_32.S Signed-off-by: Uros Bizjak Signed-off-by: Ingo Molnar commit 7393423dd9b5790a3115873be355e9fc862bce8f Merge: 8df9676... 1fca254... Author: Ingo Molnar Date: Wed Aug 20 11:52:15 2008 +0200 Merge branch 'linus' into x86/cleanups commit 7713fef06517d216f96ee7c8ad750e72bc08d38f Author: Stephen Rothwell Date: Tue Aug 19 18:19:25 2008 +1000 powerpc: Remove include of linux/of_device.h from asm/of_device.h Now that we have removed all inclusions of asm/of_device.h, this compatability include can be removed. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit f6f11018dc7ea62482f36846e9f6eb0f27df7c3c Author: Stephen Rothwell Date: Mon Aug 11 17:04:32 2008 +1000 powerpc/drivers: Use linux/of_device.h instead of asm/of_device.h Signed-off-by: Stephen Rothwell Acked-by: Takashi Iwai Signed-off-by: Paul Mackerras commit 738e686055332a11884081ea85514514cb12fa20 Author: Stephen Rothwell Date: Tue Aug 19 11:45:55 2008 +1000 hotplug/rpaphp: Remove unused error path code Commit f46753c5e354b857b20ab8e0fe7b2579831dc369 ("PCI: introduce pci_slot") removed the need for this error path. Eliminate this warning: drivers/pci/hotplug/rpaphp_slot.c: In function 'rpaphp_register_slot': drivers/pci/hotplug/rpaphp_slot.c:151: warning: label 'sysfs_fail' defined but not used Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit b950bdd0fc247d0ab4aea88d46e8cced3eac949e Author: Benjamin Herrenschmidt Date: Mon Aug 18 14:23:51 2008 +1000 powerpc: Expose PMCs & cache topology in sysfs on 32-bit The file arch/powerpc/kernel/sysfs.c is currently only compiled for 64-bit kernels. It contain code to register CPU sysdevs in sysfs and add various properties such as cache topology and raw access by root to performance monitor counters (PMCs). A lot of that can be re-used as is on 32-bits. This makes the file be built for both, with appropriate ifdef'ing for the few bits that are really 64-bit specific, and adds some support for the raw PMCs for 75x and 74xx processors. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 41eba0ad0033967eda346dd833194e96fdf5f405 Author: Benjamin Herrenschmidt Date: Mon Aug 18 14:23:48 2008 +1000 powerpc: Turn get/set_hard_smp_proccessor_id into inlines They don't need to be macros, and having them as inline functions avoids warnings about unused variables on some configurations when the argument isn't evaluated. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit f3d3d307e6f577de3b384ef64ffb03c8b5676748 Author: Nathan Lynch Date: Wed Aug 13 07:34:57 2008 +1000 powerpc: Remove redundant sysfs_remove_file calls for cache info When removing a directory, the sysfs core takes care of removing files in the directory (see sysfs_remove_dir()). So when we are about to delete a kobject (and thus cause its sysfs directory to be removed), we don't have to explicitly remove the files attached to it, although it's harmless to do so. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 8f6ba49207199cab60a4bdf43507666b93d12e18 Author: Adrian Bunk Date: Sat Aug 9 02:34:53 2008 +1000 powerpc: Use bcd2bin/bin2bcd This changes powerpc to use the new bcd2bin/bin2bcd functions instead of the obsolete BCD_TO_BIN/BIN_TO_BCD macros. Signed-off-by: Adrian Bunk Signed-off-by: Paul Mackerras commit ed95d7450dcbfeb45ffc9d39b1747aee82b49a51 Author: David Gibson Date: Thu Aug 7 12:24:17 2008 +1000 powerpc: Update in-kernel dtc and libfdt to version 1.2.0 Some time ago, a copies of the upstream dtc and libfdt sources were included in the kernel tree to avoid having these as external dependencies for building the kernel. Since then development on the upstream dtc and libfdt has continued. This updates the in-kernel versions to match the recently released upstream dtc version 1.2.0. This includes a number of bugfixes, many cleanups and a few new features. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 0ec27c049d80535f77901654a310b090106b046c Author: Stephen Rothwell Date: Thu Aug 7 10:30:40 2008 +1000 powerpc: Remove include of linux/of_platform.h from asm/of_platform.h Now that we have removed all inclusions of asm/of_platform.h, this compatibility include can be removed. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 25235f712b680d00756a73ee64289137989fc6fd Author: Michael Ellerman Date: Wed Aug 6 09:10:03 2008 +1000 powerpc: Convert the MPIC MSI code to use msi_bitmap This affects the U3 MSI code as well as the PASEMI MSI code. We keep some of the MPIC routines as helpers, and also the U3 best-guess reservation logic. The rest is replaced by the generic code. And a few printk format changes due to hwirq type change. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 7e7ab3677502a0f798f38bfa1a7d53dd22faa0bc Author: Michael Ellerman Date: Wed Aug 6 09:10:02 2008 +1000 powerpc: Convert the FSL MSI code to use msi_bitmap This is 90% straight forward, although we have to change a few printk format strings as well because of the change in type of hwirq. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 7e302869e0c5261aba779e059cddcd2fbf7aedbe Author: Michael Ellerman Date: Wed Aug 6 09:10:01 2008 +1000 powerpc: Split-out common MSI bitmap logic into msi_bitmap.c There are now two almost identical implementations of an MSI bitmap allocator, one in mpic_msi.c and the other in fsl_msi.c. Merge them together and put the result in msi_bitmap.c. Some of the MPIC bits will remain to provide a nicer interface for the MPIC users. In the process we fix two buglets. The first is that the allocation routines, now msi_bitmap_alloc_hwirqs(), returned an unsigned result, even though they use -1 to indicate allocation failure. Although all the callers were checking correctly, it is much better for the routine to just return an int. At least until someone wants > ~2 billion MSIs. The second buglet is that the device tree reservation logic only allowed power-of-two reservations. AFAICT that didn't effect any existing code but it's nicer if we can reserve arbitrary irqs from MSI use. We also add some selftests, which exposed the two buglets and now test for them, as well as some basic sanity tests. The tests are only built when CONFIG_DEBUG_KERNEL=y. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 611cd90c91494d1ff9bd4bc349fe38789828733e Author: Michael Ellerman Date: Wed Aug 6 09:10:00 2008 +1000 powerpc: fsl_msi doesn't need it's own of_node The FSL MSI code keeps a pointer to the of_node from the device it represents. However it also has an irq_host, which contains a pointer to the of_node, so use that one instead. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit dcfcfe756762682d084f40b96c78507f0d27d379 Author: Tony Breeds Date: Thu Jul 31 16:54:20 2008 +1000 powerpc: Guard print_device_node_tree() with #if 0 Currently print_device_node_tree() isn't called but it can be useful for debugging. Leave the function there but hide it behind '#if 0' to save it being rewritten. If you want to call it you're already editing this file anyway. ;P Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit fedcf4c73e1b9c1c594cf12d946ea90b7a47cc08 Author: Tony Breeds Date: Thu Jul 31 13:51:43 2008 +1000 powerpc: Guard from_rtc_time() in platforms/powermac/time.c from_rtc_time() is only called when one of 3 CONFIG options are defined. Guard the declaration appropriately. Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit e16a9c0990a18ee2f2874363392fdfedcf9ded58 Author: Tony Breeds Date: Thu Jul 31 13:51:42 2008 +1000 powerpc: Guard htab_dt_scan_hugepage_blocks appropriately htab_dt_scan_hugepage_blocks is only used when CONFIG_HUGETLB_PAGE is defined, so guard the declaration likewise. Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit 5df72bf3f7345a84f5ef274bf72a4546caf3ad02 Author: Harvey Harrison Date: Thu Jul 31 05:29:03 2008 +1000 powerpc: Replace __FUNCTION__ with __func__ __FUNCTION__ is gcc-specific, use __func__ [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Harvey Harrison Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 542ad5d4ccbaf49f581bacff1af206077189bc30 Author: Harvey Harrison Date: Thu Jul 31 05:29:03 2008 +1000 powerpc: Use the common ascii hex helpers [akpm@linux-foundation.org: exclude prom_init.c] Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 01f3880dd8a7fa78c419da2db740cba511ca7798 Author: Michael Ellerman Date: Wed Jul 16 14:21:34 2008 +1000 powerpc: Streamline ret_from_except_lite for non-iSeries platforms There is a small passage of code in ret_from_except_lite which is only required on iSeries. For a multi-platform kernel on non-iSeries machines this means we end up executing ~15 nops in ret_from_except_lite. It would be nicer if non-iSeries could skip the code entirely, and on iSeries we can jump out of line to execute the code. I have no performance numbers to justify this, other than the assertion that executing 15 nops takes longer than executing 0. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit c4a0c46ec92c194c873232b88debce4e1a448483 Author: Aneesh Kumar K.V Date: Tue Aug 19 21:08:18 2008 -0400 ext4: invalidate pages if delalloc block allocation fails. We are a bit agressive in invalidating all the pages. But it is ok because we really don't know why the block allocation failed and it is better to come of the writeback path so that user can look for more info. Signed-off-by: Aneesh Kumar K.V commit af5bc92dded4d98dfeabc8b5b9812571345b263d Author: Theodore Ts'o Date: Mon Sep 8 22:25:24 2008 -0400 ext4: Fix whitespace checkpatch warnings/errors Signed-off-by: "Theodore Ts'o" commit e5f8eab8851dff162e7ade46f084cb8575dc45f7 Author: Theodore Ts'o Date: Mon Sep 8 22:25:04 2008 -0400 ext4: Fix long long checkpatch warnings Signed-off-by: "Theodore Ts'o" commit 4776004f54e4190e104caf620fd0fa5909412236 Author: Theodore Ts'o Date: Mon Sep 8 23:00:52 2008 -0400 ext4: Add printk priority levels to clean up checkpatch warnings Signed-off-by: "Theodore Ts'o" commit 1f7c14c62ce63805f9574664a6c6de3633d4a354 Author: Mingming Cao Date: Thu Oct 9 12:50:59 2008 -0400 percpu counter: clean up percpu_counter_sum_and_set() percpu_counter_sum_and_set() and percpu_counter_sum() is the same except the former updates the global counter after accounting. Since we are taking the fbc->lock to calculate the precise value of the counter in percpu_counter_sum() anyway, it should simply set fbc->count too, as the percpu_counter_sum_and_set() does. This patch merges these two interfaces into one. Signed-off-by: Mingming Cao Acked-by: Peter Zijlstra Cc: Signed-off-by: Andrew Morton Signed-off-by: "Theodore Ts'o" commit ebcce7b13be837616a3f9d996f637cf3241e3948 Author: Ian Molton Date: Tue Aug 19 13:34:56 2008 +0100 [ARM] eseries: move UDC defs to machine files This patchset moves the UDC definitons for e7xx compatible eseries machines to a common location and moves the 'oddball' e800 definition to its machine file. Signed-off-by: Ian Molton commit 0ec3cf69304d2e35ad29da3aa9ab43c3dd97677c Author: Ian Molton Date: Tue Aug 19 13:01:28 2008 +0100 [ARM] eseries: move LCD defs into machine files This patch removes the seperate files used for the LCD definitions on e-series and places the definitions into the machine specific files. Signed-off-by: Ian Molton commit 7dc964148c2850e5df84fc17807ba48edb628c88 Author: Ian Molton Date: Tue Aug 19 12:14:21 2008 +0100 [ARM] eseries: Split machine definitions This patchset breaks out the e-series machine definitions into one-per-machine. Signed-off-by: Ian Molton commit 9a7e0b180da21885988d47558671cf580279f9d6 Author: Peter Zijlstra Date: Tue Aug 19 12:33:06 2008 +0200 sched: rt-bandwidth fixes The last patch allows sysctl_sched_rt_runtime to disable bandwidth accounting for the group scheduler - however it doesn't deal with sched_setscheduler(), which will keep tasks out of groups that have no assigned runtime. If we relax this, we get into the situation where RT tasks can get into a group when we disable bandwidth control, and then starve them by enabling it again. Rework the schedulability code to check for this condition and fail to turn on bandwidth control with -EBUSY when this situation is found. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit eb755805f21bd5ded84026e167b7a90887ac42e5 Author: Peter Zijlstra Date: Tue Aug 19 12:33:05 2008 +0200 sched: extract walk_tg_tree() Extract walk_tg_tree() and make it a little more generic so we can use it in the schedulablity test. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 0b148fa04852859972abbf848177b92daeef138a Author: Peter Zijlstra Date: Tue Aug 19 12:33:04 2008 +0200 sched: rt-bandwidth group disable fixes More extensive disable of bandwidth control. It allows sysctl_sched_rt_runtime to disable full group bandwidth control. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 6f0d5c390e4206dcb3804a5072a048fdb7d2b428 Author: Peter Zijlstra Date: Tue Aug 19 12:33:03 2008 +0200 sched: rt-bandwidth accounting fix It fixes an accounting bug where we would continue accumulating runtime even though the bandwidth control is disabled. This would lead to very long throttle periods once bandwidth control gets turned on again. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit af4491e51632d01fbc2b856ffa9ebcd4b38db68c Author: Peter Zijlstra Date: Tue Aug 19 12:33:02 2008 +0200 sched: rt-bandwidth for user grouping interface rt_runtime is a signed value Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 0c925d79234fe77589d8ff3861f9f8bb9e7fc3f6 Author: Hiroshi Shimamoto Date: Mon Aug 18 21:49:51 2008 -0700 rcuclassic: fix compilation NG fix: CC kernel/rcuclassic.o kernel/rcuclassic.c: In function '__rcu_process_callbacks': kernel/rcuclassic.c:561: error: 'flags' undeclared (first use in this function) kernel/rcuclassic.c:561: error: (Each undeclared identifier is reported only once kernel/rcuclassic.c:561: error: for each function it appears in.) Declare missing variable flags. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 5955902fb5c31f6a784ddb7aa16079a2bec588f5 Author: Högander Jouni Date: Tue Aug 19 11:08:45 2008 +0300 ARM: OMAP2: Clock: Combine 34xx l3_icks and l4_icks E.g dss_l3_ick and dss_l4_ick have same gating control. Having own clock for both of them causes race condition between enable / disable. This patch combines this kind of clocks and names new clock as _ick. Signed-off-by: Jouni Hogander Acked-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 333943ba9e1716a3751af82f2dcc7620b83091ed Author: Paul Walmsley Date: Tue Aug 19 11:08:45 2008 +0300 ARM: OMAP2: Clockdomain: Integrate OMAP3 clocks with clockdomain code This patch integrates the OMAP3 clock tree with the clockdomain code. This patch: - marks OMAP34xx clocks with their corresponding clockdomain. - adds code to convert the clockdomain name to a clockdomain pointer in the struct clk during clk_register(). - modifies OMAP2 clock usecounting to call into the clockdomain code when clocks are enabled or disabled. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit d1b03f615ae7ede957551dd26bf8929bdc2bb786 Author: Paul Walmsley Date: Tue Aug 19 11:08:44 2008 +0300 ARM: OMAP2: Clockdomain: Associate clocks with clockdomains Associate each OMAP24xx clock in arch/arm/mach-omap2/clock24xx.h with a clockdomain. Also move the L4 clock up higher in the file in preparation to define the SSI L4 iclk. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 801954d3debb87af9fa7f9187cb1100175d76ac7 Author: Paul Walmsley Date: Tue Aug 19 11:08:44 2008 +0300 ARM: OMAP2: Clockdomain: Encode OMAP2/3 clockdomains Add clockdomain definitions for OMAP24xx and OMAP34xx chips. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 8420bb13630032097be911a039cb64b5f62c01da Author: Paul Walmsley Date: Tue Aug 19 11:08:44 2008 +0300 ARM: OMAP2: Clockdomain: Connect clockdomain code to powerdomain code Thie patch adds code to the powerdomain layer to track the clockdomains associated with each powerdomain. It also modifies the clockdomain code to register clockdomains with their corresponding powerdomain when the clockdomain is registered. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit d459bfe01f523983a822de8c2d3fe0bd2f2c194e Author: Paul Walmsley Date: Tue Aug 19 11:08:43 2008 +0300 ARM: OMAP2: Clockdomain: Add base OMAP2/3 clockdomain code This patch creates an interface to the clockdomain registers in the PRM/CM modules on OMAP2/3. This interface is intended to be used by PM code, e.g., pm.c; not by device drivers directly. The patch also adds clockdomain usecount tracking. This is intended to be called whenever the first clock in a clockdomain is enabled, or when the last enabled clock in a clockdomain is disabled. If the clockdomain is in software-supervised mode, the code will force-wakeup or force-sleep the clockdomain. If the clockdomain is in hardware-supervised mode, the first clock enable will add sleep and wakeup dependencies on a user-selectable set of parent domains (usually MPU & IVA2), and the disable will remove them. Each clockdomain will be defined in later patches as static structures. The clockdomain structures are linked into a list at boot by clkdm_register(), similar to the OMAP clock code. The patch adds a Kconfig option, CONFIG_OMAP_DEBUG_CLOCKDOMAIN, which when enabled will emit verbose debug messages via pr_debug(). Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit ecb24aa129c6d4b2152571f856320aa7dea41676 Author: Paul Walmsley Date: Tue Aug 19 11:08:43 2008 +0300 ARM: OMAP: Powerdomain: Add OMAP3 powerdomains Add OMAP3-specific powerdomains. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit fe6a58f8f50500a4c9a82da4a9bdae41c1500fa0 Author: Paul Walmsley Date: Tue Aug 19 11:08:42 2008 +0300 ARM: OMAP2: Powerdomain: Add OMAP2 powerdomains Add OMAP2-specific powerdomains. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 9717100f77538bbee54d2b5c293fd829b252d2a6 Author: Paul Walmsley Date: Tue Aug 19 11:08:40 2008 +0300 ARM: OMAP2: Powerdomain: Add OMAP2/3 common powerdomains Add powerdomains common to both OMAP2 and OMAP3 (WKUP and GFX/SGX). Modify mach-omap2/io.c to initialize the powerdomain code on boot. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit ad67ef6848a1608b0430003e11e7af1ce706e341 Author: Paul Walmsley Date: Tue Aug 19 11:08:40 2008 +0300 ARM: OMAP2: Powerdomain: Add base OMAP2/3 powerdomain code This patch creates an interface to the powerdomain registers in the PRM/CM modules on OMAP2/3. This interface is intended to be used by PM code, e.g., pm.c; not by device drivers directly. Each powerdomain will be defined in later patches as static structures. Also defined are dependencies between powerdomains, used for adding and removing PM_WKDEP and CM_SLEEPDEP bits. The powerdomain structures are linked into a list at boot by pwrdm_register(), similar to the OMAP clock code. The patch adds a Kconfig option, CONFIG_OMAP_DEBUG_POWERDOMAIN, which when enabled will emit verbose debug messages via pr_debug(). Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit f329bdd439aa24d03dca75cdb3027372ddf691b0 Author: Ilpo Järvinen Date: Tue Aug 19 10:56:33 2008 +0300 mpu401: reindent misindented spinlock Signed-off-by: Ilpo Järvinen Signed-off-by: Jaroslav Kysela commit f728bafb5698076dd35bca35ee6cfe52ea1b8ab2 Author: Sven Wegener Date: Tue Aug 19 08:16:19 2008 +0200 ipvs: Fix race conditions in lblcr scheduler We can't access the cache entry outside of our critical read-locked region, because someone may free that entry. Also getting an entry under read lock, then locking for write and trying to delete that entry looks fishy, but should be no problem here, because we're only comparing a pointer. Also there is no need for our own rwlock, there is already one in the service structure for use in the schedulers. Signed-off-by: Sven Wegener Signed-off-by: Simon Horman commit 39ac50d0c79747b186c1268d9a488f8c1d256be7 Author: Sven Wegener Date: Mon Aug 18 00:52:08 2008 +0200 ipvs: Fix race conditions in lblc scheduler We can't access the cache entry outside of our critical read-locked region, because someone may free that entry. And we also need to check in the critical region wether the destination is still available, i.e. it's not in the trash. If we drop our reference counter, the destination can be purged from the trash at any time. Our caller only guarantees that no destination is moved to the trash, while we are scheduling. Also there is no need for our own rwlock, there is already one in the service structure for use in the schedulers. Signed-off-by: Sven Wegener Signed-off-by: Simon Horman commit 3f087668c4e7c97289f0a67f9278ae6e0a765a80 Merge: 51df190... e5befbd... Author: Simon Horman Date: Tue Aug 19 17:36:22 2008 +1000 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 commit eff9b713ee3540ddab862095aaf4b1511a6758bc Author: Paul E. McKenney Date: Mon Aug 18 17:51:08 2008 -0700 rcu: fix locking cleanup fallout Given that the rcp->lock is now acquired from call_rcu(), which can be invoked from irq-disable regions, all acquisitions need to disable irqs. The following patch fixes this. Although I don't have any reason to believe that this is the cause of Yinghai's oops, it does need to be fixed. Signed-off-by: Paul E. McKenney Cc: Yinghai Lu Signed-off-by: Ingo Molnar commit 20211e4d344729f4d4c93da37a590fc1c3a1fd9b Author: Paolo Ciarrocchi Date: Mon Aug 18 21:25:38 2008 +0200 x86: Coding style fixes to arch/x86/oprofile/op_model_p4.c A coding style patch to arch/x86/oprofile/op_model_p4.c that removes 87 errors and 4 warnings. Before: total: 89 errors, 13 warnings, 722 lines checked After: total: 2 errors, 9 warnings, 721 lines checked Compile tested, binary verified as follow: paolo@paolo-desktop:~/linux.trees.git$ size /tmp/op_model_p4.o.* text data bss dec hex filename 2691 968 32 3691 e6b /tmp/op_model_p4.o.after 2691 968 32 3691 e6b /tmp/op_model_p4.o.before paolo@paolo-desktop:~/linux.trees.git$ md5sum /tmp/op_model_p4.o.* 8c1c9823bab33333e1f7f76574e62561 /tmp/op_model_p4.o.after 8c1c9823bab33333e1f7f76574e62561 /tmp/op_model_p4.o.before Signed-off-by: Paolo Ciarrocchi Cc: robert.richter@amd.com Signed-off-by: Ingo Molnar commit 8df9676d6402563da91427e8d9f2da8a4598aede Author: H. Peter Anvin Date: Mon Aug 18 18:13:33 2008 -0700 x86: consistency cleanups Rename _ASM_MOV_UL to _ASM_MOV for consistency with other _ASM_ instructions (_ASM_ADD, _ASM_SUB and so on.) Add ASM_SP, _ASM_BP, _ASM_SI, and _ASM_DI for consistency with _ASM_[ABCD]X. Signed-off-by: H. Peter Anvin commit f1c5d30e1d79bbfb60eaf189db862d3cb2bcac92 Author: H. Peter Anvin Date: Mon Aug 18 17:50:33 2008 -0700 x86: use X86_FEATURE_NOPL in alternatives Use X86_FEATURE_NOPL to determine if it is safe to use P6 NOPs in alternatives. Also, replace table and loop with simple if statement. Signed-off-by: H. Peter Anvin commit 7e00df5818964298c9821365a6cb7a8304227c5c Author: H. Peter Anvin Date: Mon Aug 18 17:39:32 2008 -0700 x86: add NOPL as a synthetic CPU feature bit The long noops ("NOPL") are supposed to be detected by family >= 6. Unfortunately, several non-Intel x86 implementations, both hardware and software, don't obey this dictum. Instead, probe for NOPL directly by executing a NOPL instruction and see if we get #UD. Signed-off-by: H. Peter Anvin commit e2fe16d91228a005811335fbc4fbad5d4f5b75af Author: H. Peter Anvin Date: Fri Aug 15 15:36:31 2008 -0700 x86: boot: stub out unimplemented CPU feature words The CPU feature detection code in the boot code is somewhat minimal, and doesn't include all possible CPUID words. In particular, it doesn't contain the code for CPU feature words 2 (Transmeta), 3 (Linux-specific), 5 (VIA), or 7 (scattered). Zero them out, so we can still set those bits as known at compile time; in particular, this allows creating a Linux-specific NOPL flag and have it required (and therefore resolvable at compile time) in 64-bit mode. Signed-off-by: H. Peter Anvin commit 467cd0529a480c9c25f06154b788d1d1ba77828a Author: Harvey Harrison Date: Mon Aug 18 16:56:29 2008 -0700 x86: early_printk.c trivial sparse fixes arch/x86/kernel/early_printk.c:404:13: warning: incorrect type in assignment (different base types) arch/x86/kernel/early_printk.c:404:13: expected restricted __le16 [assigned] [usertype] wValue arch/x86/kernel/early_printk.c:404:13: got int [signed] value arch/x86/kernel/early_printk.c:405:13: warning: incorrect type in assignment (different base types) arch/x86/kernel/early_printk.c:405:13: expected restricted __le16 [assigned] [usertype] wIndex arch/x86/kernel/early_printk.c:405:13: got int [signed] index arch/x86/kernel/early_printk.c:406:14: warning: incorrect type in assignment (different base types) arch/x86/kernel/early_printk.c:406:14: expected restricted __le16 [assigned] [usertype] wLength arch/x86/kernel/early_printk.c:406:14: got int [signed] size arch/x86/kernel/early_printk.c:845:16: warning: Using plain integer as NULL pointer arch/x86/kernel/early_printk.c:992:13: warning: symbol 'enable_debug_console' was not declared. Should it be static? Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar commit 1b4ee4e4096d430c4c12516c1d30a6b0b4f9e9e4 Author: Cyrill Gorcunov Date: Mon Aug 18 23:12:33 2008 +0400 x86: apic - compilation warnings fix Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit e75bedf415f300a08e9bbcc755784e488574a73e Author: Cyrill Gorcunov Date: Mon Aug 18 20:46:03 2008 +0400 x86: apic - lapic_resume 32bit - unification fix Just add parenthesis to be identical of current 64bit implementation (so diff will not complain). Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 3415610b8e38b26b52a430b8846665c2d6bb3558 Author: Cyrill Gorcunov Date: Mon Aug 18 20:46:02 2008 +0400 x86: apic - rearrange parse_lapic_timer_c2_ok Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 789fa735712d726b5cfa5c6be57171b5637a4872 Author: Cyrill Gorcunov Date: Mon Aug 18 20:46:01 2008 +0400 x86: apic - unify disableapic and nolapic setup handlers Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 79af9bec60e6e218a1e48e8830d603d64a7fc441 Author: Cyrill Gorcunov Date: Mon Aug 18 20:46:00 2008 +0400 x86: apic - unify apic_set_verbosity Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 0b23e8cf553f5e706b0057363f1319867bcd1a7d Author: Cyrill Gorcunov Date: Mon Aug 18 20:45:59 2008 +0400 x86: apic - unify local_apic_timer_interrupt Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit fa6b95fc7c6f2f3eb1560e1f33cd13197546c5a0 Author: Cyrill Gorcunov Date: Mon Aug 18 20:45:58 2008 +0400 x86: apic - unify end_local_APIC_setup Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 1b313f4a6d7bee7b2c034b3f1e203bc360a71cca Author: Cyrill Gorcunov Date: Mon Aug 18 20:45:57 2008 +0400 x86: apic - generic_processor_info - use physid_set instead of phys_cpu and physids_or - set phys_cpu_present_map bit AFTER check for allowed number of processors - add checking for APIC valid version in 64bit mode (mostly not needed but added for merging purpose) - add apic_version definition for 64bit mode which is used now Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit c177b0bc03e0e11623e2099db42903fb0caf0fd3 Author: Cyrill Gorcunov Date: Mon Aug 18 20:45:56 2008 +0400 x86: apic - unify disconnect_bsp_APIC - just #ifdef added Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit c40aaec6868401671a0ca14ed77e9b2da2d1f223 Author: Cyrill Gorcunov Date: Mon Aug 18 20:45:55 2008 +0400 x86: apic - unify __setup_APIC_LVTT Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit c43da2f5e92fe3bcc256f0c0d6cb858368da5bd9 Author: Cyrill Gorcunov Date: Mon Aug 18 20:45:54 2008 +0400 x86: apic - unify lapic_setup_esr We use 32bit code former for 64bit mode since it's much better implementation and easier to merge. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 36c9d6742897fa414f51c4e9d0f20ab4e6bf942c Author: Cyrill Gorcunov Date: Mon Aug 18 20:45:53 2008 +0400 x86: apic - unify connect_bsp_APIC Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit fe4024dcb0c01e5399394d2807406a2c13fb1eb7 Author: Cyrill Gorcunov Date: Mon Aug 18 20:45:52 2008 +0400 x86: apic - unify lapic_shutdown Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 990b183e58cb513a62492b6218987750e106cbfb Author: Cyrill Gorcunov Date: Mon Aug 18 20:45:51 2008 +0400 x86: apic - unify disable_local_APIC Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit f1ee37891dab6014f6b0ec77b18bc07e2369a55f Author: Cyrill Gorcunov Date: Mon Aug 18 20:45:50 2008 +0400 x86: apic - unify setup_boot_APIC_clock Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit b6c8051311e1a14d229df05ea39d0a1b2ce90cdd Author: Cyrill Gorcunov Date: Mon Aug 18 20:45:49 2008 +0400 x86: apic - rearrange maxcpu definition Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 8d02c2110b3fb8e2700b31596a582a2989fd72ba Author: Thomas Petazzoni Date: Tue Aug 5 11:45:19 2008 +0200 x86: configuration options to compile out x86 CPU support code This patch adds some configuration options that allow to compile out CPU vendor-specific code in x86 kernels (in arch/x86/kernel/cpu). The new configuration options are only visible when CONFIG_EMBEDDED is selected, as they are mostly interesting for space savings reasons. An example of size saving, on x86 with only Intel CPU support: text data bss dec hex filename 1125479 118760 212992 1457231 163c4f vmlinux.old 1121355 116536 212992 1450883 162383 vmlinux -4124 -2224 0 -6348 -18CC +/- However, I'm not exactly sure that the Kconfig wording is correct with regard to !64BIT / 64BIT. [ mingo@elte.hu: convert macro to inline ] Signed-off-by: Thomas Petazzoni Signed-off-by: Ingo Molnar commit 774400a3ba23b63f4de39e67ce6c4e48935809dc Author: Thomas Petazzoni Date: Mon Aug 18 12:33:21 2008 +0200 x86: move cmpxchg fallbacks to a generic place arch/x86/kernel/cpu/intel.c defines a few fallback functions (cmpxchg_*()) that are used when the CPU doesn't support cmpxchg and/or cmpxchg64 natively. However, while defined in an Intel-specific file, these functions are also used for CPUs from other vendors when they don't support cmpxchg and/or cmpxchg64. This breaks the compilation when support for Intel CPUs is disabled. This patch moves these functions to a new arch/x86/kernel/cpu/cmpxchg.c file, unconditionally compiled when X86_32 is enabled. Signed-off-by: Thomas Petazzoni Cc: michael@free-electrons.com Signed-off-by: Ingo Molnar commit 8bfcb3960fde049b863266dab8c3617bb5a541aa Author: Thomas Petazzoni Date: Mon Aug 18 12:33:20 2008 +0200 x86: make movsl_mask definition non-CPU specific movsl_mask is currently defined in arch/x86/kernel/cpu/intel.c, which contains code specific to Intel CPUs. However, movsl_mask is used in the non-CPU specific code in arch/x86/lib/usercopy_32.c, which breaks the compilation when support for Intel CPUs is compiled out. This patch solves this problem by moving movsl_mask's definition close to its users in arch/x86/lib/usercopy_32.c. Signed-off-by: Thomas Petazzoni Cc: michael@free-electrons.com Signed-off-by: Ingo Molnar commit ded00a56e99555c3f4000ef3eebfd5fe0d574565 Author: Paul E. McKenney Date: Sun Aug 17 12:50:36 2008 -0700 rcu: remove redundant ACCESS_ONCE definition from rcupreempt.c Remove the redundant definition of ACCESS_ONCE() from rcupreempt.c in favor of the one in compiler.h. Also merge the comment header from rcupreempt.c's definition into that in compiler.h. Signed-off-by: Paul E. McKenney Signed-off-by: Ingo Molnar commit d5e629a6f88137fb77c4cc857be5ea7c3f27110d Author: Yinghai Lu Date: Sun Aug 17 21:12:27 2008 -0700 x86: apic - unify lapic_resume - fix Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 7b22ff5344fda666e0938e5261ea7b9a3dfce497 Author: FUJITA Tomonori Date: Mon Aug 18 00:36:18 2008 +0900 x86 gart: allocate size-aligned address for alloc_coherent, v2 This patch changes GART IOMMU to return a size aligned address wrt dma_alloc_coherent, as DMA-mapping.txt defines: The cpu return address and the DMA bus master address are both guaranteed to be aligned to the smallest PAGE_SIZE order which is greater than or equal to the requested size. This invariant exists (for example) to guarantee that if you allocate a chunk which is smaller than or equal to 64 kilobytes, the extent of the buffer you receive will not cross a 64K boundary. Signed-off-by: FUJITA Tomonori Signed-off-by: Ingo Molnar commit cd95851785bcfe95fdf73689e8ecb5a1c5959231 Author: Paul E. McKenney Date: Sun Aug 17 07:37:15 2008 -0700 rcu: fix classic RCU locking cleanup lockdep problem On Fri, Aug 15, 2008 at 04:24:30PM +0200, Ingo Molnar wrote: > > Paul, > > one of your two recent RCU patches caused this lockdep splat in -tip > testing: > > -------------------> > Brought up 2 CPUs > Total of 2 processors activated (6850.87 BogoMIPS). > PM: Adding info for No Bus:platform > khelper used greatest stack depth: 3124 bytes left > > ================================= > [ INFO: inconsistent lock state ] > 2.6.27-rc3-tip #1 > --------------------------------- > inconsistent {softirq-on-W} -> {in-softirq-W} usage. > ksoftirqd/0/4 [HC0[0]:SC1[1]:HE1:SE0] takes: > (&rcu_ctrlblk.lock){-+..}, at: [] __rcu_process_callbacks+0x1ac/0x1f0 > {softirq-on-W} state was registered at: > [] __lock_acquire+0x3f4/0x5b0 > [] lock_acquire+0x89/0xc0 > [] _spin_lock+0x3b/0x70 > [] rcu_init_percpu_data+0x29/0x80 > [] rcu_cpu_notify+0xaf/0xd0 > [] notifier_call_chain+0x2d/0x60 > [] __raw_notifier_call_chain+0x1e/0x30 > [] _cpu_up+0x79/0x110 > [] cpu_up+0x4d/0x70 > [] kernel_init+0xb1/0x200 > [] kernel_thread_helper+0x7/0x10 > [] 0xffffffff > irq event stamp: 14 > hardirqs last enabled at (14): [] trace_hardirqs_on+0xb/0x10 > hardirqs last disabled at (13): [] trace_hardirqs_off+0xb/0x10 > softirqs last enabled at (0): [] copy_process+0x276/0x1190 > softirqs last disabled at (11): [] call_on_stack+0x1a/0x30 > > other info that might help us debug this: > no locks held by ksoftirqd/0/4. > > stack backtrace: > Pid: 4, comm: ksoftirqd/0 Not tainted 2.6.27-rc3-tip #1 > [] print_usage_bug+0x16c/0x1b0 > [] mark_lock+0xa75/0xb10 > [] ? sched_clock+0x15/0x30 > [] __lock_acquire+0x3ad/0x5b0 > [] lock_acquire+0x89/0xc0 > [] ? __rcu_process_callbacks+0x1ac/0x1f0 > [] _spin_lock+0x3b/0x70 > [] ? __rcu_process_callbacks+0x1ac/0x1f0 > [] __rcu_process_callbacks+0x1ac/0x1f0 > [] rcu_process_callbacks+0x26/0x50 > [] __do_softirq+0x95/0x120 > [] ? __do_softirq+0x0/0x120 > [] call_on_stack+0x1a/0x30 > [] ? ksoftirqd+0x96/0x110 > [] ? ksoftirqd+0x0/0x110 > [] ? kthread+0x47/0x80 > [] ? kthread+0x0/0x80 > [] ? kernel_thread_helper+0x7/0x10 > ======================= > calling init_cpufreq_transition_notifier_list+0x0/0x20 > initcall init_cpufreq_transition_notifier_list+0x0/0x20 returned 0 after 0 msecs > calling net_ns_init+0x0/0x190 > net_namespace: 676 bytes > initcall net_ns_init+0x0/0x190 returned 0 after 0 msecs > calling cpufreq_tsc+0x0/0x20 > initcall cpufreq_tsc+0x0/0x20 returned 0 after 0 msecs > calling reboot_init+0x0/0x20 > initcall reboot_init+0x0/0x20 returned 0 after 0 msecs > calling print_banner+0x0/0x10 > Booting paravirtualized kernel on bare hardware > > <----------------------- > > my guess is on: > > commit 1f7b94cd3d564901f9e04a8bc5832ae7bfd690a0 > Author: Paul E. McKenney > Date: Tue Aug 5 09:21:44 2008 -0700 > > rcu: classic RCU locking and memory-barrier cleanups > > Ingo Fixes a problem detected by lockdep in which rcu->lock was acquired both in irq context and in process context, but without disabling from process context. Signed-off-by: Paul E. McKenney Signed-off-by: Ingo Molnar commit 2857ffb7b8913ef713533ac5783abd70a20529e4 Author: Francois Romieu Date: Sat Aug 2 21:08:49 2008 +0200 r8169: additional 8101 and 8102 support Signed-off-by: Ivan Vecera Signed-off-by: Francois Romieu Cc: Edward Hsu commit dacf815434a4d5f5b45687873df46927c64cfb19 Author: Francois Romieu Date: Sat Aug 2 20:44:13 2008 +0200 r8169: add hw start helpers for the 8168 and the 8101 This commit triggers three 'defined but not used' warnings but I prefer avoiding to tie these helpers to a specific change in the hw start sequences of the 8168 or of the 8101. Signed-off-by: Francois Romieu Cc: Edward Hsu commit f162a5d1b326d54b0be7e3100f69763d8a707721 Author: Francois Romieu Date: Sun Jun 1 22:37:49 2008 +0200 r8169: add 8168/8101 registers description Signed-off-by: Francois Romieu Cc: Edward Hsu commit 9c14ceafa5ca7f57225a43fb0785c56ddc7f1823 Author: Francois Romieu Date: Sat Jul 5 00:21:15 2008 +0200 r8169: use pci_find_capability for the PCI-E features Signed-off-by: Francois Romieu Cc: Edward Hsu commit 458a9f617adfb2fc5f38e7673339115c4ba3290f Author: Francois Romieu Date: Sat Aug 2 15:50:02 2008 +0200 r8169: Tx performance tweak helper Signed-off-by: Francois Romieu Cc: Edward Hsu commit ccdffb9a88b2907b159538d7bfd6256621db4f84 Author: Francois Romieu Date: Sat Jul 26 14:26:06 2008 +0200 r8169: get ethtool settings through the generic mii helper It avoids to report unsupported link capabilities with the fast-ethernet only 8101/8102. Signed-off-by: Francois Romieu Tested-by: Martin Capitanio Fixed-by: Ivan Vecera Cc: Edward Hsu commit cf9768d7514d59b3179a886c4a47908d72e6cf76 Author: Cyrill Gorcunov Date: Sat Aug 16 23:21:55 2008 +0400 x86: apic - unify xapic_icr_read Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 9c803869f5f5e3d7ad94b2926474b2882e30073b Author: Cyrill Gorcunov Date: Sat Aug 16 23:21:54 2008 +0400 x86: apic - unify lapic_is_integrated Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 274cfe5912eebe9d4e1a4c451fe617289a181fcf Author: Cyrill Gorcunov Date: Sat Aug 16 23:21:53 2008 +0400 x86: apic - rearrange functions and comments Rearrange functions and comments to find differences easier. Also use apic_printk in setup_boot_APIC_clock for 64bit mode. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 24968cfdd4c3cf61338495dd0f9bb8a6907d2087 Author: Cyrill Gorcunov Date: Sat Aug 16 23:21:52 2008 +0400 x86: apic - unify lapic_suspend Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 92206c909ad1d4f9c355b4842722d5a355d6b76b Author: Cyrill Gorcunov Date: Sat Aug 16 23:21:51 2008 +0400 x86: apic - unify lapic_resume Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 6764014bc8bb4849f6a4f336477e873ad5861ed2 Author: Cyrill Gorcunov Date: Sat Aug 16 23:21:50 2008 +0400 x86: apic - unify clear_local_APIC - Remove redundant masking of APIC_LVTTHMR register in apic_32.c - Add masking of APIC_LVTTHMR register to apic_64.c. We use a bit complicated #ifdef here: CONFIG_X86_MCE_P4THERMAL is 32bit specific and X86_MCE_INTEL is 64bit specific so the appropriate config variable will be set by Kconfig. - the APIC_ESR register clearing in apic_64.c now uses not straightforward way but this is allowed tradeoff. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 6d341675f8e715464849e5d5563a72c1d39e800d Author: Marek Vašut Date: Sat Aug 16 15:35:57 2008 +0100 [ARM] 5199/1: PalmLD: PCMCIA driver PCMCIA driver for Palm LifeDrive Signed-off-by: Marek Vasut Signed-off-by: Russell King commit 638c0411922540deaf8797cacf73513b17618405 Author: Cyrill Gorcunov Date: Fri Aug 15 23:05:18 2008 +0400 x86: apic - unify init_bsp_APIC - remove redundant read of APIC_LVR register in 64bit mode - APIC is always integrated for 64bit mode so gcc will eliminate lapic_is_integrated call Signed-off-by: Cyrill Gorcunov Acked-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit 6f6da97faf29f87b3980a6992fb8cab44b4c444d Author: Cyrill Gorcunov Date: Fri Aug 15 23:05:19 2008 +0400 x86: apic - sync_Arb_IDs style fixup No changes on binary level Signed-off-by: Cyrill Gorcunov Acked-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit 51df1901394a714d1a17202da02ae4957260eab5 Merge: 4a031b0... 2319791... Author: Simon Horman Date: Sat Aug 16 14:44:17 2008 +1000 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 commit 5bbd4c3724008c93cf3efdfc38a3402e245ab506 Author: Mathieu Desnoyers Date: Fri Aug 15 12:56:59 2008 -0400 x86: spinlock use LOCK_PREFIX Since we are now using DS prefixes instead of NOP to remove LOCK prefixes, there is no longer any problems with instruction boundaries moving around. * Linus Torvalds (torvalds@linux-foundation.org) wrote: > > > On Thu, 14 Aug 2008, Mathieu Desnoyers wrote: > > > > Changing the 0x90 (single-byte nop) currently used into a 0x3E DS segment > > override prefix should fix this issue. Since the default of the atomic > > instructions is to use the DS segment anyway, it should not affect the > > behavior. > > Ok, so I think this is an _excellent_ patch, but I'd like to also then use > LOCK_PREFIX in include/asm-x86/futex.h. > > See commit 9d55b9923a1b7ea8193b8875c57ec940dc2ff027. > > Linus Unless there a rationale for this, I think these be changed to LOCK_PREFIX too. grep "lock ;" include/asm-x86/spinlock.h "lock ; cmpxchgw %w1,%2\n\t" asm volatile("lock ; xaddl %0, %1\n" "lock ; cmpxchgl %1,%2\n\t" Applies to 2.6.27-rc2. Signed-off-by: Mathieu Desnoyers Acked-by: Linus Torvalds CC: Linus Torvalds CC: H. Peter Anvin CC: Jeremy Fitzhardinge CC: Roland McGrath CC: Ingo Molnar Cc: Steven Rostedt CC: Steven Rostedt CC: Thomas Gleixner CC: Peter Zijlstra CC: Andrew Morton CC: David Miller CC: Ulrich Drepper CC: Rusty Russell CC: Gregory Haskins CC: Arnaldo Carvalho de Melo CC: "Luis Claudio R. Goncalves" CC: Clark Williams CC: Christoph Lameter CC: Andi Kleen CC: Harvey Harrison Signed-off-by: H. Peter Anvin commit 1f49a2c2aeb22d5abc6d4ea574ff63d37ca55fbe Author: Mathieu Desnoyers Date: Fri Aug 15 12:45:09 2008 -0400 x86: revert replace LOCK_PREFIX in futex.h Since we now use DS prefixes instead of NOP to remove LOCK prefixes, there are no longer any issues with instruction boundaries moving around. Depends on : x86 alternatives : fix LOCK_PREFIX race with preemptible kernel and CPU hotplug On Thu, 14 Aug 2008, Mathieu Desnoyers wrote: > > Changing the 0x90 (single-byte nop) currently used into a 0x3E DS segment > override prefix should fix this issue. Since the default of the atomic > instructions is to use the DS segment anyway, it should not affect the > behavior. Ok, so I think this is an _excellent_ patch, but I'd like to also then use LOCK_PREFIX in include/asm-x86/futex.h. See commit 9d55b9923a1b7ea8193b8875c57ec940dc2ff027. Linus Applies to 2.6.27-rc2 (and -rc3 unless hell broke loose in futex.h between rc2 and rc3). Signed-off-by: Mathieu Desnoyers CC: Linus Torvalds CC: H. Peter Anvin CC: Jeremy Fitzhardinge CC: Roland McGrath CC: Ingo Molnar Cc: Steven Rostedt CC: Steven Rostedt CC: Thomas Gleixner CC: Peter Zijlstra CC: Andrew Morton CC: David Miller CC: Ulrich Drepper CC: Rusty Russell CC: Gregory Haskins CC: Arnaldo Carvalho de Melo CC: "Luis Claudio R. Goncalves" CC: Clark Williams CC: Christoph Lameter CC: Andi Kleen CC: Harvey Harrison Signed-off-by: H. Peter Anvin commit f88f07e0f0fd6376e081b10930d272a08fbf082f Author: Mathieu Desnoyers Date: Thu Aug 14 16:58:15 2008 -0400 x86: alternatives : fix LOCK_PREFIX race with preemptible kernel and CPU hotplug If a kernel thread is preempted in single-cpu mode right after the NOP (nop about to be turned into a lock prefix), then we CPU hotplug a CPU, and then the thread is scheduled back again, a SMP-unsafe atomic operation will be used on shared SMP variables, leading to corruption. No corruption would happen in the reverse case : going from SMP to UP is ok because we split a bit instruction into tiny pieces, which does not present this condition. Changing the 0x90 (single-byte nop) currently used into a 0x3E DS segment override prefix should fix this issue. Since the default of the atomic instructions is to use the DS segment anyway, it should not affect the behavior. The exception to this are references that use ESP/RSP and EBP/RBP as the base register (they will use the SS segment), however, in Linux (a) DS == SS at all times, and (b) we do not distinguish between segment violations reported as #SS as opposed to #GP, so there is no need to disassemble the instruction to figure out the suitable segment. This patch assumes that the 0x3E prefix will leave atomic operations as-is (thus assuming they normally touch data in the DS segment). Since there seem to be no obvious ill-use of other segment override prefixes for atomic operations, it should be safe. It can be verified with a quick grep -r LOCK_PREFIX include/asm-x86/ grep -A 1 -r LOCK_PREFIX arch/x86/ Taken from This source : AMD64 Architecture Programmer's Manual Volume 3: General-Purpose and System Instructions States "Instructions that Reference a Non-Stack Segment—If an instruction encoding references any base register other than rBP or rSP, or if an instruction contains an immediate offset, the default segment is the data segment (DS). These instructions can use the segment-override prefix to select one of the non-default segments, as shown in Table 1-5." Therefore, forcing the DS segment on the atomic operations, which already use the DS segment, should not change. This source : http://wiki.osdev.org/X86_Instruction_Encoding States "In 64-bit the CS, SS, DS and ES segment overrides are ignored." Confirmed by "AMD 64-Bit Technology" A.7 http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/x86-64_overview.pdf "In 64-bit mode, the DS, ES, SS and CS segment-override prefixes have no effect. These four prefixes are no longer treated as segment-override prefixes in the context of multipleprefix rules. Instead, they are treated as null prefixes." This patch applies to 2.6.27-rc2, but would also have to be applied to earlier kernels (2.6.26, 2.6.25, ...). Performance impact of the fix : tests done on "xaddq" and "xaddl" shows it actually improves performances on Intel Xeon, AMD64, Pentium M. It does not change the performance on Pentium II, Pentium 3 and Pentium 4. Xeon E5405 2.0GHz : NR_TESTS 10000000 test empty cycles : 162207948 test test 1-byte nop xadd cycles : 170755422 test test DS override prefix xadd cycles : 170000118 * test test LOCK xadd cycles : 472012134 AMD64 2.0GHz : NR_TESTS 10000000 test empty cycles : 146674549 test test 1-byte nop xadd cycles : 150273860 test test DS override prefix xadd cycles : 149982382 * test test LOCK xadd cycles : 270000690 Pentium 4 3.0GHz NR_TESTS 10000000 test empty cycles : 290001195 test test 1-byte nop xadd cycles : 310000560 test test DS override prefix xadd cycles : 310000575 * test test LOCK xadd cycles : 1050103740 Pentium M 2.0GHz NR_TESTS 10000000 test empty cycles : 180000523 test test 1-byte nop xadd cycles : 320000345 test test DS override prefix xadd cycles : 310000374 * test test LOCK xadd cycles : 480000357 Pentium 3 550MHz NR_TESTS 10000000 test empty cycles : 510000231 test test 1-byte nop xadd cycles : 620000128 test test DS override prefix xadd cycles : 620000110 * test test LOCK xadd cycles : 800000088 Pentium II 350MHz NR_TESTS 10000000 test empty cycles : 200833494 test test 1-byte nop xadd cycles : 340000130 test test DS override prefix xadd cycles : 340000126 * test test LOCK xadd cycles : 530000078 Speed test modules can be found at http://ltt.polymtl.ca/svn/trunk/tests/kernel/test-prefix-speed-32.c http://ltt.polymtl.ca/svn/trunk/tests/kernel/test-prefix-speed.c Macro-benchmarks 2.0GHz E5405 Core 2 dual Quad-Core Xeon Summary * replace smp lock prefixes with DS segment selector prefixes no lock prefix (s) with lock prefix (s) Speedup make -j1 kernel/ 33.94 +/- 0.07 34.91 +/- 0.27 2.8 % hackbench 50 2.99 +/- 0.01 3.74 +/- 0.01 25.1 % * replace smp lock prefixes with 0x90 nops no lock prefix (s) with lock prefix (s) Speedup make -j1 kernel/ 34.16 +/- 0.32 34.91 +/- 0.27 2.2 % hackbench 50 3.00 +/- 0.01 3.74 +/- 0.01 24.7 % Detail : 1 CPU, replace smp lock prefixes with DS segment selector prefixes make -j1 kernel/ real 0m34.067s user 0m30.630s sys 0m2.980s real 0m33.867s user 0m30.582s sys 0m3.024s real 0m33.939s user 0m30.738s sys 0m2.876s real 0m33.913s user 0m30.806s sys 0m2.808s avg : 33.94s std. dev. : 0.07s hackbench 50 Time: 2.978 Time: 2.982 Time: 3.010 Time: 2.984 Time: 2.982 avg : 2.99 std. dev. : 0.01 1 CPU, noreplace-smp make -j1 kernel/ real 0m35.326s user 0m30.630s sys 0m3.260s real 0m34.325s user 0m30.802s sys 0m3.084s real 0m35.568s user 0m30.722s sys 0m3.168s real 0m34.435s user 0m30.886s sys 0m2.996s avg.: 34.91s std. dev. : 0.27s hackbench 50 Time: 3.733 Time: 3.750 Time: 3.761 Time: 3.737 Time: 3.741 avg : 3.74 std. dev. : 0.01 1 CPU, replace smp lock prefixes with 0x90 nops make -j1 kernel/ real 0m34.139s user 0m30.782s sys 0m2.820s real 0m34.010s user 0m30.630s sys 0m2.976s real 0m34.777s user 0m30.658s sys 0m2.916s real 0m33.924s user 0m30.634s sys 0m2.924s real 0m33.962s user 0m30.774s sys 0m2.800s real 0m34.141s user 0m30.770s sys 0m2.828s avg : 34.16 std. dev. : 0.32 hackbench 50 Time: 2.999 Time: 2.994 Time: 3.004 Time: 2.991 Time: 2.988 avg : 3.00 std. dev. : 0.01 I did more runs (20 runs of each) to compare the nop case to the DS prefix case. Results in seconds. They actually does not seems to show a significant difference. NOP 34.155 33.955 34.012 35.299 35.679 34.141 33.995 35.016 34.254 33.957 33.957 34.008 35.013 34.494 33.893 34.295 34.314 34.854 33.991 34.132 DS 34.080 34.304 34.374 35.095 34.291 34.135 33.940 34.208 35.276 34.288 33.861 33.898 34.610 34.709 33.851 34.256 35.161 34.283 33.865 35.078 Used http://www.graphpad.com/quickcalcs/ttest1.cfm?Format=C to do the T-test (yeah, I'm lazy) : Group Group One (DS prefix) Group Two (nops) Mean 34.37815 34.37070 SD 0.46108 0.51905 SEM 0.10310 0.11606 N 20 20 P value and statistical significance: The two-tailed P value equals 0.9620 By conventional criteria, this difference is considered to be not statistically significant. Confidence interval: The mean of Group One minus Group Two equals 0.00745 95% confidence interval of this difference: From -0.30682 to 0.32172 Intermediate values used in calculations: t = 0.0480 df = 38 standard error of difference = 0.155 So, unless these calculus are completely bogus, the difference between the nop and the DS case seems not to be statistically significant. Signed-off-by: Mathieu Desnoyers Acked-by: H. Peter Anvin CC: Linus Torvalds CC: Jeremy Fitzhardinge CC: Roland McGrath CC: Ingo Molnar Cc: Steven Rostedt CC: Steven Rostedt CC: Thomas Gleixner CC: Peter Zijlstra CC: Andrew Morton CC: David Miller CC: Ulrich Drepper CC: Rusty Russell CC: Gregory Haskins CC: Arnaldo Carvalho de Melo CC: "Luis Claudio R. Goncalves" CC: Clark Williams CC: Christoph Lameter CC: Andi Kleen CC: Harvey Harrison Signed-off-by: H. Peter Anvin commit f3efbe582b5396d134024c03a5fa253f2a85d9a6 Merge: 05d3ed0... b635ace... Author: Ingo Molnar Date: Fri Aug 15 18:15:17 2008 +0200 Merge branch 'linus' into x86/gart commit 48e2bd56b1d1ae4b95fb21be778927b64d5c4235 Author: Gustavo F. Padovan Date: Sat Aug 2 12:50:37 2008 -0300 x86: coding style fixes to arch/x86/kernel/traps_64.c Fix coding style of traps_64.c with improvements suggested by Ingo. Signed-off-by: Gustavo F. Padovan Signed-off-by: Ingo Molnar commit 5802294f1b1895ee19a3d0ae72805da453afb9de Author: Steven Rostedt Date: Wed Jul 30 14:20:55 2008 -0400 rcu: trace fix possible mem-leak In the initialization of the RCU trace module, if rcupreempt_debugfs_init() fails, we never free the the trace buffer. This patch frees the trace buffer in case the debugfs fails. Signed-off-by: Steven Rostedt Reviewed-by: "Paul E. McKenney" Signed-off-by: Ingo Molnar commit dd0078f4f04d939950a792c493d7d97d7ce663b8 Author: Steven Rostedt Date: Wed Jul 30 14:20:54 2008 -0400 rcu: just rename call_rcu_bh instead of making it a macro Seems that I found a box that has a config that passes call_rcu_bh as a function pointer (see net/sctp/sm_make_chunk.c), so declaring the call_rcu_bh has a macro function isn't good enough. This patch makes it just another name of call_rcu for rcupreempt. Signed-off-by: Steven Rostedt Reviewed-by: "Paul E. McKenney" Signed-off-by: Ingo Molnar commit c9c3dddd8f9a05b25d4ce53e8e80cc0ea1759d18 Author: Alexey Dobriyan Date: Fri Aug 1 03:51:38 2008 +0400 x86_64: remove empty lines from stack traces/oopses Signed-off-by: Alexey Dobriyan Cc: ak@suse.de Cc: akpm@osdl.org Signed-off-by: Ingo Molnar commit 5843d9a4d0ba89719916c8f07fc9c57b7126be6d Author: Nick Piggin Date: Fri Aug 1 03:15:21 2008 +0200 x86, pat: avoid highmem cache attribute aliasing Highmem code can leave ptes and tlb entries around for a given page even after kunmap, and after it has been freed. >From what I can gather, the PAT code may change the cache attributes of arbitrary physical addresses (ie. including highmem pages), which would result in aliases in the case that it operates on one of these lazy tlb highmem pages. Flushing kmaps should solve the problem. I've also just added code for conditional flushing if we haven't got any dangling highmem aliases -- this should help performance if we change page attributes frequently or systems that aren't using much highmem pages (eg. if < 4G RAM). Should be turned into 2 patches, but just for RFC... Signed-off-by: Ingo Molnar commit 636a31781684d0f49208aa163f1a5a3a74210eb4 Author: Peter Oruba Date: Fri Aug 1 12:46:46 2008 +0200 x86: Fixed NULL function pointer dereference in AMD microcode patch loader. Dereference took place in code part responsible for manual installation of microcode patches through /dev/cpu/microcode. Signed-off-by: Peter Oruba Cc: Peter Oruba Cc: Tigran Aivazian Signed-off-by: Ingo Molnar commit d33dcb9e7d272cc3171dcc3a21049902185ab03d Author: Peter Oruba Date: Fri Aug 1 12:46:45 2008 +0200 x86: Microcode patch loader style corrections Style corrections to main microcode module. Signed-off-by: Peter Oruba Cc: Peter Oruba Cc: Tigran Aivazian Signed-off-by: Ingo Molnar commit 3fb669dd6ec11e14819c0114a0e68a9ddcec65e1 Author: Richard Kennedy Date: Fri Aug 1 13:36:28 2008 +0100 reorder struct prop_local_single to remove padding on 64 bit builds reorder structure to remove 8 bytes of padding on 64 bit builds (also removes 8 bytes from task_struct) Signed-off-by: Richard Kennedy Cc: peterz@infradead.org Signed-off-by: Ingo Molnar commit bee367ed066e26c14263d808136fba8eec3bd70a Author: Richard Kennedy Date: Fri Aug 1 13:24:08 2008 +0100 sched: reorder struct sched_rt_entity to remove padding on 64 bit builds remove 8 bytes of padding on 64 bit builds (also removes 8 bytes from task_struct) Signed-off-by: Richard Kennedy Signed-off-by: Ingo Molnar commit 07dd20e0324f4d3e33bde1944d4f7771a09c498c Author: Richard Kennedy Date: Fri Aug 1 13:18:04 2008 +0100 sched: reorder signal_struct to remove 8 bytes on 64 bit builds reorder structure to remove 8 bytes of padding on 64 bit builds Signed-off-by: Richard Kennedy Signed-off-by: Ingo Molnar commit 04197c83b3e05546d1003cfa3ff43f1639c0057f Merge: 71998e8... b635ace... Author: Ingo Molnar Date: Fri Aug 15 17:07:34 2008 +0200 Merge branch 'linus' into x86/tracehook Conflicts: arch/x86/Kconfig Signed-off-by: Ingo Molnar commit 34d7c2b38d124219b7034356716e3455c439acd3 Author: Paul E. McKenney Date: Fri Aug 1 14:11:05 2008 -0700 rcu: remove list_for_each_rcu() All of the in-tree uses of list_for_each_rcu() have been converted to list_for_each_entry_rcu(), so list_for_each_rcu() can now be removed. Signed-off-by: Paul E. McKenney Signed-off-by: Ingo Molnar commit ff9cf2ce7afe76435d66c898cc9dacaa68e79d41 Author: Paul E. McKenney Date: Fri Aug 1 14:10:02 2008 -0700 rcu: fixes to include/linux/rcupreempt.h Hello! Compared tip/core/rcu to my latest patchset, and found the following issues: o the memory barrier in rcu_exit_nohz() somehow got out of place (it is correct in mainline as of 2.6.26-rc7). o There is a duplicate declaration of rcu_dyntick_sched. The attached patch fixes these. Signed-off-by: Paul E. McKenney Signed-off-by: Ingo Molnar commit d9336a9b47d57db835453968efbd0d5cedfe0260 Author: Paolo Ciarrocchi Date: Sat Aug 2 21:25:43 2008 +0200 x86: coding style fixes to arch/x86/kernel/paravirt_patch_32.c Before: total: 3 errors, 1 warnings, 49 lines checked After: total: 2 errors, 1 warnings, 49 lines checked paolo@paolo-desktop:~/linux.trees.git$ md5sum /tmp/paravirt_patch_32.o.* a78eea4264723e18c49dcfbe0ee0aae7 /tmp/paravirt_patch_32.o.after a78eea4264723e18c49dcfbe0ee0aae7 /tmp/paravirt_patch_32.o.before Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 3492cdf0176bde5e35223a1388d59676bc67c145 Author: Paolo Ciarrocchi Date: Sat Aug 2 21:25:13 2008 +0200 x86: coding style fixes to arch/x86/lib/string_32.c Before: total: 21 errors, 0 warnings, 237 lines checked After: total: 0 errors, 0 warnings, 237 lines checked paolo@paolo-desktop:~/linux.trees.git$ md5sum /tmp/string_32.o.* c55d059ef1612b32a8bb2771a72ae0d5 /tmp/string_32.o.after c55d059ef1612b32a8bb2771a72ae0d5 /tmp/string_32.o.before Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 209b580fd8c3a42b69550c98de434671d41a4ebb Author: Paolo Ciarrocchi Date: Sat Aug 2 21:24:45 2008 +0200 x86: coding style fixes to arch/x86/lib/strstr_32.c Before: total: 3 errors, 0 warnings, 31 lines checked After: total: 0 errors, 0 warnings, 31 lines checked paolo@paolo-desktop:~/linux.trees.git$ md5sum /tmp/strstr_32.o.* c96006ec3387862e5bacb139207a3098 /tmp/strstr_32.o.after c96006ec3387862e5bacb139207a3098 /tmp/strstr_32.o.before Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 2070dae10f50ec244f58292436ace9a3f9dc1d71 Author: Paolo Ciarrocchi Date: Sat Aug 2 21:24:06 2008 +0200 x86: coding style fixes to arch/x86/kernel/bios_uv.c paolo@paolo-desktop:~/linux.trees.git$ md5sum /tmp/bios_uv.o.* 9afe794594831166704744184e192ed8 /tmp/bios_uv.o.after 9afe794594831166704744184e192ed8 /tmp/bios_uv.o.before Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 020878ac427aa053414602cef975c2b5a2e33bf8 Author: Paolo Ciarrocchi Date: Sat Aug 2 21:23:36 2008 +0200 x86: coding style fixes to arch/x86/boot/compressed/misc.c Before: total: 4 errors, 6 warnings, 439 lines checked After: total: 1 errors, 5 warnings, 441 lines checked Before -#include +#include paolo@paolo-desktop:~/linux.trees.git$ md5sum /tmp/misc.o.* 8b2394e1fe519a9542e9a7e3e7b69c39 /tmp/misc.o.after 8b2394e1fe519a9542e9a7e3e7b69c39 /tmp/misc.o.before After -#include +#include paolo@paolo-desktop:~/linux.trees.git$ md5sum /tmp/misc.o.* 59a2d264284be5e72b5af4f3a8ccfb47 /tmp/misc.o.after 8b2394e1fe519a9542e9a7e3e7b69c39 /tmp/misc.o.before Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 2bd455dbfebfd632a8dcf1d3d1612737986fde0a Author: Li Zefan Date: Mon Aug 4 11:26:38 2008 +0800 x86: remove nesting CONFIG_HOTPLUG_CPU prefill_possible_map() is defined inside CONFIG_HOTPLUG_CPU, so the nesting CONFIG_HOTPLUG_CPU is just redundant. Signed-off-by: Li Zefan Signed-off-by: Ingo Molnar commit 466ae837424dcc538b1af2a0eaf53be32edcdbe7 Author: Shaohua Li Date: Mon Aug 4 14:51:30 2008 +0800 reduce tlb/cache flush times of agpgart memory allocation To reduce tlb/cache flush, makes agp memory allocation do one flush after all pages in a region are changed to uc. All agp drivers except agp-sgi uses agp_generic_alloc_page() for .agp_alloc_page, so the patch should work for them. agp-sgi is only for ia64, so not a problem too. Signed-off-by: Shaohua Li Cc: airlied@linux.ie Cc: Andrew Morton Cc: Arjan van de Ven Signed-off-by: Ingo Molnar commit 1ac2f7d55b7ee1613c90631e87fea22ec06781e5 Author: Shaohua Li Date: Mon Aug 4 14:51:24 2008 +0800 introduce two APIs for page attribute Introduce two APIs for page attribute. flushing tlb/cache in every page attribute is expensive. AGP gart usually will do a lot of operations to change a page to uc, new APIs can reduce flush. Signed-off-by: Shaohua Li Cc: airlied@linux.ie Cc: Andrew Morton Cc: Arjan van de Ven Signed-off-by: Ingo Molnar commit 1a10390708d675ebf1a2f5e169a5165626afbd88 Merge: 239bd83... b635ace... Author: Ingo Molnar Date: Fri Aug 15 16:16:15 2008 +0200 Merge branch 'linus' into x86/cpu commit 516cbf3730c49739629d66313b20bdc50c98aa2c Author: Tim Bird Date: Tue Aug 12 12:52:36 2008 -0700 x86, bootup: add built-in kernel command line for x86 (v2) Allow x86 to support a built-in kernel command line. The built-in command line can override the one provided by the boot loader, for those cases where the boot loader is broken or it is difficult to change the command line in the the boot loader. H. Peter Anvin wrote: > Ingo Molnar wrote: >> Best would be to make it really apparent in the code that nothing >> changes if this config option is not set. Preferably there should be >> no extra code at all in that case. >> > > I would like to see this: [...Nested ifdefs...] OK. This version changes absolutely nothing if CONFIG_CMDLINE_BOOL is not set (the default). Also, no space is appended even when CONFIG_CMDLINE_BOOL is set, but the builtin string is empty. This is less sloppy all the way around, IMHO. Note that I use the same option names as on other arches for this feature. [ mingo@elte.hu: build fix ] Signed-off-by: Tim Bird Cc: Matt Mackall Signed-off-by: Ingo Molnar commit 1f7b94cd3d564901f9e04a8bc5832ae7bfd690a0 Author: Paul E. McKenney Date: Tue Aug 5 09:21:44 2008 -0700 rcu: classic RCU locking and memory-barrier cleanups This patch simplifies the locking and memory-barrier usage in the Classic RCU grace-period-detection mechanism, incorporating Lai Jiangshan's feedback from the earlier version (http://lkml.org/lkml/2008/8/1/400 and http://lkml.org/lkml/2008/8/3/43). Passed 10 hours of rcutorture concurrent with CPUs being put online and taken offline on a 128-hardware-thread Power machine. My apologies to whoever in the Eastern Hemisphere was planning to use this machine over the Western Hemisphere night, but it was sitting idle and... So this is ready for tip/core/rcu. This patch is in preparation for moving to a hierarchical algorithm to allow the very large SMP machines -- requested by some people at OLS, and there seem to have been a few recent patches in the 4096-CPU direction as well. The general idea is to move to a much more conservative concurrency design, then apply a hierarchy to reduce contention on the global lock by a few orders of magnitude (larger machines would see greater reductions). The reason for taking a conservative approach is that this code isn't on any fast path. Prototype in progress. This patch is against the linux-tip git tree (tip/core/rcu). If you wish to test this against 2.6.26, use the following set of patches: http://www.rdrop.com/users/paulmck/patches/2.6.26-ljsimp-1.patch http://www.rdrop.com/users/paulmck/patches/2.6.26-ljsimpfix-3.patch The first patch combines commits 5127bed588a2f8f3a1f732de2a8a190b7df5dce3 and 3cac97cbb14aed00d83eb33d4613b0fe3aaea863 from Lai Jiangshan , and the second patch contains my changes. Signed-off-by: Paul E. McKenney Signed-off-by: Ingo Molnar commit 293a17ebc944c958e24e6ffbd1d5a49abdbf489e Author: Paul E. McKenney Date: Tue Aug 12 17:25:03 2008 -0700 rcu: prevent console flood when one CPU sees another AWOL via RCU One small change needed to keep from flooding the console when one CPU notices that another is AWOL. Unless I am missing something subtle. Otherwise the cleanups look good! Signed-off-by: Paul E. McKenney Signed-off-by: Ingo Molnar commit 296cb9511dcc3895fda84d0cd5b411bd926e4bb3 Author: Cyrill Gorcunov Date: Fri Aug 15 13:51:23 2008 +0200 x86: apic - unify sync_Arb_IDs Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit c93baa1ae51cdba25a5f5ad37b2348e700e75daf Author: Cyrill Gorcunov Date: Fri Aug 15 13:51:22 2008 +0200 x86: apic - unify verify_local_APIC Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 64e474d168e3cf31e44890b4947644d361f84e43 Author: Cyrill Gorcunov Date: Fri Aug 15 13:51:22 2008 +0200 x86: apic - get rid of local_apic_timer_verify_ok We are able to use clock_event_device as it's done in 64bit apic code so lets get rid of local_apic_timer_verify_ok variable. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 9ce122c6e55c44ae9a4c4c777579b87d83e7f898 Author: Cyrill Gorcunov Date: Fri Aug 15 13:51:21 2008 +0200 x86: apic - do not clear APIC twice in lapic_shutdown There is no need to clear APIC twice since disable_local_APIC will clear it anyway. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit f07f4f9046121ac803bc2f0ded3d77b7c2ab481b Author: Cyrill Gorcunov Date: Fri Aug 15 13:51:21 2008 +0200 x86: apic - unify __setup_APIC_LVTT To be able to unify this function we RE-introduce APIC_DIVISOR for 64bit mode. This snipped was eliminated in some time ago in a sake of clenup but now we need it again since it allow up to get rid of #ifdef(s). And lapic_is_integrated call is added in apic_64.c but since we always have APIC integrated on 64bit cpu compiler will ignore this call. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 36fef0949c14445d231a68663e8a01860f7caca3 Author: Cyrill Gorcunov Date: Fri Aug 15 13:51:20 2008 +0200 x86: apic - unify disable_apic_timer Get rid of local_apic_timer_disabled and use disable_apic_timer instead. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit ed4e5ec177d20504c51aebb93db12d57716cde9c Author: Cyrill Gorcunov Date: Fri Aug 15 13:51:20 2008 +0200 x86: apic - use SET_APIC_DEST_FIELD instead of hardcoded shift Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 5aa37e4f0614e3b1f385426ce1e962e84c275bdf Merge: d4c63ec... b76d69e... Author: Ingo Molnar Date: Fri Aug 15 13:46:28 2008 +0200 Merge branch 'x86/core' into x86/apic commit 0fdeb15156536030d62b843ceeee3249d8b288d0 Author: Jaroslav Kysela Date: Fri Aug 15 13:33:10 2008 +0200 ALSA: release v1.0.18rc1 Signed-off-by: Jaroslav Kysela commit 1a11cb6427e65b7cfc9c3ec6eaecd2dba1f2d69a Author: Jaroslav Kysela Date: Fri Aug 15 12:59:02 2008 +0200 ALSA: dummy driver - do not use assignment in if condition checkpatch.pl does not like assignment in if condition Signed-off-by: Jaroslav Kysela commit 54e8e21ed21ca8788aa75294067494abebf9d550 Author: Daniel THOMPSON Date: Fri Aug 15 10:53:38 2008 +0100 sound: Fix esoteric double free in the dummy sound driver. The dummy driver uses runtime->private_free but still frees its pcm structures on error paths. This is esoteric because the error paths in question are unreachable. Thus the bug is only a problem when someone copies this code into other drivers. Signed-off-by: Daniel R Thompson Signed-off-by: Jaroslav Kysela commit b76d69ed721e8365739c3bd5dd7891efbea88494 Author: Hiroshi Shimamoto Date: Thu Aug 14 17:25:37 2008 -0700 x86_64: uml: fix rename header guard In unistd_64.h, the guard macro _ASM_X86_64_UNISTD_H_ is renamed to ASM_X86__UNISTD_64_H. This change should be applied to arch/um/sys-x86_64/syscall_table.c. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 8daaaa97d6420c7e8b02c12ce591bb29fd959c62 Author: Matthew Ranostay Date: Fri Aug 15 07:45:52 2008 +0200 ALSA: hda: 92HD75xx fixes Fixed several noise issues with DACs and ADCs on some 92HD75xxx based codecs with certain revision id's. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4682eee0ed64a50668c8645f136972e53fcf5a0a Author: Matthew Ranostay Date: Fri Aug 15 07:43:24 2008 +0200 ALSA: hda: dynamically create capture mux controls Dynamically create capture mux volume controls when a output amp is detected. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0072889a556373b12b687107ac6b24d2ea961ddf Author: Takashi Iwai Date: Thu Aug 14 07:51:57 2008 +0200 ALSA: fix a typo during snd_assert() removal Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7a9b8063cf7d78d7de4f2555357101087548c699 Author: Takashi Iwai Date: Wed Aug 13 15:40:53 2008 +0200 ALSA: usb-audio - Add ignore_ctl_error parameter Added the ignore_ctl_error parameter to enable/disable the control-error handling for mixer interfaces. It was a hard-coded ifdef, and now you can change it more easily. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8a8f2662c535e1dedced896cc68cb8473fd98fa0 Author: Takashi Iwai Date: Wed Aug 13 15:27:43 2008 +0200 ALSA: Add missing description of usb-audio parameters Added the missing description of module parameters of usb-audio driver to ALSA-Configuration.txt. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4a031b0e6acd8a8c23725ceb5db6a0aa5c4e231f Author: Simon Horman Date: Fri Aug 15 09:26:15 2008 +1000 ipvs: rename __ip_vs_wlc_schedule in lblc and lblcr schedulers For the sake of clarity, rename __ip_vs_wlc_schedule() in lblc.c to __ip_vs_lblc_schedule() and the version in lblcr.c to __ip_vs_lblc_schedule(). I guess the original name stuck from a copy and paste. Cc: Sven Wegener Signed-off-by: Simon Horman commit a919cf4b6b499416b6e2247dbc79196c4325f2e6 Author: Sven Wegener Date: Thu Aug 14 00:47:16 2008 +0200 ipvs: Create init functions for estimator code Commit 8ab19ea36c5c5340ff598e4d15fc084eb65671dc ("ipvs: Fix possible deadlock in estimator code") fixed a deadlock condition, but that condition can only happen during unload of IPVS, because during normal operation there is at least our global stats structure in the estimator list. The mod_timer() and del_timer_sync() calls are actually initialization and cleanup code in disguise. Let's make it explicit and move them to their own init and cleanup function. Signed-off-by: Sven Wegener Signed-off-by: Simon Horman commit 82dfb6f32219d8e6cf6b979a520cb2b11d977d4e Author: Sven Wegener Date: Mon Aug 11 19:36:06 2008 +0000 ipvs: Only call init_service, update_service and done_service for schedulers if defined There are schedulers that only schedule based on data available in the service or destination structures and they don't need any persistent storage or initialization routine. These schedulers currently provide dummy functions for the init_service, update_service and/or done_service functions. For the init_service and done_service cases we already have code that only calls these functions, if the scheduler provides them. Do the same for the update_service case and remove the dummy functions from all schedulers. Signed-off-by: Sven Wegener Signed-off-by: Simon Horman commit 9a812198ae49967f239789164c55ec3e72b7e0dd Author: Julius Volz Date: Thu Aug 14 14:08:44 2008 +0200 IPVS: Add genetlink interface implementation Add the implementation of the new Generic Netlink interface to IPVS and keep the old set/getsockopt interface for userspace backwards compatibility. Signed-off-by: Julius Volz Acked-by: Sven Wegener Signed-off-by: Simon Horman commit c1bc667e844c2677cdf927102ab384fe7b033762 Author: Julius Volz Date: Thu Aug 7 16:43:38 2008 +0200 IPVS: Add genetlink interface definitions to ip_vs.h Add IPVS Generic Netlink interface definitions to include/linux/ip_vs.h. Signed-off-by: Julius Volz Signed-off-by: Simon Horman commit dbc74c65b3fd841985935f676388c82d6b85c485 Author: Vesa-Matti Kari Date: Thu Aug 7 03:18:20 2008 +0300 selinux: Unify for- and while-loop style Replace "thing != NULL" comparisons with just "thing" to make the code look more uniform (mixed styles were used even in the same source file). Signed-off-by: Vesa-Matti Kari Acked-by: Stephen Smalley Signed-off-by: James Morris commit 881b374705f352725ba1f558968ef34c17ba900e Merge: c83d128... d4c63ec... Author: Ingo Molnar Date: Thu Aug 14 15:13:47 2008 +0200 Merge branch 'x86/apic' into x86/core commit c83d12806b6185131ece682de8696d8cfb78df69 Merge: 51ca3c6... 8d7ccaa... 8067794... a677f58... Author: Ingo Molnar Date: Thu Aug 14 14:58:22 2008 +0200 Merge branches 'x86/prototypes', 'x86/x2apic' and 'x86/debug' into x86/core commit 51ca3c679194e7435c25b8e77b0a73c597e41ae9 Merge: b55793f... b635ace... Author: Ingo Molnar Date: Thu Aug 14 14:58:01 2008 +0200 Merge branch 'linus' into x86/core Conflicts: arch/x86/kernel/genapic_64.c include/asm-x86/kvm_host.h Signed-off-by: Ingo Molnar commit 8d7ccaa545490cdffdfaff0842436a8dd85cf47b Merge: b2139aa... 30a2f3c... Author: Ingo Molnar Date: Thu Aug 14 12:19:59 2008 +0200 Merge commit 'v2.6.27-rc3' into x86/prototypes Conflicts: include/asm-x86/dma-mapping.h Signed-off-by: Ingo Molnar commit f65bc214e042916135256620f900e9599d65e0cb Author: Suresh Siddha Date: Wed Aug 13 11:38:15 2008 -0700 x86, xsave: use BUG_ON() instead of BUILD_BUG_ON() All these structure sizes are runtime determined. So use a runtime bug check. Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit ed405958057ca6a8c4c9178a7a3b1167fabb45f5 Author: Suresh Siddha Date: Wed Aug 13 11:38:14 2008 -0700 x86, xsave: clear the user buffer before doing fxsave/xsave fxsave/xsave instructions will not touch all the bytes in the fxsave/xsave frame. Clear the user buffer before doing fxsave/xsave directly to user buffer during the sigcontext setup. This is essentially needed in the context of xsave(for example, some of the fields in the xsave header are not touched by the xsave and defined as must be zero). This will also present uniform and clean context to the user (from which user can safely do fxrstor/xrstor). Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit ee2b92a8201a40021ecd1aee6f0625dc03bacc54 Author: Suresh Siddha Date: Wed Aug 13 11:38:13 2008 -0700 x86, xsave: remove the redundant access_ok() in setup_rt_frame() save_i387_xstate() is already doing the required access_ok(). Remove the redundant access_ok() before it. Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit d4439087d316613548c70472291bf4ca646ce24b Merge: 26d809a... 30a2f3c... Author: Ingo Molnar Date: Thu Aug 14 10:55:26 2008 +0200 Merge commit 'v2.6.27-rc3' into x86/xsave Conflicts: arch/x86/kernel/genapic_64.c include/asm-x86/kvm_host.h Signed-off-by: Ingo Molnar commit ba443687f2eb70d23e0466d4b7c0c3366b5cb5fb Author: Jaroslav Kysela Date: Wed Aug 13 20:55:32 2008 +0200 ALSA: hda - put all HDA codec IDs to components for precise hw detection Export HDA codec subvendor ID and revision ID to user space via the components variable. Our alsactl utility requires these values for the perfect hardware identification. Signed-off-by: Jaroslav Kysela commit 34a1b9fc4995102ecbb3a980b348aebf168d8196 Author: David Woodhouse Date: Tue Aug 12 13:25:44 2008 +0100 Fix date output in x86 microcode driver. The microcode stores its date in a uint32_t in some weird order approximating pdp-endian. Rather than printing it like that, print it properly in ISO standard form. Signed-off-by: David Woodhouse Cc: Shaohua Li Signed-off-by: Ingo Molnar commit 26d809af6397ce5c37f5c44d89734d19cce1ad25 Author: Ingo Molnar Date: Wed Aug 13 12:46:26 2008 +0200 x86: fix xsave build error fix this build failure with certain glibc versions: In file included from /usr/include/bits/sigcontext.h:28, from /usr/include/signal.h:333, from Documentation/accounting/getdelays.c:24: /home/mingo/tip/usr/include/asm/sigcontext.h:191: error: expected specifier-qualifier-list before ‘u64’ Signed-off-by: Ingo Molnar commit 6ef109050da99952b59397840e9b50cd6611e92a Author: Alexander Beregalov Date: Wed Aug 13 00:10:55 2008 +0400 ALSA: ALSA-Configuration.txt: supported cards update ALSA-Configuration.txt: supported cards update Signed-off-by: Alexander Beregalov Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a2854dc5f0e1145a38e10c67064a776d84e56f5d Author: Alexander Beregalov Date: Wed Aug 13 12:36:21 2008 +0400 ALSA: sound/pci: supported cards update sound/pci: supported cards update Signed-off-by: Alexander Beregalov Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit db3da6c135c6f5fffed7cca53381b52f2f2d7b53 Author: Takashi Iwai Date: Mon Aug 11 18:08:54 2008 +0200 ALSA: hda - initialize node 0x21 properly on AD1988 codecs The widget node 0x21 should be initialized as unmuted/full (0dB) as default. This will reduce additional manual work by user at the first time use. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 963f803fb1bbce87f6049c22c737ae379e1047d3 Author: Takashi Iwai Date: Mon Aug 11 10:04:40 2008 +0200 ALSA: hda - Don't reset SPDIF in each status change The SPDIF output is toggled at each time any SPDIF status bits are changed because of the known problems on some codecs. But, this also results in loosing the sync, and the problem is more obvious on HDMI output over SPDIF. Since the toggle is necessary only for some codecs, we should check whether this workaround is needed and skip if unnecessary. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6e8d90cd3418f18f3913c8ae558eee1ba21e4d6c Author: Alexander Beregalov Date: Mon Aug 11 02:52:42 2008 +0400 ALSA: sound/pci/Kconfig: update for ice1712/24 sound/pci/Kconfig: update for ice1712/24 Signed-off-by: Alexander Beregalov Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit faa09c932c5e1daf5fa40a0ff3d895ad57c5a61d Author: Alexander Beregalov Date: Mon Aug 11 02:09:04 2008 +0400 ALSA: ice1724/revo: simple clean up ice1724/revo: simple clean up Signed-off-by: Alexander Beregalov Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit bdbecf50064b75ecce2e10ce2621de0d0fac7de6 Author: Takashi Iwai Date: Fri Aug 8 17:18:08 2008 +0200 ALSA: Clean up snd_BUG() Use the standard WARN() macro for snd_BUG(). Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7cc6dffdae28058f5953fac5743b6abf705d4f05 Author: Takashi Iwai Date: Fri Aug 8 17:14:55 2008 +0200 ALSA: Kill snd_assert() definition Remove snd_assert() completely now. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 5e246b850df563224be26f1d409cf66fd6c968df Author: Takashi Iwai Date: Fri Aug 8 17:12:47 2008 +0200 ALSA: Kill snd_assert() in other places Kill snd_assert() in other places, either removed or replaced with if () with snd_BUG_ON(). Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit da3cec35dd3c31d8706db4bf379372ce70d92118 Author: Takashi Iwai Date: Fri Aug 8 17:12:14 2008 +0200 ALSA: Kill snd_assert() in sound/pci/* Kill snd_assert() in sound/pci/*, either removed or replaced with if () with snd_BUG_ON(). Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 622207dc31895b4e82c39100db8635d885c795e2 Author: Takashi Iwai Date: Fri Aug 8 17:11:45 2008 +0200 ALSA: Kill snd_assert() in sound/isa/* Kill snd_assert() in sound/isa/*, either removed or replaced with if () with snd_BUG_ON(). Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7eaa943c8ed8e91e05d0f5d0dc7a18e3319b45cf Author: Takashi Iwai Date: Fri Aug 8 17:09:09 2008 +0200 ALSA: Kill snd_assert() in sound/core/* Kill snd_assert() in sound/core/*, either removed or replaced with if () with snd_BUG_ON(). Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 5ef03460a6ffc1d3ee6b6f2abc6765d3e224cf89 Author: Takashi Iwai Date: Fri Aug 8 17:06:01 2008 +0200 ALSA: Introduce snd_BUG_ON() macro Introduced snd_BUG_ON() macro as a replacement of snd_assert() macro. snd_assert() is pretty ugly as it has the control flow in its argument. OTOH, snd_BUG_ON() behaves like a normal conditional, thus it's much easier to read the flow. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3caf8c080ef0bd0ccdc20bb57b150b6e40a86fd3 Author: Rene Herman Date: Fri Aug 8 16:39:21 2008 +0200 ALSA: wss_lib: missing closing brace in (ifdeffed out) debug function. Signed-off-by: Rene Herman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c534cc849097b84aae70c349770d982e20d0b16a Author: roel kluin Date: Thu Aug 7 15:56:22 2008 -0400 ALSA: au88x0: clipping ceiling loop wrong in comment As is the clipping ceiling loop appears wrong anyways Signed-off-by: Roel Kluin Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4f3ea08a129c15f64312cebfac1bfcc228f5caae Author: Timur Tabi Date: Wed Aug 6 15:01:01 2008 -0500 ALSA: ASoC - fix DMA channel selection in Freescale MPC8610 sound drivers On the Freescale MPC8610, SSI1 is hard-coded to use DMA channels 0 and 1 for playback and capture, and SSI2 is hard-coded to use DMA channels 2 and 3. This patch fixes the fabric driver so that it uses the right channels. Signed-off-by: Timur Tabi Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e88ba01544f8b8cce64d08b2982715516793225c Author: Mark Brown Date: Wed Aug 6 13:18:26 2008 +0100 ALSA: ASoC: Add WM8580 CODEC driver The WM8580 is an audio CODEC designed for DVD and surround sound applications, offering three stereo DACs and a stereo ADC. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 72dbf4790fc6736f9cb54424245114acf0b0038c Author: Bob Peterson Date: Tue Aug 12 13:39:29 2008 -0500 GFS2: rm on multiple nodes causes panic This patch fixes a problem whereby simultaneous unlink, rmdir, rename and link operations (e.g. rm -fR *) from multiple nodes on the same GFS2 file system can cause kernel panics, hangs, and/or memory corruption. It also gets rid of all the non-rgrp calls to gfs2_glock_nq_m. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 9b8df98fc8973ad1c5f0d7c4cf71c7fb84fe22c5 Author: Steven Whitehouse Date: Fri Aug 8 13:45:13 2008 +0100 GFS2: Fix metafs mounts This patch is intended to fix the issues reported in bz #457798. Instead of having the metafs as a separate filesystem, it becomes a second root of gfs2. As a result it will appear as type gfs2 in /proc/mounts, but it is still possible (for backwards compatibility purposes) to mount it as type gfs2meta. A new mount flag "meta" is introduced so that its possible to tell the two cases apart in /proc/mounts. As a result it becomes possible to mount type gfs2 with -o meta and get the same result as mounting type gfs2meta. So it is possible to mount just the metafs on its own. Currently if you do this, its then impossible to mount the "normal" root of the gfs2 filesystem without first unmounting the metafs root. I'm not sure if thats a feature or a bug :-) Either way, this is a great improvement on the previous scheme and I've verified that it works ok with bind mounts on both the "normal" root and the metafs root in various combinations. There were also a bunch of functions in super.c which didn't belong there, so this moves them into ops_fstype.c where they can be static. Hopefully the mount/umount sequence is now more obvious as a result. Signed-off-by: Steven Whitehouse Cc: Alexander Viro commit c1e817d03a7de57a963654c35e6e80af9a5dbff5 Author: Steven Whitehouse Date: Tue Jul 22 22:58:03 2008 +0100 GFS2: Fix debugfs glock file iterator Due to an incorrect iterator, some glocks were being missed from the glock dumps obtained via debugfs. This patch fixes the problem and ensures that we don't miss any glocks in future. Signed-off-by: Steven Whitehouse commit 99809963c99e1ed868d9ebeb4a5e7ee1cbe0309f Author: Jeff Chua Date: Wed Aug 6 19:09:53 2008 +0800 x86: make sparsemem more available With CONFIG_X86_PC, I can set CONFIG_SPARSEMEM=y. With CONFIG_X86_GENERICARCH, CONFIG_SPARSEMEM depends on CONFIG_NUMA. I'm using the patch below to enable sparsemem instead of flatmem. System booted and is running. Signed-off-by: Ingo Molnar commit f2556896597c43cb48f04b1c16214938a6ccce9a Merge: 7c13e6a... 10fec20... Author: Ingo Molnar Date: Mon Aug 11 22:01:54 2008 +0200 Merge branch 'linus' into x86/defconfig commit b55793f7528ce1b73c25b3ac8a86a6cda2a0f9a4 Author: Andreas Herrmann Date: Wed Aug 6 10:29:37 2008 +0200 x86: cpu_init(): fix memory leak when using CPU hotplug Exception stacks are allocated each time a CPU is set online. But the allocated space is never freed. Thus with one CPU hotplug offline/online cycle there is a memory leak of 24K (6 pages) for a CPU. Fix is to allocate exception stacks only once -- when the CPU is set online for the first time. Signed-off-by: Andreas Herrmann Cc: akpm@linux-foundation.org Signed-off-by: Ingo Molnar commit 49800efcb17afdf973f33e8aa8807b7f83993cc6 Author: Andreas Herrmann Date: Wed Aug 6 10:27:30 2008 +0200 x86: pda_init(): fix memory leak when using CPU hotplug pda->irqstackptr is allocated whenever a CPU is set online. But it is never freed. This results in a memory leak of 16K for each CPU offline/online cycle. Fix is to allocate pda->irqstackptr only once. Signed-off-by: Andreas Herrmann Cc: akpm@linux-foundation.org Signed-off-by: Ingo Molnar commit 59f09ba2b62e6f89beeb4c8fc2c83fe14321dda9 Author: Philipp Kohlbecher Date: Wed Aug 6 15:25:26 2008 +0200 x86: fix comment in protected mode header Comments in arch/x86/boot/compressed/head_32.S erroneously refer to the real mode pointer as the second and the heap area as the third argument to decompress_kernel(). In fact, these have been the first and second argument, respectively, since v2.6.20. This patch corrects the comments. It introduces no code changes. Signed-off-by: Philipp Kohlbecher Signed-off-by: Ingo Molnar commit 012f09e7942716d5f4339f1fd9a831a485bb1d4a Author: Andreas Herrmann Date: Wed Aug 6 16:23:08 2008 +0200 x86: compile pat debugfs interface only if CONFIG_X86_PAT is set Recently I've run a kernel w/o PAT support and wondered why there was a file "x86/pat_memtype_list" in debugfs. Of course it's empty if PAT is disabled ... so just get rid of this interface if PAT is disabled. Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar commit 7c13e6a3d15a4ebcc3f40df5f4d19665479f8ca3 Author: Dimitri Sivanich Date: Mon Aug 11 10:46:46 2008 -0500 x86: remove EXPERIMENTAL restriction from CONFIG_HOTPLUG_CPU This removes the EXPERIMENTAL restriction from CONFIG_HOTPLUG_CPU on the x86 architecture. Signed-off-by: Dimitri Sivanich Signed-off-by: Ingo Molnar commit 2ae111cdd8d83ebf9de72e36e68a8c84b6ebbeea Author: Cyrill Gorcunov Date: Mon Aug 11 18:34:08 2008 +0400 x86: apic interrupts - move assignments to irqinit_32.c, v2 64bit mode APIC interrupt handlers are set within irqinit_64.c. Lets do tha same for 32bit mode which would help in furter code merging. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit ced9cd40ac14111befd6b0c73ec90106c22a3fd7 Author: Ingo Molnar Date: Mon Aug 11 14:38:12 2008 +0200 printk: robustify printk, fix fix: include/linux/kernel.h: In function ‘printk_needs_cpu': include/linux/kernel.h:217: error: parameter name omitted Signed-off-by: Ingo Molnar commit b845b517b5e3706a3729f6ea83b88ab85f0725b0 Author: Peter Zijlstra Date: Fri Aug 8 21:47:09 2008 +0200 printk: robustify printk Avoid deadlocks against rq->lock and xtime_lock by deferring the klogd wakeup by polling from the timer tick. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 78635fc739b1254f3e0362ac430edbdd2cff01dc Author: Ingo Molnar Date: Mon Aug 11 13:34:15 2008 +0200 rcu, debug: detect stalled grace periods, cleanups small cleanups. Signed-off-by: Ingo Molnar commit 67182ae1c42206e516f7efb292b745e826497b24 Author: Paul E. McKenney Date: Sun Aug 10 18:35:38 2008 -0700 rcu, debug: detect stalled grace periods this is a diagnostic patch for Classic RCU. The approach is to record a timestamp at the beginning of the grace period (in rcu_start_batch()), then have rcu_check_callbacks() complain if: 1. it is running on a CPU that has holding up grace periods for a long time (say one second). This will identify the culprit assuming that the culprit has not disabled hardware irqs, instruction execution, or some such. 2. it is running on a CPU that is not holding up grace periods, but grace periods have been held up for an even longer time (say two seconds). It is enabled via the default-off CONFIG_DEBUG_RCU_STALL kernel parameter. Rather than exponential backoff, it backs off to once per 30 seconds. My feeling upon thinking on it was that if you have stalled RCU grace periods for that long, a few extra printk() messages are probably the least of your worries... Signed-off-by: Paul E. McKenney Cc: Peter Zijlstra Cc: Yinghai Lu Cc: David Witbrodt Signed-off-by: Ingo Molnar commit c4c0c56a7a85ed5725786219e4fbca7e840b1531 Merge: 5127bed... 796aade... Author: Ingo Molnar Date: Mon Aug 11 13:27:47 2008 +0200 Merge branch 'linus' into core/rcu commit 8aeb4022633f7d0eca5e13a9622bd73df92bbf2a Author: Huang Weiyi Date: Sun Aug 10 21:09:22 2008 +0800 arch/x86/kernel/cpuid.c: removed duplicated #include Removed duplicated include file in arch/x86/kernel/cpuid.c. Signed-off-by: Huang Weiyi Signed-off-by: Ingo Molnar commit 4c942654a4514d7d0a9b592a7d1b198a212e8a03 Author: Huang Weiyi Date: Sun Aug 10 20:57:45 2008 +0800 arch/x86/kernel/acpi/boot.c: removed duplicated #include Removed duplicated include file in arch/x86/kernel/acpi/boot.c. Signed-off-by: Huang Weiyi Signed-off-by: Ingo Molnar commit 6de9c70882ecdee63a652d493bf2353963bd4c22 Merge: d406d21... 796aade... Author: Ingo Molnar Date: Mon Aug 11 12:57:01 2008 +0200 Merge branch 'linus' into x86/cleanups commit 8067794bec1cc5de1431102cf0a6a1c7ce75cd85 Merge: 7ab6af7... 796aade... Author: Ingo Molnar Date: Mon Aug 11 11:19:20 2008 +0200 Merge branch 'linus' into x86/x2apic Conflicts: arch/x86/kernel/genapic_64.c Manual merge: arch/x86/kernel/genx2apic_uv_x.c Signed-off-by: Ingo Molnar commit d406d21d90dce2e66c7eb4a44605aac947fe55fb Author: Marcin Slusarz Date: Mon Aug 11 00:09:38 2008 +0200 x86: mpparse.c: fix section mismatch warning WARNING: vmlinux.o(.text+0x118f7): Section mismatch in reference from the function construct_ioapic_table() to the function .init.text:MP_bus_info() The function construct_ioapic_table() references the function __init MP_bus_info(). This is often because construct_ioapic_table lacks a __init annotation or the annotation of MP_bus_info is wrong. construct_ioapic_table is called only from construct_default_ISA_mptable which is __init Signed-off-by: Marcin Slusarz Cc: Thomas Gleixner Cc: Ingo Molnar Cc: H. Peter Anvin Signed-off-by: H. Peter Anvin commit bafc1dae8215c862c2e6ae913ddadc20581e59b9 Author: Marcin Slusarz Date: Mon Aug 11 00:11:13 2008 +0200 x86: mmconf: fix section mismatch warning WARNING: arch/x86/kernel/built-in.o(.cpuinit.text+0x1591): Section mismatch in reference from the function init_amd() to the function .init.text:check_enable_amd_mmconf_dmi() The function __cpuinit init_amd() references a function __init check_enable_amd_mmconf_dmi(). If check_enable_amd_mmconf_dmi is only used by init_amd then annotate check_enable_amd_mmconf_dmi with a matching annotation. check_enable_amd_mmconf_dmi is only called from init_amd which is __cpuinit Signed-off-by: Marcin Slusarz Cc: Thomas Gleixner Cc: Ingo Molnar Cc: H. Peter Anvin Signed-off-by: H. Peter Anvin commit 85a14437ed24244c78f9a70d58b8299753b03c92 Author: Marcin Slusarz Date: Mon Aug 11 00:12:37 2008 +0200 x86: fix MP_processor_info section mismatch warning WARNING: arch/x86/kernel/built-in.o(.cpuinit.text+0x1fe7): Section mismatch in reference from the function MP_processor_info() to the variable .init.data:x86_quirks The function __cpuinit MP_processor_info() references a variable __initdata x86_quirks. If x86_quirks is only used by MP_processor_info then annotate x86_quirks with a matching annotation. MP_processor_info uses x86_quirks which is __init and is used only from smp_read_mpc and construct_default_ISA_mptable which are __init Signed-off-by: Marcin Slusarz Cc: Thomas Gleixner Cc: Ingo Molnar Cc: H. Peter Anvin Signed-off-by: H. Peter Anvin commit 90936cfe6c8f7e90a6f8b0c5cb44d3a012dfd313 Author: Marcin Slusarz Date: Mon Aug 11 00:07:44 2008 +0200 x86, tsc: fix section mismatch warning WARNING: vmlinux.o(.text+0x7950): Section mismatch in reference from the function native_calibrate_tsc() to the function .init.text:tsc_read_refs() The function native_calibrate_tsc() references the function __init tsc_read_refs(). This is often because native_calibrate_tsc lacks a __init annotation or the annotation of tsc_read_refs is wrong. tsc_read_refs is called from native_calibrate_tsc which is not __init and native_calibrate_tsc cannot be marked __init Signed-off-by: Marcin Slusarz Cc: Thomas Gleixner Cc: Ingo Molnar Cc: H. Peter Anvin Signed-off-by: H. Peter Anvin commit 82a196f481661170b4982dc7e68a12e9253309d0 Author: Sven Anders Date: Fri Aug 8 16:31:33 2008 -0400 Input: appletouch - handle geyser 3/4 status bits Implement support for status bits on Geyser 3/4. Signed-off-by: Sven Anders Signed-off-by: Johannes Berg Signed-off-by: Dmitry Torokhov commit d83d213d9fda671dfd84ea81182742f9e329a6b4 Author: Sven Anders Date: Fri Aug 8 16:31:31 2008 -0400 Input: appletouch - prepare for geyser 3/4 handling Split complete function into separate functions for GEYSER1/2 and GEYSER 3/4. Signed-off-by: Sven Anders Signed-off-by: Johannes Berg Signed-off-by: Dmitry Torokhov commit ce25d7e90c7543f0046c3bdcdcc7594546c57dcc Author: Uwe Kleine-König Date: Fri Aug 8 12:14:36 2008 -0400 Input: gpio-keys - simplify argument list for report_event For now this only saves a few instructions (for gpio_keys_report_event, gpio_keys_isr and gpio_check_button one instraction each on ARM using arm-linux-gnu-gcc 4.2.3---I assume this is similar for other arch/compiler combinations). Signed-off-by: Uwe Kleine-König Signed-off-by: Dmitry Torokhov commit 57ffe9d539e0eb741bb9ca8f2834d210e70ee2e3 Author: Uwe Kleine-König Date: Fri Aug 8 12:14:34 2008 -0400 Input: gpio-keys - optimize interrupt handler By passing a gpio_button_data structure to the handler instead of the whole platform_device the search for the right button can go away. Signed-off-by: Uwe Kleine-König Signed-off-by: Dmitry Torokhov commit 34a7c48c221676ff8322ca4b8ded84eada34cf12 Author: Remi Herilier Date: Fri Aug 8 12:13:13 2008 -0400 Input: wistron - add support for Fujitsu-Siemens Amilo Pro v3505 Wistron button support for Fujitsu-Siemens Amilo Pro Edition V3505. Signed-off-by: Remi Herilier Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit c04148f915e5ba7947752e6348e0da4cdab1329e Author: Alfred E. Heggestad Date: Fri Aug 8 11:49:08 2008 -0400 Input: add driver for USB VoIP phones with CM109 chipset Signed-off-by: Alfred E. Heggestad Signed-off-by: Dmitry Torokhov commit 421fae06be9e0dac45747494756b3580643815f9 Author: Vesa-Matti Kari Date: Wed Aug 6 18:24:51 2008 +0300 selinux: conditional expression type validation was off-by-one expr_isvalid() in conditional.c was off-by-one and allowed invalid expression type COND_LAST. However, it is this header file that needs to be fixed. That way the if-statement's disjunction's second component reads more naturally, "if expr type is greater than the last allowed value" ( rather than using ">=" in conditional.c): if (expr->expr_type <= 0 || expr->expr_type > COND_LAST) Signed-off-by: Vesa-Matti Kari Signed-off-by: James Morris commit c9a7dc2c5279830c0ad77715c0ace3e1edb07f4c Author: Rene Herman Date: Wed Aug 6 08:09:34 2008 +0200 ALSA: wss_lib: rework snd_ad1848_probe() Make snd_ad1848_probe() easier to follow. With an exception for only trying once as soon as the codec is out of init (which should be all that's needed) the detection logic should be unchanged. Signed-off-by: Rene Herman Acked-by: Krzysztof Helt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8f4f4ef6fed55a3636db3146a3e50b7febcbd7de Author: Takashi Iwai Date: Tue Aug 5 15:45:45 2008 +0200 ALSA: ac97 - Enable mono-out on ALC203 codec as default Use pin 37 for mono-out as default on ALC203. Reported-by: george pee Tested-by: george pee Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b9c196e1452e1d4cbf0a1499f1e9c1b3edf59320 Author: Phillip Michael Jordan Date: Tue Aug 5 11:01:00 2008 +0200 ALSA: snd_usb_audio: fix SB Extigy IR Remote regression The support for the SB Extigy's remote seems to be broken in all recent ALSA versions, including 1.0.17. The driver detects the event correctly, then submits a URB to query the RC code. On the Extigy, the URB is submitted with a length of 2 bytes. My hardware, however, only replies with 1 byte, containing the correct RC button code. The current implementation discards this as being too short. (line 1784 of usbmixer.c) This patch specifies a "minimum packet length" in the remote control configuration. I've left the values for the Audigy 2/Live! the same as the packet length, as I'm assuming the existing code works with them. (I don't have the hardware to confirm) This fixes the Extigy RC support, e.g. for use with Lirc. Signed-off-by: Phillip Michael Jordan Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0e0e16a87a0b973702feb572c2552d82e1aec5b9 Author: Mark Brown Date: Mon Aug 4 12:06:45 2008 +0100 ALSA: ASoC: Add WM8900 CODEC driver The WM8900 is designed for portable multimedia applications requiring low power consumption, high performance audio and a compact form factor providing: - 24 bit stereo ADC and DAC - Microphone and line inputs - Line outputs - Class G headphone amplifier Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8c650087992f1d7a3a7be2e632f4e85a52d20619 Author: Mauro Carvalho Chehab Date: Mon Aug 4 10:39:59 2008 -0300 ALSA: hda: Add support for ECS/PC Chips boards with Sigmatel codecs Thanks to Sistema Fenix (http://www.sistemafenix.com.br/) and CDI Brasil (www.cdibrasil.com.br/) for sponsoring this development. Signed-off-by: Gilberto Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e8f9ae2a4a0654e7798b8c0ae956e3f0fdc23c8d Author: Pascal Terjan Date: Mon Aug 4 14:36:05 2008 +0200 ALSA: hda - Fix sound on NEC Versa S9100 This patch adds sound support for NEC Versa S9100 With it, we get sound on the internal speaker and headphone (with automute working) while there is no sound by default. External mic also works fine but I don't know if there is an internal one (if there is an internal mic it does not work currently), and I had to send back the hardware. Signed-off-by: Pascal Terjan Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6ddfa7432adc24c7471abe9d338a78540d0d025b Author: Rene Herman Date: Tue Aug 5 09:33:33 2008 +0200 ALSA: wss_lib: fix AZT2320 probe. After the transition from cs4321_lib to wss_lib, azt2320 probe visits snd_ad1848_probe during detection. It expects register 0 (LEFT_INPUT) to be able to retain the value 0xaa during detection but AZT2320 does not support MIC gain meaning it reads back as 0x8a instead. Signed-off-by: Rene Herman Acked-by: Krzysztof Helt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ebae22590dccd2b8495c97e85290f5e07af7dc62 Author: Rene Herman Date: Mon Aug 4 01:23:43 2008 +0200 ALSA: snd-cs4236: add Techmakers MF-4236PW PnP card ID Add the Techmakers MF-4236PW (Crystal CX4236B-XQ3) PnP card ID. Signed-off-by: Rene Herman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f1789f451d2ee18ff2bbc5afe78e1a7b9b714003 Author: Krzysztof Helt Date: Sun Aug 3 17:57:21 2008 +0200 ALSA: wss_lib: remove second mutexes initialization Remove initializations of spinlock and mutexes which are done earlier in snd_wss_new(). The snd_wss_new() is called from snd_wss_create(). Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a0d9274cd888ada59fe2734f45019d84bc40ac3d Author: Rene Herman Date: Mon Aug 4 05:26:26 2008 +0200 ALSA: wss_lib: opti92x-ad1848 WSS_HW_DETECT fix snd-opti92x-ad1848 mistakingly passes WSS_HW_OPTI93X currently. This fixes it as tested with a OPTi 82C929A/AD1848 card. Signed-off-by: Rene Herman Acked-by: Krzysztof Helt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 31eca307fd9b1eb9ec138eb01bcfed16af60dabb Author: Krzysztof Helt Date: Thu Jul 31 21:11:46 2008 +0200 ALSA: wss_lib: fix opti93x capture formats limitations Limit opti93x cards capture formats to only linear ones. Signed-off-by: Krzysztof Helt Reviewed-by: Rene Herman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 760fc6b838d8c783c363e8bdb3714bd92a8945c4 Author: Krzysztof Helt Date: Thu Jul 31 21:10:47 2008 +0200 ALSA: wss_lib: use wss detection code instead of ad1848 one Use the wss detection code and kill the ad1848 library. The library is fully assimilated into the new wss library. This required reworking of the AD1848 family code so the code is changed to correctly detect chips from the AD1848 and CS4231 families. I have tested it on following cards: Gallant SC-6600 (codec: AD1848, driver: snd-sc6600) SoundScape VIVO/90 (codec: AD1845, driver: snd-sscape) SG Waverider (codec: CS4231A, driver: Rene Herman's snd-galaxy) Opti930 (codec: built-in - CS4231 compatible, driver: snd-opti93x) Opti931 (codec: built-in - CS4231 compatible, driver: snd-opti93x) Gallant SC-70P (chip/codec: CS4237B, driver: snd-cs4236) Audio Plus 3D (chip/codec: CMI8330A, driver: snd-cmi8330) Dell Latitude CP (chip/codec: cs4236, driver snd-cs4232) Sound playback and recording works on all these cards. Signed-off-by: Krzysztof Helt Reviewed-by: Rene Herman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ead893c0deeec165524cc8a06e7e739d7d84b4c4 Author: Krzysztof Helt Date: Thu Jul 31 21:09:32 2008 +0200 ALSA: wss_lib: use wss pcm code instead of ad1848 one Use the wss pcm code and kill the ad1848 pcm code. The AD1848 chip is much slower than CS4231 chips so the waiting loop was increased 100x (10x is not enough). Signed-off-by: Krzysztof Helt Reviewed-by: Rene Herman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 5664daa1c1fa250dd7f6b336278b0402638e8edc Author: Krzysztof Helt Date: Thu Jul 31 21:08:32 2008 +0200 ALSA: wss_lib: use wss mixer code instead of ad1848 one Use the wss mixer code and kill the ad1848 mixer code. Signed-off-by: Krzysztof Helt Reviewed-by: Rene Herman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 811585e9d1769d6e282852fc0675735209547ca0 Author: Krzysztof Helt Date: Thu Jul 31 21:07:30 2008 +0200 ALSA: wss_lib: use CS4231P instead of AD1848P (kill the AD1848P) Use CS4231P instead of AD1848P (kill the AD1848P). Signed-off-by: Krzysztof Helt Reviewed-by: Rene Herman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0c5e3e98220e743f8ac095249b09ca8c87bd655b Author: Krzysztof Helt Date: Thu Jul 31 21:06:46 2008 +0200 ALSA: wss_lib: replace ad1848 mixer element macros with wss ones Use the wss macros instead of ad1848 ones. Signed-off-by: Krzysztof Helt Reviewed-by: Rene Herman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ece11c9b6db5b96179df8eb9cdc54c78953a4c0f Author: Krzysztof Helt Date: Thu Jul 31 21:05:44 2008 +0200 ALSA: wss_lib: use wss constants instead of ad1848 ones Use wss constants for mode. Move ad1848 hardware constants to the wss.h. Move mixer tlv macros into the ad1848_lib.c from the ad1848.h. Drop the MODE_RUNNING spurious IRQ guard on AD1848 as it doesn not seem to be needed. Signed-off-by: Krzysztof Helt Reviewed-by: Rene Herman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 241b3ee70d2d69e88d5c144ce938b1887cd6d3fc Author: Krzysztof Helt Date: Thu Jul 31 21:04:37 2008 +0200 ALSA: wss_lib: use struct snd_wss instead of snd_ad1848 The snd_wss is superset of the snd_ad1848 so kill the latter and replace it with the snd_wss. Signed-off-by: Krzysztof Helt Reviewed-by: Rene Herman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7779f75f072784d3fccf721b8ec43107f93619a0 Author: Krzysztof Helt Date: Thu Jul 31 21:03:41 2008 +0200 ALSA: wss_lib: rename cs4321_foo to wss_foo Rename functions and structures from the former cs4321_lib to names more corresponding with the new name: wss_lib. Signed-off-by: Krzysztof Helt Reviewed-by: Rene Herman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 61ef19d7e771ce021edb0dff0da134b6d688d4aa Author: Krzysztof Helt Date: Thu Jul 31 21:02:42 2008 +0200 ALSA: wss_lib: rename cs4231.h into wss.h Rename file include/sound/cs4231.h into include/sound/wss.h Signed-off-by: Krzysztof Helt Reviewed-by: Rene Herman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9295aea1e8e00ea83965eb739b8d0bd2ea03c7cb Author: Krzysztof Helt Date: Thu Jul 31 21:00:17 2008 +0200 ALSA: wss_lib: move cs4231_lib into wss_lib Move the file sound/isa/cs423x/cs4231_lib.c into sound/isa/cs423x/wss_lib.c This is the first step toward merging all libraries for Windows Sound System compatible chips into a single library. Signed-off-by: Krzysztof Helt Reviewed-by: Rene Herman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 15446235367fa4a621ff5abfa4b6ebbe25b33763 Author: Casey Schaufler Date: Wed Jul 30 15:37:11 2008 -0700 smack: limit privilege by label There have been a number of requests to make the Smack LSM enforce MAC even in the face of privilege, either capability based or superuser based. This is not universally desired, however, so it seems desirable to make it optional. Further, at least one legacy OS implemented a scheme whereby only processes running with one particular label could be exempt from MAC. This patch supports these three cases. If /smack/onlycap is empty (unset or null-string) privilege is enforced in the normal way. If /smack/onlycap contains a label only processes running with that label may be MAC exempt. If the label in /smack/onlycap is the star label ("*") the semantics of the star label combine with the privilege restrictions to prevent any violations of MAC, even in the presence of privilege. Again, this will be independent of the privilege scheme. Signed-off-by: Casey Schaufler Reviewed-by: James Morris commit cf9481e289247fe9cf40f2e2481220d899132049 Author: David Howells Date: Sun Jul 27 21:31:07 2008 +1000 SELinux: Fix a potentially uninitialised variable in SELinux hooks Fix a potentially uninitialised variable in SELinux hooks that's given a pointer to the network address by selinux_parse_skb() passing a pointer back through its argument list. By restructuring selinux_parse_skb(), the compiler can see that the error case need not set it as the caller will return immediately. Signed-off-by: David Howells Signed-off-by: James Morris commit 0c0e186f812457e527c420f7a4d02865fd0dc7d2 Author: Vesa-Matti J Kari Date: Mon Jul 21 02:50:20 2008 +0300 SELinux: trivial, remove unneeded local variable Hello, Remove unneeded local variable: struct avtab_node *newnode Signed-off-by: Vesa-Matti Kari Signed-off-by: James Morris commit df4ea865f09580b1cad621c0426612f598847815 Author: Vesa-Matti J Kari Date: Sun Jul 20 23:57:01 2008 +0300 SELinux: Trivial minor fixes that change C null character style Trivial minor fixes that change C null character style. Signed-off-by: Vesa-Matti Kari Signed-off-by: James Morris commit 3583a71183a02c51ca71cd180e9189cfb0411cc1 Author: Adrian Bunk Date: Tue Jul 22 20:21:23 2008 +0300 make selinux_write_opts() static This patch makes the needlessly global selinux_write_opts() static. Signed-off-by: Adrian Bunk Signed-off-by: James Morris commit 53efec9513cfb1acff602c7ebdd945d677808e9e Author: Dominik Brodowski Date: Mon Jul 28 19:44:05 2008 +0200 pcmcia: only copy CIS override data once Instead of copying CIS override data in socket_sysfs.c or ds.c, and then again in cistpl.c, only do so once. Also, cisdump_t is now only used by the deprecated ioctl. Signed-off-by: Dominik Brodowski commit 740dc9c4766b462ae88a630e969ddd3ef83a6125 Author: Misha Zhilin Date: Fri Aug 1 12:45:14 2008 +0200 ALSA: ice1724 - Support for Terrasoniq/MUSONIK TS22 PCI card Added support for Terrasoniq/MUSONIK TS22 PCI card. Signed-off-by: Misha Zhilin Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f90c06a2b613eea24a77d56f24b084745c43713d Author: Pawel MOLL Date: Wed Jul 30 12:46:40 2008 +0100 ALSA: Fix limit of 8 PCM devices in SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE When compiled with CONFIG_SND_DYNAMIC_MINORS the ALSA core is fine to have more than 8 PCM devices per card, except one place - the SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE ioctl, which will not enumerate devices > 7. This patch fixes the issue, changing the devices list organisation. Instead of adding new device to the tail, the list is now kept always ordered (by card number, then device number). Thus, during enumeration, it is easy to discover the fact that there is no more given card's devices. Additionally the device field of struct snd_pcm had to be changed to int, as its "unsignednity" caused a lot of problems when comparing it to potentially negative signed values. (-1 is 0xffffffff or even more then ;-) Signed-off-by: Pawel Moll Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 030a07e441296c372f946cd4065b5d831d8dc40c Author: Karsten Wiese Date: Wed Jul 30 15:13:29 2008 +0200 ALSA: Add USB US122L driver Added a new US122L usb-audio driver. This driver works together with a dedicated alsa-lib plugin. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 896e6cc20e67038af12e1a7711eef32647e62f23 Author: Jaroslav Kysela Date: Fri Aug 1 13:36:04 2008 +0200 sound: Revert "ALSA: Fix limit of 8 PCM devices in SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE" This reverts commit fb3d6f2b77bdec75d45aa9d4464287ed87927866. New, updated patch with same subject replaces this commit. Signed-off-by: Jaroslav Kysela commit 687fbc3fece34e7e1c2ac529348ad897095a0bde Author: Pawel MOLL Date: Fri Aug 1 11:23:44 2008 +0100 ALSA: IEC958 definition for consumer status channel update Updated IEC958 consumer status channel definitions according to the third edition of IEC60958-3 spec. Signed-off-by: Pawel Moll Signed-off-by: Jaroslav Kysela commit 7ab6af7ab69df8c9c5fbc380004fb81187742096 Author: Hiroshi Shimamoto Date: Wed Jul 30 17:36:48 2008 -0700 x86_32: use apic_ops at print_local_APIC() Use apic_icr_read at print_local_APIC() in io_apic_32.c Signed-off-by: Hiroshi Shimamoto Cc: Suresh Siddha Cc: Yinghai Lu Signed-off-by: Ingo Molnar Cc: Suresh Siddha Cc: Yinghai Lu commit daa9c0fee1cbe1d49fbe29af3d4bb16312043b1e Author: Peter Oruba Date: Tue Jul 29 17:41:07 2008 +0200 x86: minor pointer type cast in AMD microcode patch loader Signed-off-by: Peter Oruba Cc: Peter Oruba Cc: Tigran Aivazian Signed-off-by: Ingo Molnar commit 831f9bd3151ebd22959a0cb2a20b44a06b26d4ed Author: Peter Oruba Date: Tue Jul 29 17:41:06 2008 +0200 x86: moved function declarations out from AMD microcode patch loader to heade file Signed-off-by: Peter Oruba Cc: Peter Oruba Cc: Tigran Aivazian Signed-off-by: Ingo Molnar commit f516526febb75500f280def2108688d388df4e1e Author: Peter Oruba Date: Tue Jul 29 17:41:05 2008 +0200 x86: Intel microcode patch loader style corrections Signed-off-by: Peter Oruba Cc: Tigran Aivazian Signed-off-by: Ingo Molnar commit a0ac87d61ba20932e54f08464d3f3439d78fa878 Author: Peter Oruba Date: Tue Jul 29 17:41:04 2008 +0200 x86: AMD microcode patch loader style corrections Signed-off-by: Peter Oruba Cc: Tigran Aivazian Signed-off-by: Ingo Molnar commit a677f58a8c8c541bf7d02c658545084040f3708d Author: Yinghai Lu Date: Tue Jul 29 00:37:10 2008 -0700 x86: print per_cpu data address to make sure per_cpu data on correct node. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit f92a789d259eb95afe7498ff5938fe2a93d39c82 Author: David Brownell Date: Thu Jul 31 12:59:56 2008 -0700 hpet: /dev/hpet - fixes and cleanup, fix fix: On Thursday 31 July 2008, Ingo Molnar wrote: >   drivers/built-in.o: In function `hpet_alloc': >   : undefined reference to `__udivdi3' >   drivers/built-in.o: In function `hpet_alloc': >   : undefined reference to `__umoddi3' Signed-off-by: David Brownell Signed-off-by: Ingo Molnar commit 64a76f667d987a559ad0726b4692c987800b22bc Author: David Brownell Date: Tue Jul 29 12:47:38 2008 -0700 hpet: /dev/hpet - fixes and cleanup Minor /dev/hpet updates and bugfixes: * Remove dead code, mostly remnants of an incomplete/unusable kernel interface ... noted when addressing "sparse" warnings: + hpet_unregister() and a routine it calls + hpet_task and all references, including hpet_task_lock + hpet_data.hd_flags (and HPET_DATA_PLATFORM) * Correct and improve boot message: + displays *counter* (shared between comparators) bit width, not *timer* bit widths (which are often mixed) + relabel "timers" as "comparators"; this is less confusing, they are not independent like normal timers are (sigh) + display MHz not Hz; it's never less than 10 MHz. * Tighten and correct the userspace interface code + don't accidentally program comparators in 64-bit mode using 32-bit values ... always force comparators into 32-bit mode + provide the correct bit definition flagging comparators with periodic capability ... the ABI is unchanged * Update Documentation/hpet.txt + be more correct and current + expand description a bit + don't mention that now-gone kernel interface Plus, add a FIXME comment for something that could cause big trouble on systems with more capable HPETs than at least Intel seems to ship. It seems that few folk use this userspace interface; it's not very usable given the general lack of HPET IRQ routing. I'm told that the only real point of it any more is to mmap for fast timestamps; IMO that's handled better through the gettimeofday() vsyscall. Signed-off-by: David Brownell Acked-by: Clemens Ladisch Signed-off-by: Ingo Molnar commit 85e9ca333d03fbd56b9e123c8456f0d98e20faad Merge: a300bec... 6e86841... Author: Ingo Molnar Date: Thu Jul 31 18:43:41 2008 +0200 Merge branch 'linus' into timers/hpet commit e9c8abb66cc37801bdb5d4360bb78d180c3bbb73 Author: Gustavo F. Padovan Date: Tue Jul 29 02:48:56 2008 -0300 x86: coding style fixes to arch/x86/kernel/sys_x86_64.c Fix all errors and many warnings reported by checkpatch.pl without change sys_x86_64.o arch/x86/kernel/sys_x86_64.o: text data bss dec hex filename 1567 0 0 1567 61f sys_x86_64.o.after 1567 0 0 1567 61f sys_x86_64.o.before md5: de28ffedcb5851dfd7ec87a03afec1fd sys_x86_64.o.after de28ffedcb5851dfd7ec87a03afec1fd sys_x86_64.o.before Signed-off-by: Gustavo F. Padovan Signed-off-by: Ingo Molnar commit 4df9e510a9fda29aca71d8acac853b98aa6884d1 Author: Gustavo F. Padovan Date: Tue Jul 29 02:48:55 2008 -0300 x86: coding style fixes to arch/x86/kernel/traps_64.c Fix all errors and many warnings reported by checkpath.pl. Except the change of include to the traps.o before and after changes are the same. Signed-off-by: Gustavo F. Padovan Signed-off-by: Ingo Molnar commit caa007dd3687d38a0252484d9d0a8f9d929ba932 Author: Gustavo F. Padovan Date: Tue Jul 29 02:48:54 2008 -0300 x86: coding style fixes to arch/x86/kernel/signal_64.c Fix all errors and many warnings reported by checkpatch.pl without change signal_64.o arch/x86/kernel/signal_64.o text data bss dec hex filename 5143 0 8 5151 141f signal_64.o.after 5143 0 8 5151 141f signal_64.o.before md5: e68718092b3641cb27e79e55ce57e3ad signal_64.o.after e68718092b3641cb27e79e55ce57e3ad signal_64.o.before Signed-off-by: Gustavo F. Padovan Signed-off-by: Ingo Molnar commit 08aadf069d0482ade033badefa8f03eb2fcddd9c Author: Gustavo F. Padovan Date: Tue Jul 29 02:48:53 2008 -0300 x86: coding style fixes to arch/x86/kernel/crash_dump_64.c Fix conding style without change crash_dump_64.o arch/x86/kernel/crash_dump_64.o text data bss dec hex filename 129 0 0 129 81 crash_dump_64.o.after 129 0 0 129 81 crash_dump_64.o.before md5: 885b52c1b92737e6b12e5107e90fc1f1 crash_dump_64.o.after 885b52c1b92737e6b12e5107e90fc1f1 crash_dump_64.o.before Signed-off-by: Gustavo F. Padovan Signed-off-by: Ingo Molnar commit 8092c654de9a964c14d89da56834f73a80548a58 Author: Gustavo F. Padovan Date: Tue Jul 29 02:48:52 2008 -0300 x86: add KERN_INFO to printks on process_64.c Fix many coding style warnings. Signed-off-by: Gustavo F. Padovan Signed-off-by: Ingo Molnar commit 7de08b4e1ed8d80e6086f71b7e99fc4b397aae39 Author: Gustavo F. Padovan Date: Tue Jul 29 02:48:51 2008 -0300 x86: coding styles fixes to arch/x86/kernel/process_64.c Fix about 50 errors and many warnings without change process_64.o arch/x86/kernel/process_64.o: text data bss dec hex filename 5236 8 24 5268 1494 process_64.o.after 5236 8 24 5268 1494 process_64.o.before md5: 9c35e9debdea4e471288c6e8ca267a75 process_64.o.after 9c35e9debdea4e471288c6e8ca267a75 process_64.o.before Signed-off-by: Gustavo F. Padovan Signed-off-by: Ingo Molnar commit 169ad16bb87c10a3f7c108bb7008ebc0270f617a Author: Eduardo Habkost Date: Mon Jul 28 18:32:09 2008 -0300 xen_alloc_ptpage: cast PFN_PHYS() argument to unsigned long Currently paravirt_ops alloc_p*() uses u32 for the pfn args. We should change that later, but while the pfn parameter is still u32, we need to cast the PFN_PHYS() argument at xen_alloc_ptpage() to unsigned long, otherwise it will lose bits on the shift. I think PFN_PHYS() should behave better when fed with smaller integers, but a cast to unsigned long won't be enough for all cases on 32-bit PAE, and a cast to u64 would be overkill for most users of PFN_PHYS(). We could have two different flavors of PFN_PHYS: one for low pages only (unsigned long) and another that works for any page (u64)), but while we don't have it, we will need the cast to unsigned long on xen_alloc_ptpage(). Signed-off-by: Eduardo Habkost Acked-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit cef43bf6b3afd819f7cdcba356af0e8220fb3789 Author: Jeremy Fitzhardinge Date: Mon Jul 28 13:33:44 2008 -0700 xen: fix allocation and use of large ldts, cleanup Add a proper comment for set_aliased_prot() and fix an unsigned long/void * warning. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 4b336b0625fe822cdc21646cc3bc3abacf05a3d0 Merge: 0d1edf4... 8978b74... Author: Ingo Molnar Date: Thu Jul 31 12:41:34 2008 +0200 Merge branch 'x86/urgent' into x86/xen commit 0d1edf46ba229b46efacf75c0544b88c05a7b266 Author: Jeremy Fitzhardinge Date: Mon Jul 28 11:53:57 2008 -0700 xen: compile irq functions without -pg for ftrace For some reason I managed to miss a bunch of irq-related functions which also need to be compiled without -pg when using ftrace. This patch moves them into their own file, and starts a cleanup process I've been meaning to do anyway. Signed-off-by: Jeremy Fitzhardinge Cc: Sam Ravnborg Cc: "Alex Nixon (Intern)" Cc: Eduardo Habkost Signed-off-by: Ingo Molnar commit eac4345be6d17541039791f15f173d0426423df1 Merge: 5fbf246... d5de884... Author: Ingo Molnar Date: Thu Jul 31 12:39:15 2008 +0200 Merge branch 'x86/spinlocks' into x86/xen commit 5fbf24659b75356e2142e1f1b88f67b34cbc3e75 Merge: d89961e... 6e86841... Author: Ingo Molnar Date: Thu Jul 31 12:38:04 2008 +0200 Merge branch 'linus' into x86/xen commit 6152e4b1c99a3689fc318d092cd144597f7dbd14 Author: H. Peter Anvin Date: Tue Jul 29 17:23:16 2008 -0700 x86, xsave: keep the XSAVE feature mask as an u64 The XSAVE feature mask is a 64-bit number; keep it that way, in order to avoid the mistake done with rdmsr/wrmsr. Use the xsetbv() function provided in the previous patch. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit b4a091a62c8e91d6077e575600363cff73fa02ef Author: H. Peter Anvin Date: Tue Jul 29 17:30:29 2008 -0700 x86, xsave: add header file for XCR registers Add header file for the XCR registers and their access functions. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 42deec6f2c3688fdaf986225ac901b817cd91568 Author: Suresh Siddha Date: Tue Jul 29 10:29:26 2008 -0700 x86, xsave: update xsave header bits during ptrace fpregs set FP/SSE bits may be zero in the xsave header(representing the init state). Update these bits during the ptrace fpregs set operation, to indicate the non-init state. Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit c37b5efea43f9e500363f9973dd00e3d2cdcc685 Author: Suresh Siddha Date: Tue Jul 29 10:29:25 2008 -0700 x86, xsave: save/restore the extended state context in sigframe On cpu's supporting xsave/xrstor, fpstate pointer in the sigcontext, will include the extended state information along with fpstate information. Presence of extended state information is indicated by the presence of FP_XSTATE_MAGIC1 at fpstate.sw_reserved.magic1 and FP_XSTATE_MAGIC2 at fpstate + (fpstate.sw_reserved.extended_size - FP_XSTATE_MAGIC2_SIZE). Extended feature bit mask that is saved in the memory layout is represented by the fpstate.sw_reserved.xstate_bv For RT signal frames, UC_FP_XSTATE in the uc_flags also indicate the presence of extended state information in the sigcontext's fpstate pointer. Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit bdd8caba5ed5bb7ee21c9f061597284ffeb280bf Author: Suresh Siddha Date: Tue Jul 29 10:29:24 2008 -0700 x86, xsave: struct _fpstate extensions to include extended state information Bytes 464..511 in the current 512byte layout of fxsave/fxrstor frame, are reserved for SW usage. On cpu's supporting xsave/xrstor, these bytes are used to extended the fpstate pointer in the sigcontext, which now includes the extended state information along with fpstate information. Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 9dc89c0f96a6ce6a1b7f9a47dd8bf6f17e2002c9 Author: Suresh Siddha Date: Tue Jul 29 10:29:23 2008 -0700 x86, xsave: xsave/xrstor specific routines Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit ab5137015fed9b948fe835a2d99a4cfbd50a0c40 Author: Suresh Siddha Date: Tue Jul 29 10:29:22 2008 -0700 x86, xsave: reorganization of signal save/restore fpstate code layout move 64bit routines that saves/restores fpstate in/from user stack from signal_64.c to xsave.c restore_i387_xstate() now handles the condition when user passes NULL fpstate. Other misc changes for prepartion of xsave/xrstor sigcontext support. Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 3c1c7f101426cb2ecc79d817a8a65928965fc860 Author: Suresh Siddha Date: Tue Jul 29 10:29:21 2008 -0700 x86, xsave: dynamically allocate sigframes fpstate instead of static allocation dynamically allocate fpstate on the stack, instead of static allocation in the current sigframe layout on the user stack. This will allow the fpstate structure to grow in the future, which includes extended state information supporting xsave/xrstor. signal handlers will be able to access the fpstate pointer from the sigcontext structure asusual, with no change. For the non RT sigframe's (which are supported only for 32bit apps), current static fpstate layout in the sigframe will be unused(so that we don't change the extramask[] offset in the sigframe and thus prevent breaking app's which modify extramask[]). Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit b359e8a434cc3d09847010fc4aeccf48d69740e4 Author: Suresh Siddha Date: Tue Jul 29 10:29:20 2008 -0700 x86, xsave: context switch support using xsave/xrstor Uses xsave/xrstor (instead of traditional fxsave/fxrstor) in context switch when available. Introduces TS_XSAVE flag, which determine the need to use xsave/xrstor instructions during context switch instead of the legacy fxsave/fxrstor instructions. Thread-synchronous status word is already in L1 cache during this code patch and thus minimizes the performance penality compared to (cpu_has_xsave) checks. Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit dc1e35c6e95e8923cf1d3510438b63c600fee1e2 Author: Suresh Siddha Date: Tue Jul 29 10:29:19 2008 -0700 x86, xsave: enable xsave/xrstor on cpus with xsave support Enables xsave/xrstor by turning on cr4.osxsave on cpu's which have the xsave support. For now, features that OS supports/enabled are FP and SSE. Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit a648bf4632628c787abb0514277f2a231fca39ca Author: Suresh Siddha Date: Tue Jul 29 10:29:18 2008 -0700 x86, xsave: xsave cpuid feature bits Add xsave CPU feature bits. Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit bc588df79ebfb710abc27342fccf336a68ed1216 Merge: bce7f79... 15dd859... Author: Ingo Molnar Date: Wed Jul 30 19:36:55 2008 +0200 Merge branch 'x86/core' into x86/xsave commit 15dd859cacf312f606f54502d1f66537a1e5c78c Merge: b2d9d33... 6e86841... Author: Ingo Molnar Date: Wed Jul 30 19:33:48 2008 +0200 Merge commit 'v2.6.27-rc1' into x86/core Conflicts: include/asm-x86/dma-mapping.h include/asm-x86/namei.h include/asm-x86/uaccess.h Signed-off-by: Ingo Molnar commit b2d9d33412b9d13a40cd314d93ab517950fc5950 Merge: d25ae38... 6ffac1e... Author: Ingo Molnar Date: Wed Jul 30 19:32:39 2008 +0200 Merge branch 'x86/fpu' into x86/core commit 5a599a15182ed48e5bf54111feb3b21e425e194d Author: Aristeu Rozanski Date: Mon Jun 23 10:47:53 2008 -0400 Input: add keycodes for remote controls/phone keypads The new keys are separate from normal numeric keys and standard numeric keypads. The userspace should not attempt to apply modifiers like shift and NumLock to these so tey work properly regardless of the language mapping used. Signed-off-by: Dmitry Torokhov commit 03bac96fae0efdb25e2059e5accbe4f3ee6328dd Author: Dmitry Torokhov Date: Mon Jun 23 10:47:34 2008 -0400 Input: expand keycode space Expand the number of potential key codes from 512 to 768 since people are coming up with more and more keys. Signed-off-by: Dmitry Torokhov commit d6505ab9cd5672f99adeba86696499c2651a6e73 Author: Ville Syrjala Date: Thu Jul 3 10:45:37 2008 -0400 Input: ati_remote2 - add autosuspend support Signed-off-by: Ville Syrjala Signed-off-by: Dmitry Torokhov commit 1971b9d56fce9d8903e623b953c5e2fffe3a878e Author: Ville Syrjala Date: Thu Jul 3 10:45:37 2008 -0400 Input: ati_remote2 - add loadable keymap support Support for loadable keymaps. The driver now supports individual keymaps for each of the five modes (AUX1-AUX4 and PC) of the remote. To achieve this the keymap scancode is interpreted as a combination of the mode and actual button scancode. The original keycode patches were done by Peter Stokes but I modified it quite a lot. Signed-off-by: Ville Syrjala Signed-off-by: Dmitry Torokhov commit 8c4b3c29329eb7ffded3023e6d65bc415cb4e215 Author: Dmitry Torokhov Date: Fri Jun 6 01:33:51 2008 -0400 Input: gameport - mark gameport_register_driver() __must_check Signed-off-by: Dmitry Torokhov commit 2547203d583cc267b98f518d5d93e3a0469d8f62 Author: Dmitry Torokhov Date: Fri Jun 6 01:33:37 2008 -0400 Input: gameport - check return value of gameport_register_driver() Signed-off-by: Dmitry Torokhov commit 6902c0bead4ce266226fc0c5b3828b850bdc884a Author: Dmitry Torokhov Date: Fri Jun 6 01:33:22 2008 -0400 Input: gameport - make gameport_register_driver() return errors Perform actual driver registration right in gameport_register_driver() instead of offloading it to kgameportd and return proper error code to callers if driver registration fails. Note that driver <-> port matching is still done by kgameportd. Signed-off-by: Dmitry Torokhov commit 9423969005586e6e27ca380e01b4a8c50698e2af Author: Pawel MOLL Date: Tue Jul 29 17:34:26 2008 +0100 ALSA: Fix limit of 8 PCM devices in SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE When compiled with CONFIG_SND_DYNAMIC_MINORS the ALSA core is fine to have more than 8 PCM devices per card, except one place - the SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE ioctl, which will not enumerate devices > 7. This patch fixes the issue, changing the devices list organisation. Instead of adding new device to the tail, the list is now kept always ordered (by card number, then device number). Thus, during enumeration, it is easy to discover the fact that there is no more given card's devices. The same limit was present in OSS emulation code. It has been fixed as well. Additionally the device field of struct snd_pcm is now int, instead of unsigned int, as there is no obvious reason for keeping it unsigned. This caused a lot of problems with comparing this value with other (almost always signed) variables. There is just one more place where device number is unsigned - in struct snd_pcm_info, which should be also sorted out in future. Signed-off-by: Pawel MOLL Signed-off-by: Jaroslav Kysela commit 815ecf8dec95d07e260a16ebe8409f4b7c0fdc0f Author: Jon Smirl Date: Tue Jul 29 10:22:24 2008 -0400 ALSA: ASoC: convert use of uint to unsigned int ASOC: convert use of uint to unsigned int Signed-off-by: Jon Smirl Acked-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0c94161580eee8137b868301434ea392083258b5 Author: Mark Brown Date: Tue Jul 29 11:42:35 2008 +0100 ALSA: ASoC: Add all CODECs Kconfig option Allow all the CODEC drivers to be built without a machine driver in order to facilitate testing of subsystem-wide changes and gain better coverage from automated testing efforts. This also helps things like the generic OpenFirmware machine driver for PowerPC. Currently AC97 CODECs are not included since the current setup relies on having a controller driver available. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 5f57dc8b2a05f1d69f913fd885539b8c1f8fb8a1 Author: Cliff Cai Date: Tue Jul 29 11:42:34 2008 +0100 ALSA: ASoC: AD1980 audio codec driver [Mechanical updates from code review applied -- broonie] Signed-off-by: Cliff Cai Signed-off-by: Bryan Wu Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9cce39a1ba2e69a0fedc9ad9356d3b4a81e138a4 Author: Mark Brown Date: Tue Jul 29 11:42:33 2008 +0100 ALSA: ASoC: Staticise keyclick dev_attr in tlv320aic26 Signed-off-by: Mark Brown Acked-by: Grant Likely Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ecb0b3f62762cec4fd02eb6b0375aee1f5a49520 Author: Mark Brown Date: Tue Jul 29 11:42:32 2008 +0100 ALSA: ASoC: Export DAI and codec for TLV320AIC26 This fixes sparse warnings and allows non-OpenFirmware systems to attempt to bind to the device. Signed-off-by: Mark Brown Acked-by: Grant Likely Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d8e3bb7385da0bcdda4ffa600489fa1439b14673 Author: Grant Likely Date: Tue Jul 29 11:42:31 2008 +0100 ALSA: ASoC: Add Texas Instruments TLV320AIC26 codec driver ASoC Codec driver for the TLV320AIC26 device. As it stands, this driver doesn't support all the modes and clocking options of the AIC16, but it is a start. Signed-off-by: Grant Likely Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit dc641378b5ee220aa29ed8b8f51b7af9a19a7719 Author: Grant Likely Date: Tue Jul 29 11:42:30 2008 +0100 ALSA: ASoC: Add mpc5200-psc I2S driver This is an I2S bus driver for the MPC5200 PSC device. It depends on the soc-of helper functions to match a PSC device with a codec based on data in the device tree. Signed-off-by: Grant Likely Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b78ddb10704a7f930e5e631de8227c78a6676a1b Author: Mark Brown Date: Tue Jul 29 11:42:29 2008 +0100 ALSA: ASoC: Make OpenFirmware helper include file conditional The OpenFirmware API headers don't build on all platforms so ensure that they are not included unless they are being used. Signed-off-by: Mark Brown Acked-by: Grant Likely Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 84bc278b1f04920e867e4b46e094bcc066393d41 Author: Grant Likely Date: Tue Jul 29 11:42:28 2008 +0100 ALSA: ASoC: Add OpenFirmware helper for matching bus and codec drivers Simple utility layer for creating ASoC machine instances based on data in the OpenFirmware device tree. OF aware platform drivers and codec drivers register themselves with this framework and the framework automatically instantiates a machine driver. At the moment, the driver is not very capable and it is expected to be extended as more features are needed for specifying the configuration in the device tree. This is most likely temporary glue code to work around limitations in the ASoC v1 framework. When v2 is merged, most of this driver will need to be reworked. Signed-off-by: Grant Likely Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f8ba0b7bfd06a2a5b3c49ff8d71cad31f57b0d51 Author: Jon Smirl Date: Tue Jul 29 11:42:27 2008 +0100 ALSA: ASoC: Rename mask to max to reflect usage Most of the ASoC controls refer to the maximum value that can be set for a control as mask but there is no actual requirement for all bits to be set at the highest possible value making the name mask misleading. Change the code to use max instead. Signed-off-by: Jon Smirl Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4eaa9819dc08d7bfd1065ce530e31b18a119dcaf Author: Jon Smirl Date: Tue Jul 29 11:42:26 2008 +0100 ALSA: ASoC: Convert bitfields in ASoC into full int width Convert bitfields in ASoC into full int width. This is a simple mechanical conversion. Two places in the DAPM code were fixed to properly use mask. Signed-off-by: Jon Smirl Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 58cd33c0f375578cfda25a52ed280caa888b6254 Author: Mark Brown Date: Tue Jul 29 11:42:25 2008 +0100 ALSA: ASoC: Allow codecs to override register display Some codecs have unusual features in their register maps such as very large registers representing arrays of coefficients. Support these codecs in the register cache sysfs file by allowing them to provide a function register_display() overriding the default output for register contents. Also ensure that we don't overflow PAGE_SIZE while writing out the register dump. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8a33de9e51673dbdadb552d888a4544aefe0c31d Author: Dmitry Baryshkov Date: Tue Jul 29 11:42:24 2008 +0100 ALSA: ASoC: Permit simultaneous compilation of both PXA AC97 drivers Signed-off-by: Dmitry Baryshkov Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f6154d6d007c69a330acc9021ec77cca5da9dc4c Author: Takashi Iwai Date: Tue Jul 29 12:08:16 2008 +0200 ALSA: hda - use input_free_device() Use input_free_devce() correctly instead of kfree() at error path. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0d94e41abe271c86df06bcf72d24f9ca7ce771f0 Author: Mark Brown Date: Mon Jul 28 19:05:36 2008 +0100 ALSA: Build jack detection Since jack detection requires the input subsystem which may not be desired on small systems it is not built unless required by a driver that is being built. Drivers using jack detection should use a pattern like this: config SND_FOO tristate "..." ... select SND_JACK if INPUT=y || INPUT=SND to ensure that the jack detection API is enabled if the input subsystem is. If the input subsystem is not enabled then a stub version of the API is provided. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e76d8ceaaff9d7fc1ba2b1963a9f34151832223b Author: Mark Brown Date: Mon Jul 28 19:05:35 2008 +0100 ALSA: Add jack reporting API Currently very few systems provide information about jack status to user space, even though many have hardware facilities to do detection. Those systems that do use an input device with the existing SW_HEADPHONE_INSERT switch type to do so, often independently of ALSA. This patch introduces a standard method for representing jacks to user space into ALSA. It allows drivers to register jacks for a sound card with the input subsystem, binding the input device to the card to help user space associate the input devices with their sound cards. The created input devices are named in the form "card longname jack" where jack is provided by the driver when allocating a jack. By default the parent for the input device is the sound card but this can be overridden by the card driver. The existing user space API with SW_HEADPHONE_INSERT is preserved. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3825c9e8d01e4310c40a3903a354c433c32a7b6f Merge: 5d7b605... 6e86841... Author: Ingo Molnar Date: Tue Jul 29 11:54:24 2008 +0200 Merge commit 'v2.6.27-rc1' into x86/microcode Conflicts: arch/x86/kernel/microcode.c Manual resolutions: arch/x86/kernel/microcode_amd.c arch/x86/kernel/microcode_intel.c Signed-off-by: Ingo Molnar commit 5d7b605245b1aa1a9cd6549b1f57d69273eb0c37 Author: Ingo Molnar Date: Tue Jul 29 10:07:36 2008 +0200 x86, microcode: fix module license string fix: FATAL: modpost: GPL-incompatible module microcode_amd.ko uses GPL-only symbol 'set_cpus_allowed_ptr' Signed-off-by: Ingo Molnar commit 224e946b81166d732f3e9b414cb69612072fb500 Author: Ingo Molnar Date: Tue Jul 29 09:52:55 2008 +0200 x86, microcode: fix symbol exports fix tons of build errors: arch/x86/kernel/built-in.o: In function `microcode_fini_cpu': microcode_intel.c:(.text+0x11598): undefined reference to `microcode_mutex' microcode_intel.c:(.text+0x115a4): undefined reference to `ucode_cpu_info' microcode_intel.c:(.text+0x115ae): undefined reference to `ucode_cpu_info' microcode_intel.c:(.text+0x115bc): undefined reference to `microcode_mutex' [...] Signed-off-by: Ingo Molnar commit 45b1e23eca1c53fa79a611a2bc8c93697ede6c97 Author: Ingo Molnar Date: Tue Jul 29 09:42:17 2008 +0200 x86, microcode support: fix build error fix: arch/x86/kernel/microcode.c:412: error: static declaration of ‘microcode_init’ follows non-static declaration include/asm/microcode.h:1: error: previous declaration of ‘microcode_init’ was here arch/x86/kernel/microcode.c:454: error: static declaration of ‘microcode_exit’ follows non-static declaration include/asm/microcode.h:2: error: previous declaration of ‘microcode_exit’ was here Signed-off-by: Ingo Molnar commit 80cc9f1020f49c9e5b50898c102fd444de70a0a3 Author: Peter Oruba Date: Mon Jul 28 18:44:22 2008 +0200 x86: AMD microcode patch loading support This patch introduces microcode patch loading for AMD processors. It is based on previous corresponding work for Intel processors. It hooks into the general patch loading module. Main difference is that a container file format is used to hold all patch data for multiple processors as well as an equivalent CPU table, which comes seperately, as opposed to Intel's microcode patching solution. Kconfig and Makefile have been changed provice config and build option for new source file. Signed-off-by: Peter Oruba Cc: Tigran Aivazian Signed-off-by: Ingo Molnar commit 8d86f390d9bb5b39f0a315838d1616de6363e1b9 Author: Peter Oruba Date: Mon Jul 28 18:44:21 2008 +0200 x86: major refactoring Refactored code by introducing a two-module solution. There is one general module in which vendor specific modules can hook into. However, that is exclusive, there is only one vendor specific module allowed at a time. A CPU vendor check makes sure only the correct module for the underlying system gets called. Functinally in terms of patch loading itself there are no changes. This refactoring provides a basis for future implementations of other vendors' patch loaders. Signed-off-by: Peter Oruba Cc: Tigran Aivazian Signed-off-by: Ingo Molnar commit 26bf7a48c33906cc3415a4492aa9ead7a75f1353 Author: Peter Oruba Date: Mon Jul 28 18:44:20 2008 +0200 x86: first step of refactoring, introducing microcode_ops Refactoring with the goal of having one general module and separate vendor specific modules that hook into the general one. Microcode_ops is a function pointer structure in which vendor specific modules will enter all functions that differ between vendors and that need to be accessed from the general module. Signed-off-by: Peter Oruba Cc: Tigran Aivazian Signed-off-by: Ingo Molnar commit 9835fd4ad9ee5fc6b909df72aa3e3dba04415f4b Author: Peter Oruba Date: Mon Jul 28 18:44:19 2008 +0200 x86: add AMD specific declarations Added AMD specific declarations to header file. Signed-off-by: Peter Oruba Cc: Tigran Aivazian Signed-off-by: Ingo Molnar commit d4ee36686853d5714437c4409f17ad42bfaf4211 Author: Peter Oruba Date: Mon Jul 28 18:44:18 2008 +0200 x86: structure declaration renaming Renamed common structures to vendor specific naming scheme so other vendors will be able to use the same naming convention. Signed-off-by: Peter Oruba Cc: Tigran Aivazian Signed-off-by: Ingo Molnar commit 3e135d887c973b525d43fbb67dfc5972694882f6 Author: Peter Oruba Date: Mon Jul 28 18:44:17 2008 +0200 x86: code split to two parts Split off existing code into two seperate files. One file holds general code, the other file vendor specific parts. No functional changes, only refactoring. Temporarily Introduced a new module name 'ucode' for result, due to already taken name 'microcode'. Signed-off-by: Peter Oruba Cc: Tigran Aivazian Signed-off-by: Ingo Molnar commit 1abae31096007cc993f67ae2576fe8f812270ad6 Author: Peter Oruba Date: Mon Jul 28 18:44:16 2008 +0200 x86: move microcode.c to microcode_intel.c Signed-off-by: Peter Oruba Cc: Tigran Aivazian Signed-off-by: Ingo Molnar commit c3b71bcec0380836caac9b524fa1585b469b7456 Author: Peter Oruba Date: Mon Jul 28 18:44:15 2008 +0200 x86: move per CPU microcode structure declaration to header file This structure will be later used by other modules as well and needs therfore to be moved out to a header file. Signed-off-by: Peter Oruba Cc: Tigran Aivazian Signed-off-by: Ingo Molnar commit 8e61028dfdc6b8ca996abfe8f9baef6792ea2904 Author: Peter Oruba Date: Mon Jul 28 18:44:14 2008 +0200 x86: typedef removal Removed typedefs. No functional changes to the code. Signed-off-by: Peter Oruba Cc: Tigran Aivazian Signed-off-by: Ingo Molnar commit 9a56a0f80b52cb41c5e0add47c7ce0bb2ef25eb0 Author: Peter Oruba Date: Mon Jul 28 18:44:13 2008 +0200 x86: moved Intel microcode patch loader declarations to seperate header file Intel specific microcode declarations have been moved to a seperate header file. There are no code changes to the code itself and no side effects to other parts. Signed-off-by: Peter Oruba Cc: Tigran Aivazian Signed-off-by: Ingo Molnar commit e7f5b309c9bd6142f395c4a36123ebac4bcdc1b0 Author: Peter Oruba Date: Mon Jul 28 18:44:11 2008 +0200 x86: AMD microcode patch loading support v2 Add an entry to the MAINTAINERS file for AMD CPU microcode patch loading support. Signed-off-by: Peter Oruba Cc: Tigran Aivazian Signed-off-by: Ingo Molnar commit 0b18cb1854152a62492aae088cb80cbeb5c0288d Author: Jaroslav Kysela Date: Mon Jul 28 17:07:07 2008 +0200 ALSA: Fix commit: Add automatic model setting for the Acer Aspire 5920G laptop There is a whitespace at the end of added line. Remove it. Signed-off-by: Jaroslav Kysela commit 71998e83c520c7a91b254dc9705baeedbee0d44f Merge: c9272c4... 99bbc4b... Author: Ingo Molnar Date: Mon Jul 28 17:03:43 2008 +0200 Merge branch 'x86-tracehook' of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-utrace into x86/tracehook commit 239bd83104ec6bcba90221d8b0973d2565142ef8 Author: Ingo Molnar Date: Mon Jul 28 16:45:49 2008 +0200 x86: L3 cache index disable for 2.6.26, fix #2 fix !PCI build failure: arch/x86/kernel/cpu/intel_cacheinfo.c: In function 'get_k8_northbridge': arch/x86/kernel/cpu/intel_cacheinfo.c:675: error: implicit declaration of function 'pci_match_id' Signed-off-by: Ingo Molnar commit d89961e2dc87b6e30b8e3f60bd2af5cd92cf4643 Author: Jeremy Fitzhardinge Date: Thu Jul 24 13:48:58 2008 -0700 xen: suppress known wrmsrs In general, Xen doesn't support wrmsr from an unprivileged domain; it just ends up ignoring the instruction and printing a message on the console. Given that there are sets of MSRs we know the kernel will try to write to, but we don't care, just eat them in xen_write_msr to cut down on console noise. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit b7d0b6784565b846f3562608dfb3cf8516718724 Merge: cdcf772... c9272c4... Author: Ingo Molnar Date: Mon Jul 28 16:26:31 2008 +0200 Merge branch 'linus' into x86/cpu Conflicts: arch/x86/kernel/cpu/intel_cacheinfo.c Signed-off-by: Ingo Molnar commit cdcf772ed163651cacac8098b4974aba7f9e1c73 Author: Ingo Molnar Date: Mon Jul 28 16:20:08 2008 +0200 x86 l3 cache index disable for 2 6 26 fix Signed-off-by: Ingo Molnar commit a24e8d36f5fc047dac9af6200322ed393f2e3175 Author: Mark Langsdorf Date: Tue Jul 22 13:06:02 2008 -0500 x86: L3 cache index disable for 2.6.26 On Monday 21 July 2008, Ingo Molnar wrote: > > applied to tip/x86/cpu, thanks Mark. > > > > I've done some coding style fixes for the new functions you've > > introduced, see that commit below. > > -tip testing found the following build failure: > > arch/x86/kernel/built-in.o: In function `show_cache_disable': > intel_cacheinfo.c:(.text+0xbbf2): undefined reference to `k8_northbridges' > arch/x86/kernel/built-in.o: In function `store_cache_disable': > intel_cacheinfo.c:(.text+0xbd91): undefined reference to `k8_northbridges' > > please send a delta fix patch against the tip/x86/cpu branch: > > http://people.redhat.com/mingo/tip.git/README > > which has your patch plus the cleanup applied. delta fix patch follows. It removes the dependency on k8_northbridges. -Mark Langsdorf Operating System Research Center AMD Signed-off-by: Mark Langsdorf Signed-off-by: Ingo Molnar commit 7a4983bb5f94f6521aa3236fe5c035cf9bef543f Author: Ingo Molnar Date: Mon Jul 21 13:34:21 2008 +0200 x86: L3 cache index disable for 2.6.26, cleanups No change in functionality. Signed-off-by: Ingo Molnar commit 8cb22bcb1f3ef70d4d48092e9b057175ad9ec78d Author: Mark Langsdorf Date: Fri Jul 18 16:03:52 2008 -0500 x86: L3 cache index disable for 2.6.26 New versions of AMD processors have support to disable parts of their L3 caches if too many MCEs are generated by the L3 cache. This patch provides a /sysfs interface under the cache hierarchy to display which caches indices are disabled (if any) and to monitoring applications to disable a cache index. This patch does not set an automatic policy to disable the L3 cache. Policy decisions would need to be made by a RAS handler. This patch merely makes it easier to see what indices are currently disabled. Signed-off-by: Mark Langsdorf Signed-off-by: Ingo Molnar commit fde28e8f49ed86e771667a3fe81fcc25c93ede8e Author: Jeremy Fitzhardinge Date: Thu Jul 24 16:28:00 2008 -0700 xen-balloon: clean up unused functions Remove some unused functions: balloon_update_driver_allowance balloon_release_driver_page only used on the (obsolete, removed) flip path in netfront alloc_empty_pages_and_pagevec free_empty_pages_and_pagevec only used in backend drivers; can be reintroduced when needed Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 167e6cf62979df03513898966f9227847d192327 Author: Jeremy Fitzhardinge Date: Thu Jul 24 16:27:52 2008 -0700 xen-balloon: fix up sysfs issues 1. Set the class so it doesn't clash with the normal memory class 2. Fix up the sysfs show functions to match the new prototype 3. Clean up use of memparse Signed-off-by: Jeremy Fitzhardinge Cc: "viets@work.de" Cc: Andi Kleen Signed-off-by: Ingo Molnar commit a403e45c3b678211ee3b7225dbb924921fb5ddd3 Merge: a05d2eb... d974ae3... Author: Ingo Molnar Date: Mon Jul 28 15:07:54 2008 +0200 Merge core/lib: pick up memparse() change. Merge branch 'core/lib' into x86/xen commit d974ae379a2fbe8948f01eabbc6b19c0a80f09bc Author: Jeremy Fitzhardinge Date: Thu Jul 24 16:27:46 2008 -0700 generic, memparse(): constify argument memparse()'s first argument can be const, so it should be. Signed-off-by: Jeremy Fitzhardinge Cc: Andrew Morton Signed-off-by: Ingo Molnar commit 7225e75144b9718cbbe1820d9c011c809d5773fd Author: Randy Dunlap Date: Sat Jul 26 17:54:22 2008 -0700 documentation: move mtrr.txt to Doc/x86/ subdir Move mtrr.txt to the Documentation/x86/ subdirectory. Add 00-INDEX to the Documentation/x86/ subdirectory. Signed-off-by: Randy Dunlap Cc: Adrian Bunk Signed-off-by: Ingo Molnar commit a05d2ebab28011c2f3f520833f4bfdd2fd1b9c02 Author: Jeremy Fitzhardinge Date: Sun Jul 27 08:45:02 2008 -0700 xen: fix allocation and use of large ldts When the ldt gets to more than 1 page in size, the kernel uses vmalloc to allocate it. This means that: - when making the ldt RO, we must update the pages in both the vmalloc mapping and the linear mapping to make sure there are no RW aliases. - we need to use arbitrary_virt_to_machine to compute the machine addr for each update Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 64f53a0492b4bc11868307990bb8f7c1e0764f89 Author: Jeremy Fitzhardinge Date: Sun Jul 27 08:42:32 2008 -0700 x86: fix initialization of 'l' bit in ldt descriptors Make sure that fill_ldt() initializes the 'l' bit in the descriptor. It always sets it to 0, ignoring 'lm' in user_desc, preserving original x86_64 behaviour. Previously it was leaving 'l' uninitialized. Signed-off-by: Jeremy Fitzhardinge Cc: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Cc: Glauber de Oliveira Costa commit d0513fc6c37b009004cf5c7a8e90af0adb3755bc Author: Matthew Ranostay Date: Sun Jul 27 10:30:30 2008 +0200 ALSA: hda: added 92HD81/83 support Added support for 92HD81/83 family of codecs. This also includes a pwr_mapping array for pins that have more than one amp to power down. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b38addb2da26c0eeab5b538cfbd9d306c50a4726 Author: Clemens Ladisch Date: Mon Jul 28 10:19:39 2008 +0200 ALSA: usb-audio: add BOSS GT-10 support Add a quirk entry for the BOSS GT-10. Signed-off-by: Clemens Ladisch commit d25ae38b7e005af03843833bbd811ffe8c5f8cb4 Author: Yinghai Lu Date: Fri Jul 25 19:39:03 2008 -0700 x86: add apic probe for genapic 64bit - fix intr_remapping_enabled get assigned later, so need to check that in setup_apic_routing Signed-off-by: Yinghai Lu Cc: Jack Steiner Cc: Suresh Siddha Signed-off-by: Ingo Molnar commit 99bbc4b1e677ac695431e8d9c8e710ef391c567f Author: Roland McGrath Date: Sun Apr 20 14:35:12 2008 -0700 x86: tracehook: CONFIG_HAVE_ARCH_TRACEHOOK The x86 arch code has all the prerequisites, so set HAVE_ARCH_TRACEHOOK. Signed-off-by: Roland McGrath commit 59e52130f04537d2c80ea44bb007cadd1ad29543 Author: Roland McGrath Date: Sat Apr 19 19:10:57 2008 -0700 x86: tracehook: TIF_NOTIFY_RESUME This adds TIF_NOTIFY_RESUME support for x86, both 64-bit and 32-bit. When set, we call tracehook_notify_resume() on the way to user mode. Signed-off-by: Roland McGrath commit 4dfcbb997aa9f3a6a3ed8c192f0dac28b027e08f Author: Roland McGrath Date: Sat Apr 19 15:37:09 2008 -0700 x86 signals: use asm/syscall.h Replace local inlines with the asm/syscall.h interfaces that do the same things. Signed-off-by: Roland McGrath commit 68bd0f4ef7750fc277e1268bf40f443898382409 Author: Roland McGrath Date: Fri Apr 18 17:08:44 2008 -0700 x86: tracehook: asm/syscall.h Add asm/syscall.h for x86 with all the required entry points. This will allow arch-independent tracing code for system calls. Signed-off-by: Roland McGrath commit eeea3c3ff8af7f6960a0515d46dff6479bdb91f9 Author: Roland McGrath Date: Sun Mar 16 23:36:28 2008 -0700 x86: tracehook syscall This changes x86 syscall tracing to use the new tracehook.h entry points. There is no change, only cleanup. Signed-off-by: Roland McGrath commit 36a033082b5243d45d508c5ccd47a754edbc6821 Author: Roland McGrath Date: Fri Mar 14 17:46:38 2008 -0700 x86: tracehook_signal_handler This makes the x86 signal handling code use tracehook_signal_handler() in place of calling into ptrace guts. The call is moved after the sa_mask processing, but there is no other change. This cleanup doesn't matter to existing debuggers, but is the sensible thing: have all facets of the handler setup complete before the debugger inspects the task again. Signed-off-by: Roland McGrath commit 3964cd3a6721f18ef1dd67b9a0a89dc5b36683b9 Author: Ingo Molnar Date: Sat Jul 26 19:35:20 2008 +0200 x86: visws_quirks, fix build error fix: arch/x86/kernel/visws_quirks.c: In function ‘visws_early_detect’: arch/x86/kernel/visws_quirks.c:290: error: ‘skip_ioapic_setup’ undeclared (first use in this function) arch/x86/kernel/visws_quirks.c:290: error: (Each undeclared identifier is reported only once arch/x86/kernel/visws_quirks.c:290: error: for each function it appears in.) Signed-off-by: Ingo Molnar commit b56afe1d41653fb07ab1b5af5ccc12001c4dd5a0 Author: Eduardo Habkost Date: Thu Jul 24 12:15:45 2008 -0300 x86, xen: Use native_pte_flags instead of native_pte_val for .pte_flags Using native_pte_val triggers the BUG_ON() in the paravirt_ops version of pte_flags(). Signed-off-by: Eduardo Habkost Acked-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit c3cc99ff5d24e2eeaf7ec2032e720681916990e3 Merge: 38ffbe6... 024e8ac... Author: Ingo Molnar Date: Sat Jul 26 17:48:49 2008 +0200 Merge branch 'linus' into x86/xen commit 9749986a878e91182ff027ff0010ab8e3211031a Author: Ingo Molnar Date: Sat Jul 26 17:28:11 2008 +0200 x86: usb debug port early console, fix fix: arch/x86/kernel/built-in.o: In function `nvidia_set_debug_port': early_printk.c:(.text+0xf8b1): undefined reference to `read_pci_config' early_printk.c:(.text+0xf8dc): undefined reference to `write_pci_config' arch/x86/kernel/built-in.o: In function `setup_early_printk': early_printk.c:(.init.text+0x5487): undefined reference to `early_pci_allowed' early_printk.c:(.init.text+0x54cb): undefined reference to `read_pci_config' early_printk.c:(.init.text+0x54ec): undefined reference to `read_pci_config_16' [...] Signed-off-by: Ingo Molnar commit 39eacc20f93614f7bab63eb1d45060503afc46d0 Author: Huang Weiyi Date: Fri Jul 25 23:30:13 2008 +0800 arch/x86/kernel/visws_quirks.c: Removed duplicated #include Removed duplicated #include in arch/x86/kernel/visws_quirks.c. asm/apic.h asm/arch_hooks.h asm/io.h asm/visws/cobalt.h asm/visws/lithium.h asm/visws/piix4.h linux/init.h linux/interrupt.h linux/smp.h Signed-off-by: Huang Weiyi Signed-off-by: Ingo Molnar commit edb181ac4b0c7c1240503da46349a3fb69af9ef6 Author: Yinghai Lu Date: Fri Jul 25 02:17:55 2008 -0700 x86: mach-numaq to numaq Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit e8c48efdb971cfb1b043076cf68be535d461a20b Author: Yinghai Lu Date: Fri Jul 25 02:17:44 2008 -0700 x86: mach_summit to summit Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit c7e7964c9828083aeb41c2664cbf5a32acbfa9d1 Author: Yinghai Lu Date: Fri Jul 25 02:17:33 2008 -0700 x86: mach_es7000 to es7000 Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 1176fa919292887aa738d317d61fe2bba4d764f2 Author: Yinghai Lu Date: Fri Jul 25 02:17:21 2008 -0700 x86: mach-bigsmp to bigsmp Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit a4dbc34d181e87a0d724dee365921e9251f831d4 Author: Yinghai Lu Date: Fri Jul 25 02:14:28 2008 -0700 x86: add setup_ioapic_ids for numaq in x86_quirks Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 10d3285d0b3af641ee446f0be8f0a7f40cb515b6 Merge: 6dec3a1... 3a61ec3... Author: Ingo Molnar Date: Sat Jul 26 16:30:19 2008 +0200 Merge branch 'x86/urgent' into x86/core Conflicts: include/asm-x86/gpio.h Signed-off-by: Ingo Molnar commit 6dec3a10a7a6093af10cef7ac56021150afd6451 Merge: 2930833... 10a010f... Author: Ingo Molnar Date: Sat Jul 26 16:29:23 2008 +0200 Merge branch 'x86/x2apic' into x86/core Conflicts: include/asm-x86/i8259.h include/asm-x86/msidef.h Signed-off-by: Ingo Molnar commit 29308333fbe2cc61258c1c470f9403960428beb2 Merge: 024e8ac... 1503af6... Author: Ingo Molnar Date: Sat Jul 26 16:28:36 2008 +0200 Merge branch 'x86/header-guards' into x86/core commit 5c05917e7fe313a187ad6ebb94c1c6cf42862a0b Author: Yinghai Lu Date: Thu Jul 24 17:29:40 2008 -0700 x86: usb debug port early console, v4 based on work from Eric, and add some timeout so don't dead loop when debug device is not installed v2: fix checkpatch warning v3: move ehci struct def to linux/usrb/ehci_def.h from host/ehci.h also add CONFIG_EARLY_PRINTK_DBGP to disable it by default v4: address comments from Ingo, seperate ehci reg def moving to another patch also add auto detect port that connect to debug device for Nvidia southbridge Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Andi Kleen Cc: "Arjan van de Ven" Cc: "Eric W. Biederman" Cc: "Greg KH" Signed-off-by: Ingo Molnar commit 0af36739af81f152cc24a0fdfa0754ef657afe3d Author: Yinghai Lu Date: Thu Jul 24 17:27:57 2008 -0700 usb: move ehci reg def prepare x86: usb debug port early console move ehci struct def to linux/usrb/ehci_def.h from host/ehci.h Signed-off-by: Yinghai Lu Acked-by: David Brownell Cc: Andrew Morton Cc: Andi Kleen Cc: "Arjan van de Ven" Cc: "Eric W. Biederman" Cc: "Greg KH" Signed-off-by: Ingo Molnar commit 17f3ab748e3ee8a0af069e53b93e1487cf44aecc Author: Joerg Roedel Date: Fri Jul 25 16:48:59 2008 +0200 x86: convert discontig_32.c from round_up to roundup Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit be3e89ee6df8607356f705901dd90bcf3836c86e Author: Joerg Roedel Date: Fri Jul 25 16:48:58 2008 +0200 x86: convert numa_64.c from round_up to roundup Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit d86bb0dac792c6a9c92944b6db2687980c808094 Author: Joerg Roedel Date: Fri Jul 25 16:48:57 2008 +0200 x86: convert init_64.c from round_up to roundup Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit 15ae2d76ceb037a1e3fcd8fc9b4fe3177f9f3831 Author: Joerg Roedel Date: Fri Jul 25 16:48:56 2008 +0200 x86: convert pageattr.c from round_up to roundup Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit 1ddb5518052e4e28ab489237443f7443b3fd69ca Author: Joerg Roedel Date: Fri Jul 25 16:48:55 2008 +0200 x86: convert pci-dma.c from round_up to roundup Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit bda307ed7bdc160fcf1475a49f6c2e796fcb1294 Merge: 0791e13... 024e8ac... Author: Ingo Molnar Date: Sat Jul 26 15:38:48 2008 +0200 Merge branch 'linus' into x86/cleanups commit 1503af661947b7a4a09355cc2ae6aa0d43f16776 Merge: a318631... 024e8ac... Author: Ingo Molnar Date: Sat Jul 26 15:30:40 2008 +0200 Merge branch 'linus' into x86/header-guards Conflicts: include/asm-x86/gpio.h include/asm-x86/ide.h Signed-off-by: Ingo Molnar commit 6852fd9b86d05063c6ef49d2e12e061cc7f6a105 Author: Robert Richter Date: Tue Jul 22 21:09:08 2008 +0200 x86/oprofile: reanaming op_model_athlon.c to op_model_amd.c Signed-off-by: Robert Richter Cc: oprofile-list Cc: Barry Kasindorf Signed-off-by: Ingo Molnar commit bd17b625c09d1ed14c4d98604186b0bbb314f6b2 Author: Robert Richter Date: Tue Jul 22 21:09:07 2008 +0200 oprofile: fix printk in cpu_buffer.c Signed-off-by: Robert Richter Cc: oprofile-list Cc: Robert Richter Cc: Barry Kasindorf Signed-off-by: Ingo Molnar commit 852402cc27bfa1200164e9e8dc7f6e5f0a4fbd46 Author: Robert Richter Date: Tue Jul 22 21:09:06 2008 +0200 x86/oprofile: add CONFIG_OPROFILE_IBS option Signed-off-by: Robert Richter Cc: oprofile-list Cc: Robert Richter Cc: Barry Kasindorf Signed-off-by: Ingo Molnar commit 6aa360e6c16c145edf1837690e0f7aaea6b86ef3 Author: Robert Richter Date: Wed Jul 23 15:28:14 2008 +0200 x86: apic: changing export symbols to *_GPL This fits better here. Signed-off-by: Robert Richter Cc: Arjan van de Ven Cc: Barry Kasindorf Cc: oprofile-list Signed-off-by: Ingo Molnar commit 09691616850b3614dfb44790e1e1419b6a7f5d13 Author: Robert Richter Date: Tue Jul 22 21:09:05 2008 +0200 x86: apic: export symbols for extended interrupt LVT functions This patch adds EXPORT_SYMBOLs to allow OProfile to be built as module. Cc: Arjan van de Ven Signed-off-by: Robert Richter Cc: oprofile-list Cc: Arjan van de Ven Cc: Barry Kasindorf Signed-off-by: Ingo Molnar commit 543a157bbdfae8eb997506031c3b2d4d17957098 Author: Robert Richter Date: Tue Jul 22 21:09:04 2008 +0200 x86/oprofile: op_model_athlon.c: fix counter reset when reenabling IBS OP Signed-off-by: Robert Richter Cc: oprofile-list Cc: Barry Kasindorf Signed-off-by: Ingo Molnar commit 87f0baccc2e4f194c931186d3c8499314494a484 Author: Robert Richter Date: Tue Jul 22 21:09:03 2008 +0200 x86/oprofile: macro definition cleanup in op_model_athlon.c Signed-off-by: Robert Richter Cc: oprofile-list Cc: Barry Kasindorf Signed-off-by: Ingo Molnar commit a4c408a41167949f820e2740e56a8f2f7bb6177c Author: Robert Richter Date: Tue Jul 22 21:09:02 2008 +0200 OProfile: fix IBS build error for UP Signed-off-by: Robert Richter Cc: oprofile-list Cc: Barry Kasindorf Signed-off-by: Ingo Molnar commit 270d3e1a10e6ef85d5a085377e01d91dbcbe3726 Author: Robert Richter Date: Tue Jul 22 21:09:01 2008 +0200 OProfile: enable IBS for AMD CPUs Signed-off-by: Robert Richter Cc: oprofile-list Cc: Barry Kasindorf Signed-off-by: Ingo Molnar commit fc2bd7345b4e006a34c2ea3711d8c6b83cba50f7 Author: Robert Richter Date: Tue Jul 22 21:09:00 2008 +0200 OProfile: fix setup_ibs_files() function interface Signed-off-by: Robert Richter Cc: oprofile-list Cc: Barry Kasindorf Signed-off-by: Ingo Molnar commit ebb535de267386f659e0348185b1e361dbba3b59 Author: Robert Richter Date: Tue Jul 22 21:08:59 2008 +0200 OProfile: on_each_cpu(): kill unused retry parameter Signed-off-by: Robert Richter Cc: oprofile-list Cc: Barry Kasindorf Signed-off-by: Ingo Molnar commit 90645700ef8393cd9cdc02d83da36726fc88f49e Author: Robert Richter Date: Tue Jul 22 21:08:58 2008 +0200 OProfile: Fix build error in op_model_athlon.c Signed-off-by: Robert Richter Cc: oprofile-list Cc: Barry Kasindorf Signed-off-by: Ingo Molnar commit 7d77f2dcae37cf232950cd0181fb0a2cddb18130 Author: Robert Richter Date: Tue Jul 22 21:08:57 2008 +0200 OProfile: change IBS interrupt initialization Signed-off-by: Robert Richter Cc: oprofile-list Cc: Barry Kasindorf Signed-off-by: Ingo Molnar commit 7939d2bf7e30353d40d14f967b7fe2b2a7be5bd9 Author: Robert Richter Date: Tue Jul 22 21:08:56 2008 +0200 x86/oprofile: separating the IBS handler Signed-off-by: Robert Richter Cc: oprofile-list Cc: Barry Kasindorf Signed-off-by: Ingo Molnar commit 56784f11df473b4c1d9d0e37777fd7c0b77b6bca Author: Barry Kasindorf Date: Tue Jul 22 21:08:55 2008 +0200 x86/oprofile: add IBS support for AMD CPUs, model specific code This patchset supports the new profiling hardware available in the latest AMD CPUs in the oProfile driver. Signed-off-by: Barry Kasindorf Signed-off-by: Robert Richter Cc: oprofile-list Signed-off-by: Ingo Molnar commit 345c25730d085c45622ac779da4dbd97dc3a10fe Author: Barry Kasindorf Date: Tue Jul 22 21:08:54 2008 +0200 x86/oprofile: add IBS support for AMD CPUs, IBS buffer handling routines This patchset supports the new profiling hardware available in the latest AMD CPUs in the oProfile driver. Signed-off-by: Barry Kasindorf Signed-off-by: Robert Richter Cc: oprofile-list Signed-off-by: Ingo Molnar commit ee648bc77f11b57d15a68d336fc30e343198f893 Author: Robert Richter Date: Tue Jul 22 21:08:53 2008 +0200 OProfile: add IBS code macros Signed-off-by: Robert Richter Cc: oprofile-list Cc: Barry Kasindorf Signed-off-by: Ingo Molnar commit 5e11f98dcebc40c9d67e8d21a5f47248444c17a8 Author: Robert Richter Date: Tue Jul 22 21:08:52 2008 +0200 OProfile: moving increment_tail() in buffer_sync.c Signed-off-by: Robert Richter Cc: oprofile-list Cc: Barry Kasindorf Signed-off-by: Ingo Molnar commit 73185e0a5d11d729d451692034fbe55a9eba7468 Author: Robert Richter Date: Tue Jul 22 21:08:51 2008 +0200 drivers/oprofile: coding style fixes in buffer_sync.c Signed-off-by: Robert Richter Cc: oprofile-list Cc: Barry Kasindorf Signed-off-by: Ingo Molnar commit 6657fe4f5650ff7174d418d4bfa50c4640e81a2b Author: Robert Richter Date: Tue Jul 22 21:08:50 2008 +0200 x86/oprofile: renaming athlon_*() into op_amd_*() These functions contain code for all AMD CPUs. The new names fit better. Signed-off-by: Robert Richter Cc: oprofile-list Cc: Barry Kasindorf Signed-off-by: Ingo Molnar commit dfa154289701ed315909b4e371a0381c52c8bdc9 Author: Robert Richter Date: Tue Jul 22 21:08:49 2008 +0200 x86/oprofile: Minor changes in op_model_athlon.c Signed-off-by: Robert Richter Cc: oprofile-list Cc: Barry Kasindorf Signed-off-by: Ingo Molnar commit adf5ec0bca553b763a6b9baed2677a4c7470025b Author: Robert Richter Date: Tue Jul 22 21:08:48 2008 +0200 x86/oprofile: introduce model specific init/exit functions This patch implements model specific OProfile init/exit functions for x86 CPUs. Though there is more rework needed at the initialization code, this new introduced functions allow it to keep model specific code in the corresponding op_model_*.c files. The function interface is the same as for oprofile_arch_init/exit(). Signed-off-by: Robert Richter Cc: oprofile-list Signed-off-by: Ingo Molnar commit 12f2b2610e812627acf338aaf043fef20bb726ca Author: Barry Kasindorf Date: Tue Jul 22 21:08:47 2008 +0200 oprofile: Add support for AMD Family 11h This patch add support for AMD Family 11h CPUs. Signed-off-by: Barry Kasindorf Signed-off-by: Robert Richter Cc: oprofile-list Signed-off-by: Ingo Molnar commit 286f571837ba9d67625afd015366d79345abb414 Author: Robert Richter Date: Tue Jul 22 21:08:46 2008 +0200 x86: apic_*.c: add description to AMD's extended LVT functions Signed-off-by: Robert Richter Cc: oprofile-list Cc: Barry Kasindorf Signed-off-by: Ingo Molnar commit 021f8b75e78f9da67421a2c2e320e8934a90914a Author: Robert Richter Date: Tue Jul 22 21:08:45 2008 +0200 x86: add PCI IDs for AMD Barcelona PCI devices Signed-off-by: Robert Richter Cc: oprofile-list Cc: Barry Kasindorf Signed-off-by: Ingo Molnar commit 10a010f6953b5a14ba2f0be40a4fce1bea220875 Merge: 510b372... fb2e405... Author: Ingo Molnar Date: Fri Jul 25 13:08:16 2008 +0200 Merge branch 'linus' into x86/x2apic Conflicts: drivers/pci/dmar.c Signed-off-by: Ingo Molnar commit 3c9339049df5cc3a468c11de6c4101a1ea8c3d83 Author: Ingo Molnar Date: Fri Jul 25 11:32:36 2008 +0200 x86: fix ds.c build error fix: arch/x86/kernel/ds.c: In function ‘ds_allocate_buffer': arch/x86/kernel/ds.c:339: error: implicit declaration of function ‘PAGE_ALIGN' Signed-off-by: Ingo Molnar commit 0e2f65ee30eee2db054f7fd73f462c5da33ec963 Merge: da7878d... fb2e405... Author: Ingo Molnar Date: Fri Jul 25 11:37:07 2008 +0200 Merge branch 'linus' into x86/pebs Conflicts: arch/x86/Kconfig.cpu arch/x86/kernel/cpu/intel.c arch/x86/kernel/setup_64.c Signed-off-by: Ingo Molnar commit b2139aa0eec330c711c5a279db361e5ef1178e78 Author: Jaswinder Singh Date: Fri Jul 25 11:32:38 2008 +0530 X86_SMP: tlb_XX.c declare smp_invalidate_interrupt before they get used declare smp_invalidate_interrupt in asm-x86/hw_irq.h for X86_32 and X86_64 Signed-off-by: Jaswinder Singh commit 2907829cd0ffdef69083985ba28cf1cf3857c681 Author: Jaswinder Singh Date: Fri Jul 25 11:05:56 2008 +0530 X86_SMP: ipi.c declare functions before they get used move upwards for __send_IPI_shortcut and send_IPI_mask_bitmask Signed-off-by: Jaswinder Singh commit f86c99853b22576ee8dc4fa27ff6f3c0c7ce0ef8 Author: Jaswinder Singh Date: Fri Jul 25 10:52:53 2008 +0530 X86_SMP: smpboot.c declare idle_thread_array and smp_b_stepping as static Signed-off-by: Jaswinder Singh commit e7f08dfdaa82def3d685d16fdb99203cbb67ec95 Author: Jaswinder Singh Date: Fri Jul 25 10:42:26 2008 +0530 X86_SMP: smp.c declare functions before they get used declared following smp interrupts in asm-x86/hw_irq.h: smp_reschedule_interrupt, smp_call_function_interrupt, smp_call_function_single_interrupt Signed-off-by: Jaswinder Singh commit 4fe702c7e401f912c0edd294af6e37c02f451bbb Author: Jaswinder Singh Date: Fri Jul 25 10:19:27 2008 +0530 X86_32: declare pt_regs_access as unsigned long Fixed pt_regs_access to unsigned long as per X86_64 Signed-off-by: Jaswinder Singh commit 461d159694d683c9e43ead07720a3a0f17f6f060 Author: Jaswinder Singh Date: Fri Jul 25 09:19:05 2008 +0530 x86_64: Declare new_utsname in asm-x86/syscalls.h Signed-off-by: Jaswinder Singh commit d4c63ec060f3315653c0ae5bc3a7fe2419a2282f Author: Cyrill Gorcunov Date: Thu Jul 24 13:52:29 2008 +0200 x86: apic unification - merge down enable_NMI_through_LVT0 No code change on binary level. Signed-off-by: Cyrill Gorcunov Cc: macro@linux-mips.org Signed-off-by: Ingo Molnar commit 36a028de785c6e6f15ac84f8b3b087b89137ea26 Author: Cyrill Gorcunov Date: Thu Jul 24 13:52:28 2008 +0200 x86: apic unification - merge down lapic_get_maxlvt No code change on binary level. Signed-off-by: Cyrill Gorcunov Cc: macro@linux-mips.org Signed-off-by: Ingo Molnar commit 510b37258dfd61693ca6c039865c78bd996e3718 Author: Yinghai Lu Date: Tue Jul 22 13:20:22 2008 -0700 x86: move declaring x2apic_extra_bits it is for uv only Signed-off-by: Yinghai Lu Cc: Jack Steiner Cc: Suresh Siddha Signed-off-by: Ingo Molnar commit 0791e13fbb1ea4e1808d055922c3f116b924bdc9 Author: Maciej W. Rozycki Date: Mon Jul 21 01:28:43 2008 +0100 x86: fix up a comment in ack_APIC_irq() Adjust a comment in ack_APIC_irq() according to the recent removal of CONFIG_X86_GOOD_APIC. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit 32f71aff77b6470d272f80ac28f43f9601c4d140 Author: Maciej W. Rozycki Date: Mon Jul 21 00:52:49 2008 +0100 x86: PIC, L-APIC and I/O APIC debug information Dump all the PIC, local APIC and I/O APIC information at the fs_initcall() level, which is after ACPI (if used) has initialised PCI information, making the point of invocation consistent across MP-table and ACPI platforms. Remove explicit calls to print_IO_APIC() from elsewhere. Make the interface of all the functions involved consistent between 32-bit and 64-bit versions and make them all static by default by the means of a New-and-Improved(TM) __apicdebuginit() macro. Note that like print_IO_APIC() all these only output anything if "apic=debug" has been passed to the kernel through the command line. Signed-off-by: Maciej W. Rozycki Cc: Chuck Ebbert Signed-off-by: Ingo Molnar commit e0a5a5d9b006fd441e61685a051fa85d52fb172c Author: Alexander van Heukelum Date: Tue Jul 22 18:14:16 2008 +0200 x86, 64-bit, dwarf2: push pushes 8 bytes and popf pops 8 The CFI_ADJUST_CFA_OFFSET dwarf2 annotation of a push/popf pair in ret_from_fork wrongly used a value of 4. It should have been 8. Fix that. Signed-off-by: Alexander van Heukelum Cc: Andi Kleen Cc: heukelum@fastmail.fm Signed-off-by: Ingo Molnar commit d5de8841355a48f7f634a04507185eaf1f9755e3 Author: Jeremy Fitzhardinge Date: Wed Jul 23 13:28:58 2008 -0700 x86: split spinlock implementations out into their own files ftrace requires certain low-level code, like spinlocks and timestamps, to be compiled without -pg in order to avoid infinite recursion. This patch splits out the core paravirt spinlocks and the Xen spinlocks into separate files which can be compiled without -pg. Also do xen/time.c while we're about it. As a result, we can now use ftrace within a Xen domain. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 38ffbe66d59051fd9cfcfc8545f164700e2fa3bc Author: Jeremy Fitzhardinge Date: Wed Jul 23 14:21:18 2008 -0700 x86/paravirt/xen: properly fill out the ldt ops LTP testing showed that Xen does not properly implement sys_modify_ldt(). This patch does the final little bits needed to make the ldt work properly. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit a300bec952127d9a15e666b391bb35c9aecb3002 Author: Randy Dunlap Date: Tue Jul 22 09:46:13 2008 -0700 documentation: move hpet.txt to timers/ subdirectory Move hpet.txt to Documentation/timers/ subdirectory. Add 00-INDEX to Documentation/timers/ subdirectory. Signed-off-by: Randy Dunlap Cc: tglx Signed-off-by: Thomas Gleixner commit fd60b39f845aa7462453af8aed4f059b162f181f Author: Huang Weiyi Date: Wed Jul 23 22:45:01 2008 +0800 arch/x86/kernel/genx2apic_uv_x.c: Removed duplicated include Removed duplicated include file in arch/x86/kernel/genx2apic_uv_x.c. Signed-off-by: Huang Weiyi Signed-off-by: Ingo Molnar commit 05d3ed0a1fe3ea05ab9f3b8d32576a0bc2e19660 Author: Prarit Bhargava Date: Mon Jul 21 10:15:22 2008 -0400 x86, pci: iommu fix potential overflow in alloc_iommu() It is possible that alloc_iommu()'s boundary_size overflows as dma_get_seg_boundary can return 0xffffffff. In that case, further usage of boundary_size triggers a BUG_ON() in the iommu code. Signed-off-by: Prarit Bhargava Signed-off-by: Ingo Molnar commit 71e3b818431957371c7f69fa1c576d4a403c1478 Author: Jaswinder Singh Date: Wed Jul 23 17:44:00 2008 +0530 x86: mach-default/setup.c declare no_broadcast before they get used included mach_ipi.h for no_broadcast declaration fixed minor spacing for no_broadcast Signed-off-by: Jaswinder Singh commit 01eb7858c017b1c63b962f8c2ad37133383ca560 Author: Jaswinder Singh Date: Wed Jul 23 17:41:59 2008 +0530 x86: mm/pgtable_32.c declare set_pmd_pfn before they get used Signed-off-by: Jaswinder Singh commit e0b7c8192ded4c2096388008d3ca6708caa8b601 Author: Jaswinder Singh Date: Wed Jul 23 17:40:34 2008 +0530 x86: mm/pageattr.c declare arch_report_meminfo before they get used declared arch_report_meminfo() in asm-x86/pgtable.h as it will be also accessible by fs/proc/proc_misc.c Signed-off-by: Jaswinder Singh commit 4b6e9f27d0034740e9cfa341b45c229ba30ec0c5 Author: Jaswinder Singh Date: Wed Jul 23 17:39:16 2008 +0530 x86: mm/ioremap.c declare early_ioremap_debug and early_ioremap_nested as static Signed-off-by: Jaswinder Singh commit 70ef56414ec7e01d787c8e959bb259845df4ee4f Author: Jaswinder Singh Date: Wed Jul 23 17:36:37 2008 +0530 x86: mm/fault.c declare do_page_fault before they get used declared do_page_fault() in asm-x86/trap.h for both X86_32 and X86_64 removed do_invalid_op declaration from mm/fault.c as it is already declared in asm-x86/trap.h Signed-off-by: Jaswinder Singh commit a80495ec927e8ec2b1ff085592bbe9bed77ffb3b Author: Jaswinder Singh Date: Wed Jul 23 17:33:57 2008 +0530 x86: mm/init_XX.c declare functions before they get used included in mm/init_32.c for zap_low_mappings() declared free_initmem() in asm-x86/page_XX.h Signed-off-by: Jaswinder Singh commit 8f7db5186cf126b56035d9a9735774d751090d66 Author: Jaswinder Singh Date: Wed Jul 23 17:31:02 2008 +0530 x86: vm86_32.c declare functions before they get used declared following syscalls in asm-x86/syscalls.h: sys_vm86old, sys_vm86 Signed-off-by: Jaswinder Singh commit 2b97df06ce44b1d145bd1299f50765803c2fabee Author: Jaswinder Singh Date: Wed Jul 23 17:13:14 2008 +0530 x86: apic_XX.c declare functions before they get used declared following smp interrupts in asm-x86/hw_irq.h: smp_apic_timer_interrupt, smp_spurious_interrupt, smp_error_interrupt Signed-off-by: Jaswinder Singh commit a31863168660c6b6f6c7ffe05bb6a38e97803326 Author: Vegard Nossum Date: Tue Jul 22 21:53:53 2008 +0200 x86: consolidate header guards This patch consolidates the header guard names which are also used externally, i.e. in .c files. Signed-off-by: Vegard Nossum commit a021e5124a6c57325ffb02a60cd1d5f40342f8aa Author: H. Peter Anvin Date: Tue Jul 22 15:33:57 2008 -0400 x86: doc: boot.txt: fix the size of the start_sys field The start_sys field is two bytes, not four. Signed-off-by: H. Peter Anvin commit 5616c23ad9cd3c50af674d408fef7b90abeee81c Author: H. Peter Anvin Date: Tue Jul 22 15:32:38 2008 -0400 x86: doc: move x86-generic documentation from Doc/x86/i386 The boot protocol, USB legacy support, and zero-page documentation is common to the x86 platform, not i386-specific. Signed-off-by: H. Peter Anvin commit 77ef50a522717fa040636ee1017179ceba12ff62 Author: Vegard Nossum Date: Wed Jun 18 17:08:48 2008 +0200 x86: consolidate header guards This patch is the result of an automatic script that consolidates the format of all the headers in include/asm-x86/. The format: 1. No leading underscore. Names with leading underscores are reserved. 2. Pathname components are separated by two underscores. So we can distinguish between mm_types.h and mm/types.h. 3. Everything except letters and numbers are turned into single underscores. Signed-off-by: Vegard Nossum commit a656c8efb40a8700046df20da2195f8aa39ce38a Author: Vegard Nossum Date: Tue Jul 22 21:27:11 2008 +0200 x86: fix spurious '#' in kvm header Signed-off-by: Vegard Nossum commit df1be4372eae5f104b7fb4991bc4b35f00b11a11 Author: Suresh Siddha Date: Tue Jul 22 10:13:11 2008 -0400 x64, apic: use generic apic_write() for ack_APIC_irq() I tested tip/master and found an issue (patch attached) for x2apic support. This is not because of the recent merges we had, but because of something(where we still access memory based interface after enabling x2apic mode) that slipped through my earlier tests. Probably it is a good idea to unmap the memory mapped interface, once we switch to x2apic mode. That will catch the issues much earlier. I will post another patch for this. ack_APIC_irq() is used at too many generic places (and not just during irq_chip handling!) to use the native_apic_mem_write(). For ex, this will break x2apic based systems. Fix ack_APIC_irq() to use the generic apic_write() even for 64-bit. Signed-off-by: Suresh Siddha Cc: suresh.b.siddha@intel.com Cc: yong.y.wang@linux.intel.com Signed-off-by: Ingo Molnar commit 1e84911c6c37fd1080ef07039e19c346628b31db Author: Jaswinder Singh Date: Mon Jul 21 22:58:29 2008 +0530 x86: mtrr/main.c declare range_state as static Signed-off-by: Jaswinder Singh commit 8fd329a1ac696973ba5467c510302ae1248cc11a Author: Jaswinder Singh Date: Mon Jul 21 22:54:56 2008 +0530 x86: common.c declare idle_regs before they get used Signed-off-by: Jaswinder Singh commit 1c6c727d9c12c84a612abe31b60948f06fc2ab2d Author: Jaswinder Singh Date: Mon Jul 21 22:40:37 2008 +0530 x86: proc.c declare cpuinfo_op before they get used Signed-off-by: Jaswinder Singh commit c1686aeaf0780055ffcd4b224b73d5ada77630e8 Author: Jaswinder Singh Date: Mon Jul 21 22:35:38 2008 +0530 x86: ptrace.c declare functions before they get used Signed-off-by: Jaswinder Singh commit 36454936c00c700ae86b5ff376d3c1c1a862c4f5 Author: Jaswinder Singh Date: Mon Jul 21 22:31:57 2008 +0530 x86: i387.c declare dump_fpu() before they get used Signed-off-by: Jaswinder Singh commit 791b897ccd1a2c6c184b88ca6d1aaf053499c3df Author: Jaswinder Singh Date: Mon Jul 21 22:28:22 2008 +0530 x86: pci-nommu.c declare nommu_dma_ops before they get used Signed-off-by: Jaswinder Singh commit 9321b8cbbbf3a8dbd4748e3722facaeb8401bd13 Author: Jaswinder Singh Date: Mon Jul 21 22:24:29 2008 +0530 x86: pci-dma.c declare iommu_bio_merge before they get used moved iommu_bio_merge from io_64.h to io.h because it is required for both. Signed-off-by: Jaswinder Singh commit a7b7511ac1404eaf0e7b6c445a7c61b48ccfcf0b Author: Jaswinder Singh Date: Mon Jul 21 22:19:29 2008 +0530 x86: e820.c declare pci_mem_start before they get used Signed-off-by: Jaswinder Singh commit 5314d48ed54c1a0111c597d1510f77850a1b3232 Author: Jaswinder Singh Date: Mon Jul 21 22:12:23 2008 +0530 x86: setup.c declare saved_video_mode before they get used Signed-off-by: Jaswinder Singh commit cc0384917bf69079088701a0725c5fc6b554bf35 Author: Jaswinder Singh Date: Mon Jul 21 21:52:51 2008 +0530 x86: time_XX.c declare functions before they get used Declare time_init() in asm-x86/time.h Also did cleanup in asm-x86/timer.h : timer_ack is only required for X86_32 int recalibrate_cpu_khz(void) is for X86_32 Signed-off-by: Jaswinder Singh commit b994b6c0332a5499b33880855dadad04d74cde54 Author: Jaswinder Singh Date: Mon Jul 21 21:37:52 2008 +0530 x86: signal_XX.c declare do_notify_resume before they get used Signed-off-by: Jaswinder Singh commit fb26132b441e75d6ba9996efc29b42081aee0abd Author: Jaswinder Singh Date: Mon Jul 21 21:36:40 2008 +0530 x86: process_32.c declare cpu_number before they get used Moved DECLARE_PER_CPU(int, cpu_number) from CONFIG_X86_32_SMP to CONFIG_X86_32 because cpu_number is required for both. And include asm/smp.h in process_32.c Signed-off-by: Jaswinder Singh commit bbc1f698a508927d21324b57500e863f9bd562b9 Author: Jaswinder Singh Date: Mon Jul 21 21:34:13 2008 +0530 x86: Introducing asm/syscalls.h Declaring arch-dependent syscalls for x86 architecture Signed-off-by: Jaswinder Singh commit 026e2c05ef58ef413e2d52696f125d5ea1aa8bce Author: Ingo Molnar Date: Tue Jul 22 11:58:14 2008 +0200 x86, cyrix: debug Signed-off-by: Ingo Molnar commit 1b9b89e7f163336ad84200b66a17284dbf26aced Author: Yinghai Lu Date: Mon Jul 21 22:08:21 2008 -0700 x86: add apic probe for genapic 64bit, v2 introducing an APIC handling probing abstraction: static struct genapic *apic_probe[] __initdata = { &apic_x2apic_uv_x, &apic_x2apic_phys, &apic_x2apic_cluster, &apic_physflat, NULL, }; This way we can remove UV, x2apic specific code from genapic_64.c and move them to their specific genapic files. [ v2: fix compiling when CONFIG_ACPI is not set ] Signed-off-by: Yinghai Lu Cc: Jack Steiner Cc: Suresh Siddha Signed-off-by: Ingo Molnar commit 76c3bb15d6786a0b8da0ad0090e0c9c3672fc08b Merge: 7be4200... 93ded9b... Author: Ingo Molnar Date: Tue Jul 22 09:06:21 2008 +0200 Merge branch 'linus' into x86/x2apic commit 1cd2224cd01898a13138f4ab476932cfb689839e Author: Matthew Ranostay Date: Fri Jul 18 18:20:52 2008 +0200 ALSA: hda: digital pc-beep support hd-audio codecs Added digital pc-beep support using linear tone generation for hd-codecs along with initial support for several IDT codecs. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 68c072388d2339af504c033a51886ea7c6b8d806 Author: Rene Herman Date: Tue Jul 15 16:24:50 2008 +0200 ALSA: re-order AC97 codec ID table. Signed-off-by: Rene Herman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7be42004065ce4df193aeef5befd26805267d0d9 Author: Ingo Molnar Date: Sun Jul 20 17:04:57 2008 +0200 x86, lguest: fix apic_ops build on UP fix: arch/x86/lguest/boot.c:816: error: variable ‘lguest_basic_apic_ops’ has initializer but incomplete type arch/x86/lguest/boot.c:817: error: unknown field ‘read’ specified in initializer [...] Signed-off-by: Ingo Molnar commit caf43bf7c6a55e89b6df5179df434d67e24aa32e Author: Ingo Molnar Date: Sun Jul 20 14:06:50 2008 +0200 x86, xen: fix apic_ops build on UP fix: arch/x86/xen/enlighten.c:615: error: variable ‘xen_basic_apic_ops’ has initializer but incomplete type arch/x86/xen/enlighten.c:616: error: unknown field ‘read’ specified in initializer [...] Signed-off-by: Ingo Molnar commit f586bf7df9acc26b68b0feefc0dd32fa63516d3a Author: Suresh Siddha Date: Fri Jul 18 15:58:35 2008 -0700 x86: APIC: Remove apic_write_around(); use alternatives, merge fix On Fri, Jul 18, 2008 at 02:03:48PM -0700, Ingo Molnar wrote: > > * Yinghai Lu wrote: > > > > git merge tip/x86/x2apic > > CONFLICT (content): Merge conflict in arch/x86/kernel/Makefile > > CONFLICT (content): Merge conflict in arch/x86/kernel/paravirt.c > > CONFLICT (content): Merge conflict in arch/x86/kernel/smpboot.c > > CONFLICT (content): Merge conflict in arch/x86/kernel/vmi_32.c > > CONFLICT (content): Merge conflict in arch/x86/xen/enlighten.c > > CONFLICT (content): Merge conflict in include/asm-x86/apic.h > > CONFLICT (content): Merge conflict in include/asm-x86/paravirt.h > > that's due to the changes in tip/x86/apic and in tip/x86/uv. > > ok, i've just merged x86/apic into x86/x2apic and x86/uv as well, and > pushed out the result. > > Note: it's a first raw merge and completely untested. It will now merge > cleanly into tip/master. There are probably a few details missing. Ingo, thanks for doing this. While I was testing my merge changes, you posted yours... anyhow we need this piece, which is missing from your merge. Signed-off-by: Suresh Siddha Cc: Yinghai Lu Cc: "Maciej W. Rozycki" Cc: Jeremy Fitzhardinge Cc: Zachary Amsden Signed-off-by: Ingo Molnar commit 9553e11325e3d44a8c8a1428c7e5f146f1cc7238 Merge: 453c140... 7019cc2... Author: Ingo Molnar Date: Fri Jul 18 23:01:04 2008 +0200 Merge branch 'x86/uv' into x86/x2apic Conflicts: arch/x86/kernel/Makefile Signed-off-by: Ingo Molnar commit 453c1404c5273a30d715e5a83372a78cff70b6d9 Merge: a208f37... 35b6805... Author: Ingo Molnar Date: Fri Jul 18 23:00:05 2008 +0200 Merge branch 'x86/apic' into x86/x2apic Conflicts: arch/x86/kernel/paravirt.c arch/x86/kernel/smpboot.c arch/x86/kernel/vmi_32.c arch/x86/lguest/boot.c arch/x86/xen/enlighten.c include/asm-x86/apic.h include/asm-x86/paravirt.h Signed-off-by: Ingo Molnar commit a208f37a465e222218974ab20a31b42b7b4893b2 Merge: 511d9d3... 5b664cb... Author: Ingo Molnar Date: Fri Jul 18 22:50:34 2008 +0200 Merge branch 'linus' into x86/x2apic commit 511d9d34183662aada3890883e860b151d707e22 Author: Suresh Siddha Date: Mon Jul 14 09:49:14 2008 -0700 x86: apic_ops for lguest apic_ops for lguest. Signed-off-by: Suresh Siddha Acked-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 9a8f0e6b5dfe3b4f330fc82b16a4000f5688fce8 Author: Suresh Siddha Date: Fri Jul 18 09:59:40 2008 -0700 x86: let 32bit use apic_ops too - fix Fix VMI apic_ops. Signed-off-by: Suresh Siddha Acked-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 5127bed588a2f8f3a1f732de2a8a190b7df5dce3 Author: Lai Jiangshan Date: Sun Jul 6 17:23:59 2008 +0800 rcu classic: new algorithm for callbacks-processing(v2) This is v2, it's a little deference from v1 that I had send to lkml. use ACCESS_ONCE use rcu_batch_after/rcu_batch_before for batch # comparison. rcutorture test result: (hotplugs: do cpu-online/offline once per second) No CONFIG_NO_HZ: OK, 12hours No CONFIG_NO_HZ, hotplugs: OK, 12hours CONFIG_NO_HZ=y: OK, 24hours CONFIG_NO_HZ=y, hotplugs: Failed. (Failed also without my patch applied, exactly the same bug occurred, http://lkml.org/lkml/2008/7/3/24) v1's email thread: http://lkml.org/lkml/2008/6/2/539 v1's description: The code/algorithm of the implement of current callbacks-processing is very efficient and technical. But when I studied it and I found a disadvantage: In multi-CPU systems, when a new RCU callback is being queued(call_rcu[_bh]), this callback will be invoked after the grace period for the batch with batch number = rcp->cur+2 has completed very very likely in current implement. Actually, this callback can be invoked after the grace period for the batch with batch number = rcp->cur+1 has completed. The delay of invocation means that latency of synchronize_rcu() is extended. But more important thing is that the callbacks usually free memory, and these works are delayed too! it's necessary for reclaimer to free memory as soon as possible when left memory is few. A very simple way can solve this problem: a field(struct rcu_head::batch) is added to record the batch number for the RCU callback. And when a new RCU callback is being queued, we determine the batch number for this callback(head->batch = rcp->cur+1) and we move this callback to rdp->donelist if we find that head->batch <= rcp->completed when we process callbacks. This simple way reduces the wait time for invocation a lot. (about 2.5Grace Period -> 1.5Grace Period in average in multi-CPU systems) This is my algorithm. But I do not add any field for struct rcu_head in my implement. We just need to memorize the last 2 batches and their batch number, because these 2 batches include all entries that for whom the grace period hasn't completed. So we use a special linked-list rather than add a field. Please see the comment of struct rcu_data. Signed-off-by: Lai Jiangshan Cc: "Paul E. McKenney" Cc: Dipankar Sarma Cc: Gautham Shenoy Cc: Dhaval Giani Cc: Peter Zijlstra Signed-off-by: Ingo Molnar commit 3cac97cbb14aed00d83eb33d4613b0fe3aaea863 Author: Lai Jiangshan Date: Sun Jul 6 17:23:55 2008 +0800 rcu classic: simplify the next pending batch use a batch number(rcp->pending) instead of a flag(rcp->next_pending) rcu_start_batch() need to change this flag, so mb()s is needed for memory-access safe. but(after this patch applied) rcu_start_batch() do not change this batch number(rcp->pending), rcp->pending is managed by __rcu_process_callbacks only, and troublesome mb()s are eliminated. And codes look simpler and clearer. Signed-off-by: Lai Jiangshan Cc: "Paul E. McKenney" Cc: Dipankar Sarma Cc: Gautham Shenoy Cc: Dhaval Giani Cc: Peter Zijlstra Signed-off-by: Ingo Molnar commit 94a8c3c2437c8946f1b6c8e0b2c560a7db8ed3c6 Author: Yinghai Lu Date: Sun Jul 13 22:19:35 2008 -0700 x86: let 32bit use apic_ops too - fix fix for pv - clean up the namespace there too. Signed-off-by: Yinghai Lu Cc: Suresh Siddha Signed-off-by: Ingo Molnar commit f910a9dc7c865896815e2a95fe33363e9522f277 Author: Yinghai Lu Date: Sat Jul 12 01:01:20 2008 -0700 x86: make 64bit have get_apic_id generalize the x2apic code some more. let read_apic_id become a macro (later on a function/inline) GET_APIC_ID(apic_read(APIC_ID)) +#define read_apic_id() (GET_APIC_ID(apic_read(APIC_ID))) instead of this weird construct: -#define read_apic_id (genapic->read_apic_id) Signed-off-by: Yinghai Lu Cc: Suresh Siddha Signed-off-by: Ingo Molnar commit 4c9961d56ec20c27ec5d02e49fd7427748312741 Author: Yinghai Lu Date: Fri Jul 11 18:44:16 2008 -0700 x86: make read_apic_id return final apicid also remove GET_APIC_ID when read_apic_id is used. need to apply after [PATCH] x86: mach_apicdef.h need to include before smp.h Signed-off-by: Yinghai Lu Cc: Suresh Siddha Signed-off-by: Ingo Molnar commit 4696ca5bfd2697f5686f96d59cf0b6de14869b4e Author: Yinghai Lu Date: Fri Jul 11 18:43:10 2008 -0700 x86: mach_apicdef.h need to include before smp.h smp.h internal has include, so need to include that at first when genericarch use them need to have different apicdef.h Signed-off-by: Yinghai Lu Cc: Suresh Siddha Signed-off-by: Ingo Molnar commit c535b6a1a685eb23f96e2c221777d6c1e05080d5 Author: Yinghai Lu Date: Fri Jul 11 18:41:54 2008 -0700 x86: let 32bit use apic_ops too Signed-off-by: Yinghai Lu Cc: Suresh Siddha Signed-off-by: Ingo Molnar commit af9d13887f9e3699bbc852c39b076d30bb9dff2f Author: Suresh Siddha Date: Fri Jul 11 13:11:57 2008 -0700 x2apic: kernel-parameter documentation for "x2apic_phys" Signed-off-by: Suresh Siddha Cc: akpm@linux-foundation.org Signed-off-by: Ingo Molnar commit ad66dd340f561bdde2285992314d9e4fd9b6191e Author: Suresh Siddha Date: Fri Jul 11 13:11:56 2008 -0700 x2apic: xen64 paravirt basic apic ops Define the Xen specific basic apic ops, in additon to paravirt apic ops, with some misc warning fixes. Signed-off-by: Suresh Siddha Cc: Jeremy Fitzhardinge Cc: akpm@linux-foundation.org Signed-off-by: Ingo Molnar commit 277d1f5846d84e16760131a93b7a67ebfa8eded4 Author: Suresh Siddha Date: Fri Jul 11 13:11:55 2008 -0700 x2apic: uninline uv_init_apic_ldr() Andrew says: > There's no point in declaring it inline if it's always called indirectly. And point taken! Signed-off-by: Suresh Siddha Cc: akpm@linux-foundation.org Signed-off-by: Ingo Molnar commit 372e92d8b3e433888bf76c36f1c7e1405eae1584 Author: Suresh Siddha Date: Thu Jul 10 14:56:18 2008 -0700 x64, x2apic/intr-remap: Interrupt-remapping and x2apic support On Thu, Jul 10, 2008 at 12:53:20PM -0700, Ingo Molnar wrote: > > Btw., i threw it at the -tip test-cluster and got back a quick build > bugreport: > > arch/x86/xen/enlighten.c: In function 'xen_patch': > arch/x86/xen/enlighten.c:1084: warning: label 'patch_site' defined but not used > arch/x86/xen/enlighten.c: At top level: > arch/x86/xen/enlighten.c:1272: error: expected identifier before '(' token > arch/x86/xen/enlighten.c:1273: error: expected '}' before '.' token > arch/x86/kernel/paravirt.c:376:2: error: invalid preprocessing directive > #ifndedarch/x86/kernel/paravirt.c:384:2: error: #endif without #if > > with this config: > > http://redhat.com/~mingo/misc/config-Thu_Jul_10_21_43_28_CEST_2008.bad fix the typo. Signed-off-by: Suresh Siddha Cc: "Siddha Cc: Suresh B" Cc: "akpm@linux-foundation.org" Cc: "arjan@linux.intel.com" Cc: "andi@firstfloor.org" Cc: "ebiederm@xmission.com" Cc: "jbarnes@virtuousgeek.org" Cc: "steiner@sgi.com" Cc: jeremy@goop.org Signed-off-by: Ingo Molnar commit 9fa8c481b55e80edd8c637573f87853bb6b600f5 Author: Suresh Siddha Date: Thu Jul 10 11:17:00 2008 -0700 x64, x2apic/intr-remap: introduce CONFIG_INTR_REMAP Signed-off-by: Suresh Siddha Cc: akpm@linux-foundation.org Cc: arjan@linux.intel.com Cc: andi@firstfloor.org Cc: ebiederm@xmission.com Cc: jbarnes@virtuousgeek.org Cc: steiner@sgi.com Signed-off-by: Ingo Molnar commit 2d9579a124d746a3e0e0ba45e57d80800ee80807 Author: Suresh Siddha Date: Thu Jul 10 11:16:59 2008 -0700 x64, x2apic/intr-remap: support for x2apic physical mode support x2apic Physical mode support. By default we will use x2apic cluster mode. x2apic physical mode can be selected using "x2apic_phys" boot parameter. Signed-off-by: Suresh Siddha Cc: akpm@linux-foundation.org Cc: arjan@linux.intel.com Cc: andi@firstfloor.org Cc: ebiederm@xmission.com Cc: jbarnes@virtuousgeek.org Cc: steiner@sgi.com Signed-off-by: Ingo Molnar commit 6e1cb38a2aef7680975e71f23de187859ee8b158 Author: Suresh Siddha Date: Thu Jul 10 11:16:58 2008 -0700 x64, x2apic/intr-remap: add x2apic support, including enabling interrupt-remapping x2apic support. Interrupt-remapping must be enabled before enabling x2apic, this is needed to ensure that IO interrupts continue to work properly after the cpu mode is changed to x2apic(which uses 32bit extended physical/cluster apic id). On systems where apicid's are > 255, BIOS can handover the control to OS in x2apic mode. Or if the OS handover was in legacy xapic mode, check if it is capable of x2apic mode. And if we succeed in enabling Interrupt-remapping, then we can enable x2apic mode in the CPU. Signed-off-by: Suresh Siddha Cc: akpm@linux-foundation.org Cc: arjan@linux.intel.com Cc: andi@firstfloor.org Cc: ebiederm@xmission.com Cc: jbarnes@virtuousgeek.org Cc: steiner@sgi.com Signed-off-by: Ingo Molnar commit 75c46fa61bc5b4ccd20a168ff325c58771248fcd Author: Suresh Siddha Date: Thu Jul 10 11:16:57 2008 -0700 x64, x2apic/intr-remap: MSI and MSI-X support for interrupt remapping infrastructure MSI and MSI-X support for interrupt remapping infrastructure. MSI address register will be programmed with interrupt-remapping table entry(IRTE) index and the IRTE will contain information about the vector, cpu destination, etc. For MSI-X, all the IRTE's will be consecutively allocated in the table, and the address registers will contain the starting index to the block and the data register will contain the subindex with in that block. This also introduces a new irq_chip for cleaner irq migration (in the process context as opposed to the current irq migration in the context of an interrupt. interrupt-remapping infrastructure will help us achieve this). As MSI is edge triggered, irq migration is a simple atomic update(of vector and cpu destination) of IRTE and flushing the hardware cache. Signed-off-by: Suresh Siddha Cc: akpm@linux-foundation.org Cc: arjan@linux.intel.com Cc: andi@firstfloor.org Cc: ebiederm@xmission.com Cc: jbarnes@virtuousgeek.org Cc: steiner@sgi.com Signed-off-by: Ingo Molnar commit 89027d35aa5b8f45ce0f7fa0911db85b46563da0 Author: Suresh Siddha Date: Thu Jul 10 11:16:56 2008 -0700 x64, x2apic/intr-remap: IO-APIC support for interrupt-remapping IO-APIC support in the presence of interrupt-remapping infrastructure. IO-APIC RTE will be programmed with interrupt-remapping table entry(IRTE) index and the IRTE will contain information about the vector, cpu destination, trigger mode etc, which traditionally was present in the IO-APIC RTE. Introduce a new irq_chip for cleaner irq migration (in the process context as opposed to the current irq migration in the context of an interrupt. interrupt-remapping infrastructure will help us achieve this cleanly). For edge triggered, irq migration is a simple atomic update(of vector and cpu destination) of IRTE and flush the hardware cache. For level triggered, we need to modify the io-apic RTE aswell with the update vector information, along with modifying IRTE with vector and cpu destination. So irq migration for level triggered is little bit more complex compared to edge triggered migration. But the good news is, we use the same algorithm for level triggered migration as we have today, only difference being, we now initiate the irq migration from process context instead of the interrupt context. In future, when we do a directed EOI (combined with cpu EOI broadcast suppression) to the IO-APIC, level triggered irq migration will also be as simple as edge triggered migration and we can do the irq migration with a simple atomic update to IO-APIC RTE. TBD: some tests/changes needed in the presence of fixup_irqs() for level triggered irq migration. Signed-off-by: Suresh Siddha Cc: akpm@linux-foundation.org Cc: arjan@linux.intel.com Cc: andi@firstfloor.org Cc: ebiederm@xmission.com Cc: jbarnes@virtuousgeek.org Cc: steiner@sgi.com Signed-off-by: Ingo Molnar commit 5c520a6724e912a7e6153b7597192edad6752750 Author: Suresh Siddha Date: Thu Jul 10 11:16:55 2008 -0700 x64, x2apic/intr-remap: setup init_apic_ldr for UV Signed-off-by: Suresh Siddha Signed-off-by: Jack Steiner Cc: akpm@linux-foundation.org Cc: arjan@linux.intel.com Cc: andi@firstfloor.org Cc: ebiederm@xmission.com Cc: jbarnes@virtuousgeek.org Cc: steiner@sgi.com Signed-off-by: Ingo Molnar commit 12a67cf6851871ca8df42025c94f140c303d0f7f Author: Suresh Siddha Date: Thu Jul 10 11:16:54 2008 -0700 x64, x2apic/intr-remap: x2apic cluster mode support x2apic cluster mode support. Signed-off-by: Suresh Siddha Cc: akpm@linux-foundation.org Cc: arjan@linux.intel.com Cc: andi@firstfloor.org Cc: ebiederm@xmission.com Cc: jbarnes@virtuousgeek.org Cc: steiner@sgi.com Signed-off-by: Ingo Molnar commit cff73a6ffaed726780b001937d2a42efde553922 Author: Suresh Siddha Date: Thu Jul 10 11:16:53 2008 -0700 x64, x2apic/intr-remap: introcude self IPI to genapic routines Introduce self IPI op for genapic. Signed-off-by: Suresh Siddha Cc: akpm@linux-foundation.org Cc: arjan@linux.intel.com Cc: andi@firstfloor.org Cc: ebiederm@xmission.com Cc: jbarnes@virtuousgeek.org Cc: steiner@sgi.com Signed-off-by: Ingo Molnar commit 13c88fb58d0112d47f7839f24a755715c6218822 Author: Suresh Siddha Date: Thu Jul 10 11:16:52 2008 -0700 x64, x2apic/intr-remap: x2apic ops for x2apic mode support x2apic ops for x2apic mode support. This uses MSR interface and differs slightly from the xapic register layout. Signed-off-by: Suresh Siddha Cc: akpm@linux-foundation.org Cc: arjan@linux.intel.com Cc: andi@firstfloor.org Cc: ebiederm@xmission.com Cc: jbarnes@virtuousgeek.org Cc: steiner@sgi.com Signed-off-by: Ingo Molnar commit 1cb11583a6c4ceda7426eb36f7bf0419da8dfbc2 Author: Suresh Siddha Date: Thu Jul 10 11:16:51 2008 -0700 x64, x2apic/intr-remap: disable DMA-remapping if Interrupt-remapping is detected (temporary quirk) Interrupt-remapping enables queued invalidation. And once queued invalidation is enabled, IOTLB invalidation also needs to use the queued invalidation mechanism and the register based IOTLB invalidation doesn't work. For now, Support for IOTLB invalidation using queued invalidation is missing. Meanwhile, disable DMA-remapping, if Interrupt-remapping support is detected. For the meanwhile, if someone wants to really enable DMA-remapping, they can use nox2apic, which will disable interrupt-remapping and as such doesn't enable queued invalidation. And given that none of the release platforms support intr-remapping yet, we should be ok for this temporary hack. Signed-off-by: Suresh Siddha Cc: akpm@linux-foundation.org Cc: arjan@linux.intel.com Cc: andi@firstfloor.org Cc: ebiederm@xmission.com Cc: jbarnes@virtuousgeek.org Cc: steiner@sgi.com Signed-off-by: Ingo Molnar commit 32e1d0a0651004f5fe47f85a2a5c725ad579a90c Author: Suresh Siddha Date: Thu Jul 10 11:16:50 2008 -0700 x64, x2apic/intr-remap: cpuid bits for x2apic feature cpuid feature for x2apic. Signed-off-by: Suresh Siddha Cc: akpm@linux-foundation.org Cc: arjan@linux.intel.com Cc: andi@firstfloor.org Cc: ebiederm@xmission.com Cc: jbarnes@virtuousgeek.org Cc: steiner@sgi.com Signed-off-by: Ingo Molnar commit 1b374e4d6f8b3eb2fcd034fcc24ea8ba1dfde7aa Author: Suresh Siddha Date: Thu Jul 10 11:16:49 2008 -0700 x64, x2apic/intr-remap: basic apic ops support Introduce basic apic operations which handle the apic programming. This will be used later to introduce another specific operations for x2apic. For the perfomance critial accesses like IPI's, EOI etc, we use the native operations as they are already referenced by different indirections like genapic, irq_chip etc. 64bit Paravirt ops can also define their apic operations accordingly. Signed-off-by: Suresh Siddha Cc: akpm@linux-foundation.org Cc: arjan@linux.intel.com Cc: andi@firstfloor.org Cc: ebiederm@xmission.com Cc: jbarnes@virtuousgeek.org Cc: steiner@sgi.com Signed-off-by: Ingo Molnar commit 2d7a66d02e11af9ab8e16c76d22767e622b4e3d7 Author: Suresh Siddha Date: Fri Jul 11 14:24:19 2008 -0700 x64, x2apic/intr-remap: Interrupt-remapping and x2apic support, fix Yinghai Lu wrote: > Setting APIC routing to physical flat > Kernel panic - not syncing: Boot APIC ID in local APIC unexpected (0 vs 4) > Pid: 1, comm: swapper Not tainted 2.6.26-rc9-tip-01763-g74f94b1-dirty #320 > > Call Trace: > [] ? set_cpu_sibling_map+0x38c/0x3bd > [] ? read_xapic_id+0x25/0x3e > [] ? verify_local_APIC+0x139/0x1b9 > [] ? read_xapic_id+0x25/0x3e > [] ? native_smp_prepare_cpus+0x224/0x2e9 > [] ? kernel_init+0x64/0x341 > [] ? child_rip+0xa/0x11 > [] ? kernel_init+0x0/0x341 > [] ? child_rip+0x0/0x11 > > > guess read_apic_id changing cuase some problem... genapic's read_apic_id() returns the actual apic id extracted from the APIC_ID register. And in some cases like UV, read_apic_id() returns completely different values from APIC ID register. Use the native apic register read, rather than genapic read_apic_id() in verify_local_APIC() And also, lapic_suspend() should also use native apic register read. Reported-by: Yinghai Lu Signed-off-by: Suresh Siddha Cc: "akpm@linux-foundation.org" Cc: "arjan@linux.intel.com" Cc: "andi@firstfloor.org" Cc: "ebiederm@xmission.com" Cc: "jbarnes@virtuousgeek.org" Cc: "steiner@sgi.com" Cc: "jeremy@goop.org" Signed-off-by: Ingo Molnar commit 0c81c746f9bdbfaafe64322d540c8b7b59c27314 Author: Suresh Siddha Date: Thu Jul 10 11:16:48 2008 -0700 x64, x2apic/intr-remap: introduce read_apic_id() to genapic routines Move the read_apic_id() to genapic routines. Signed-off-by: Suresh Siddha Cc: akpm@linux-foundation.org Cc: arjan@linux.intel.com Cc: andi@firstfloor.org Cc: ebiederm@xmission.com Cc: jbarnes@virtuousgeek.org Cc: steiner@sgi.com Signed-off-by: Ingo Molnar commit 4dc2f96cacd1e74c688f94348a3bfd0a980817d5 Author: Suresh Siddha Date: Thu Jul 10 11:16:47 2008 -0700 x64, x2apic/intr-remap: ioapic routines which deal with initial io-apic RTE setup Generic ioapic specific routines which be used later during enabling interrupt-remapping. Signed-off-by: Suresh Siddha Cc: akpm@linux-foundation.org Cc: arjan@linux.intel.com Cc: andi@firstfloor.org Cc: ebiederm@xmission.com Cc: jbarnes@virtuousgeek.org Cc: steiner@sgi.com Signed-off-by: Ingo Molnar commit d94d93ca5cc36cd78c532def62772c98fe8ba5d7 Author: Suresh Siddha Date: Thu Jul 10 11:16:46 2008 -0700 x64, x2apic/intr-remap: 8259 specific mask/unmask routines 8259 specific mask/unmask routines which be used later while enabling interrupt-remapping. Signed-off-by: Suresh Siddha Cc: akpm@linux-foundation.org Cc: arjan@linux.intel.com Cc: andi@firstfloor.org Cc: ebiederm@xmission.com Cc: jbarnes@virtuousgeek.org Cc: steiner@sgi.com Signed-off-by: Ingo Molnar commit 72b1e22dfcad1daca6906148fd956ffe404bb0bc Author: Suresh Siddha Date: Thu Jul 10 11:16:45 2008 -0700 x64, x2apic/intr-remap: generic irq migration support from process context Generic infrastructure for migrating the irq from the process context in the presence of CONFIG_GENERIC_PENDING_IRQ. This will be used later for migrating irq in the presence of interrupt-remapping. Signed-off-by: Suresh Siddha Cc: akpm@linux-foundation.org Cc: arjan@linux.intel.com Cc: andi@firstfloor.org Cc: ebiederm@xmission.com Cc: jbarnes@virtuousgeek.org Cc: steiner@sgi.com Signed-off-by: Ingo Molnar commit b6fcb33ad6c05f152a672f7c96c1fab006527b80 Author: Suresh Siddha Date: Thu Jul 10 11:16:44 2008 -0700 x64, x2apic/intr-remap: routines managing Interrupt remapping table entries. Routines handling the management of interrupt remapping table entries. Signed-off-by: Suresh Siddha Cc: akpm@linux-foundation.org Cc: arjan@linux.intel.com Cc: andi@firstfloor.org Cc: ebiederm@xmission.com Cc: jbarnes@virtuousgeek.org Cc: steiner@sgi.com Signed-off-by: Ingo Molnar commit 2ae21010694e56461a63bfc80e960090ce0a5ed9 Author: Suresh Siddha Date: Thu Jul 10 11:16:43 2008 -0700 x64, x2apic/intr-remap: Interrupt remapping infrastructure Interrupt remapping (part of Intel Virtualization Tech for directed I/O) infrastructure. Signed-off-by: Suresh Siddha Cc: akpm@linux-foundation.org Cc: arjan@linux.intel.com Cc: andi@firstfloor.org Cc: ebiederm@xmission.com Cc: jbarnes@virtuousgeek.org Cc: steiner@sgi.com Signed-off-by: Ingo Molnar commit fe962e90cb17a8426e144dee970e77ed789d98ee Author: Suresh Siddha Date: Thu Jul 10 11:16:42 2008 -0700 x64, x2apic/intr-remap: Queued invalidation infrastructure (part of VT-d) Queued invalidation (part of Intel Virtualization Technology for Directed I/O architecture) infrastructure. This will be used for invalidating the interrupt entry cache in the case of Interrupt-remapping and IOTLB invalidation in the case of DMA-remapping. Signed-off-by: Suresh Siddha Cc: akpm@linux-foundation.org Cc: arjan@linux.intel.com Cc: andi@firstfloor.org Cc: ebiederm@xmission.com Cc: jbarnes@virtuousgeek.org Cc: steiner@sgi.com Signed-off-by: Ingo Molnar commit cf1337f0447e5be8e66daa944f0ea3bcac2b6179 Author: Suresh Siddha Date: Thu Jul 10 11:16:41 2008 -0700 x64, x2apic/intr-remap: move IOMMU_WAIT_OP() macro to intel-iommu.h move IOMMU_WAIT_OP() macro to header file. This will be used by both DMA-remapping and Intr-remapping. Signed-off-by: Suresh Siddha Cc: akpm@linux-foundation.org Cc: arjan@linux.intel.com Cc: andi@firstfloor.org Cc: ebiederm@xmission.com Cc: jbarnes@virtuousgeek.org Cc: steiner@sgi.com Signed-off-by: Ingo Molnar commit ad3ad3f6a2caebf56869b83b69e23eb9fa5e0ab6 Author: Suresh Siddha Date: Thu Jul 10 11:16:40 2008 -0700 x64, x2apic/intr-remap: parse ioapic scope under vt-d structures Parse the vt-d device scope structures to find the mapping between IO-APICs and the interrupt remapping hardware units. This will be used later for enabling Interrupt-remapping for IOAPIC devices. Signed-off-by: Suresh Siddha Cc: akpm@linux-foundation.org Cc: arjan@linux.intel.com Cc: andi@firstfloor.org Cc: ebiederm@xmission.com Cc: jbarnes@virtuousgeek.org Cc: steiner@sgi.com Signed-off-by: Ingo Molnar commit 2d6b5f85bb4ca919d8ab0f30311309b53fb93bc3 Author: Suresh Siddha Date: Thu Jul 10 11:16:39 2008 -0700 x64, x2apic/intr-remap: Fix the need for RMRR in the DMA-remapping detection Presence of RMRR structures is not compulsory for enabling DMA-remapping. Signed-off-by: Suresh Siddha Signed-off-by: Yong Y Wang Cc: Yong Y Wang Cc: akpm@linux-foundation.org Cc: arjan@linux.intel.com Cc: andi@firstfloor.org Cc: ebiederm@xmission.com Cc: jbarnes@virtuousgeek.org Cc: steiner@sgi.com Signed-off-by: Ingo Molnar commit aaa9d1dd63bf89b62f4ea9f46de376ab1a3fbc6c Author: Suresh Siddha Date: Thu Jul 10 11:16:38 2008 -0700 x64, x2apic/intr-remap: use CONFIG_DMAR for DMA-remapping specific code DMA remapping specific code covered with CONFIG_DMAR in the generic code which will also be used later for enabling Interrupt-remapping. Signed-off-by: Suresh Siddha Cc: akpm@linux-foundation.org Cc: arjan@linux.intel.com Cc: andi@firstfloor.org Cc: ebiederm@xmission.com Cc: jbarnes@virtuousgeek.org Cc: steiner@sgi.com Signed-off-by: Ingo Molnar commit 1886e8a90a580f3ad343f2065c84c1b9e1dac9ef Author: Suresh Siddha Date: Thu Jul 10 11:16:37 2008 -0700 x64, x2apic/intr-remap: code re-structuring, to be used by both DMA and Interrupt remapping Allocate the iommu during the parse of DMA remapping hardware definition structures. And also, introduce routines for device scope initialization which will be explicitly called during dma-remapping initialization. These will be used for enabling interrupt remapping separately from the existing DMA-remapping enabling sequence. Signed-off-by: Suresh Siddha Cc: akpm@linux-foundation.org Cc: arjan@linux.intel.com Cc: andi@firstfloor.org Cc: ebiederm@xmission.com Cc: jbarnes@virtuousgeek.org Cc: steiner@sgi.com Signed-off-by: Ingo Molnar commit c42d9f32443397aed2d37d37df161392e6a5862f Author: Suresh Siddha Date: Thu Jul 10 11:16:36 2008 -0700 x64, x2apic/intr-remap: fix the need for sequential array allocation of iommus Clean up the intel-iommu code related to deferred iommu flush logic. There is no need to allocate all the iommu's as a sequential array. This will be used later in the interrupt-remapping patch series to allocate iommu much early and individually for each device remapping hardware unit. Signed-off-by: Suresh Siddha Cc: akpm@linux-foundation.org Cc: arjan@linux.intel.com Cc: andi@firstfloor.org Cc: ebiederm@xmission.com Cc: jbarnes@virtuousgeek.org Cc: steiner@sgi.com Signed-off-by: Ingo Molnar commit e61d98d8dad0048619bb138b0ff996422ffae53b Author: Suresh Siddha Date: Thu Jul 10 11:16:35 2008 -0700 x64, x2apic/intr-remap: Intel vt-d, IOMMU code reorganization code reorganization of the generic Intel vt-d parsing related routines and linux iommu routines specific to Intel vt-d. drivers/pci/dmar.c now contains the generic vt-d parsing related routines drivers/pci/intel_iommu.c contains the iommu routines specific to vt-d Signed-off-by: Suresh Siddha Cc: akpm@linux-foundation.org Cc: arjan@linux.intel.com Cc: andi@firstfloor.org Cc: ebiederm@xmission.com Cc: jbarnes@virtuousgeek.org Cc: steiner@sgi.com Signed-off-by: Ingo Molnar commit 1ba89386db0a3f39590b90b5dd20d7149ae52de0 Merge: a26929f... ae94b80... Author: Ingo Molnar Date: Sat Jul 12 07:30:05 2008 +0200 Merge branch 'x86/core' into x86/x2apic commit da7878d75b8520c9ae00d27dfbbce546a7bfdfbb Merge: 0e50a4c... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 12:32:01 2008 +0200 Merge branch 'linus' into x86/pebs commit f3561810b163aca5388ad550abbbc82ae5323189 Author: Joe Buehler Date: Mon Jun 9 08:55:20 2008 -0400 x86: add PCI ID for 6300ESB force hpet 00:1f.0 ISA bridge: Intel Corporation 6300ESB LPC Interface Controller (rev 02) 00:1f.0 Class 0601: 8086:25a1 (rev 02) kernel: pci 0000:00:1f.0: Force enabled HPET at 0xfed00000 kernel: hpet clockevent registered kernel: hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0 kernel: hpet0: 3 64-bit timers, 14318180 Hz Signed-off-by: Ingo Molnar commit 7aa413def76146f7b3784228556d9e4bc562eab3 Author: Ingo Molnar Date: Thu Jun 19 13:28:11 2008 +0200 x86, MM: virtual address debug, cleanups Signed-off-by: Ingo Molnar commit a1bf9631be7332ce0641e299ddafad2d8223100f Author: Jiri Slaby Date: Thu Jun 12 13:56:40 2008 +0200 x86, MM: virtual address debug, v2 I've removed the test from phys_to_nid and made a function from __phys_addr only when the debugging is enabled (on x86_32). Signed-off-by: Jiri Slaby Cc: tglx@linutronix.de Cc: hpa@zytor.com Cc: Mike Travis Cc: Nick Piggin Cc: Cc: linux-mm@kvack.org Cc: Jiri Slaby Cc: Andi Kleen Signed-off-by: Ingo Molnar commit 59ea746337c69f6a5f1bc4d5e8544b3cbf12f801 Author: Jiri Slaby Date: Thu Jun 12 13:56:40 2008 +0200 MM: virtual address debug Add some (configurable) expensive sanity checking to catch wrong address translations on x86. - create linux/mmdebug.h file to be able include this file in asm headers to not get unsolvable loops in header files - __phys_addr on x86_32 became a function in ioremap.c since PAGE_OFFSET, is_vmalloc_addr and VMALLOC_* non-constasts are undefined if declared in page_32.h - add __phys_addr_const for initializing doublefault_tss.__cr3 Tested on 386, 386pae, x86_64 and x86_64 numa=fake=2. Contains Andi's enable numa virtual address debug patch. Signed-off-by: Jiri Slaby Cc: Andi Kleen Signed-off-by: Ingo Molnar commit 3243b4ed817fad04e56e7b7dc78ec28dc8322ff2 Author: Krzysztof Oledzki Date: Wed Jun 4 03:40:17 2008 +0200 x86: add another PCI ID for ICH6 force-hpet Tested on Asus P5GDC-V $ lspci -n -n |grep ISA 00:1f.0 ISA bridge [0601]: Intel Corporation 82801FB/FR (ICH6/ICH6R) LPC Interface Bridge [8086:2640] (rev 03) Force enabled HPET at base address 0xfed00000 hpet clockevent registered hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0 hpet0: 3 64-bit timers, 14318180 Hz Signed-off-by: Krzysztof Piotr Oledzki Signed-off-by: Ingo Molnar commit c444debaaa22011b4a84e58e5333575b3f800a33 Merge: 70ef6d5... 0665190... Author: Ingo Molnar Date: Mon Jun 16 11:25:56 2008 +0200 Merge branch 'linus' into timers/hpet commit 70ef6d595b6e51618a0cbe44b848d8c9db11a010 Author: Kevin Hao Date: Thu May 29 18:41:04 2008 +0800 x86: get irq for hpet timer HPET timer's IRQ is 0 by default. So we have to select which irq will be used by these timers. We wait to set the timer's irq until we really open it in order to reduce the chance of conflicting with other device. Signed-off-by: Kevin Hao Signed-off-by: Ingo Molnar commit 63cc8c75156462d4b42cbdd76c293b7eee7ddbfe Author: Eric Dumazet Date: Mon May 12 15:44:40 2008 +0200 percpu: introduce DEFINE_PER_CPU_PAGE_ALIGNED() macro While examining holes in percpu section I found this : c05f5000 D per_cpu__current_task c05f5000 D __per_cpu_start c05f5004 D per_cpu__cpu_number c05f5008 D per_cpu__irq_regs c05f500c d per_cpu__cpu_devices c05f5040 D per_cpu__cyc2ns c05f6000 d per_cpu__cpuid4_info c05f6004 d per_cpu__cache_kobject c05f6008 d per_cpu__index_kobject c05f7000 D per_cpu__gdt_page This is because gdt_page is a percpu variable, defined with a page alignement, and linker is doing its job, two times because of .o nesting in the build process. I introduced a new macro DEFINE_PER_CPU_PAGE_ALIGNED() to avoid wasting this space. All page aligned variables (only one at this time) are put in a separate subsection .data.percpu.page_aligned, at the very begining of percpu zone. Before patch , on a x86_32 machine : .data.percpu 30232 3227471872 .data.percpu 22168 3227471872 Thats 8064 bytes saved for each CPU. Signed-off-by: Eric Dumazet Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0e50a4c6ab94ffe7e5515b86b5df9e5abc8c6b13 Merge: 34b2cd5... f26a398... Author: Thomas Gleixner Date: Sat May 17 16:01:05 2008 +0200 Merge branch 'linus' into x86/pebs commit 34b2cd5b688b012975fcfc3b3970fc3508fa82c4 Author: Ingo Molnar Date: Sat May 17 08:30:07 2008 +0200 x86: PEBS cleanup Signed-off-by: Ingo Molnar commit 573da4224e8c3800e613d715e909c3179a7e3cb2 Author: Cyrill Gorcunov Date: Mon Apr 28 23:15:04 2008 +0400 x86: DS cleanup - dont treat 0 as NULL Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 970e725098a6da5a9c1f8128102c812e31a0444c Author: Andrew Morton Date: Wed Apr 16 16:40:17 2008 -0700 x86, ptrace: PEBS support, warning fix arch/x86/kernel/process_32.c:566: warning: unused variable 'ds_next' arch/x86/kernel/process_32.c:566: warning: unused variable 'ds_prev' Cc: Markus Metzger Cc: Andi Kleen Cc: "H. Peter Anvin" Cc: "Siddha, Suresh B" Cc: Roland McGrath Cc: Michael Kerrisk Cc: Cc: stephane eranian Cc: Jason Wessel Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 93fa7636dfdc059b25df148f230c0991096afdef Author: Markus Metzger Date: Tue Apr 8 11:01:58 2008 +0200 x86, ptrace: PEBS support Polish the ds.h interface and add support for PEBS. Ds.c is meant to be the resource allocator for per-thread and per-cpu BTS and PEBS recording. It is used by ptrace/utrace to provide execution tracing of debugged tasks. It will be used by profilers (e.g. perfmon2). It may be used by kernel debuggers to provide a kernel execution trace. Changes in detail: - guard DS and ptrace by CONFIG macros - separate DS and BTS more clearly - simplify field accesses - add functions to manage PEBS buffers - add simple protection/allocation mechanism - added support for Atom Opens: - buffer overflow handling Currently, only circular buffers are supported. This is all we need for debugging. Profilers would want an overflow notification. This is planned to be added when perfmon2 is made to use the ds.h interface. - utrace intermediate layer Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner